http概述
在web中,無論是瀏覽器還是伺服器都是通過http相互通訊的。那麼http是如何工作的呢?
首先,客戶端向伺服器傳送http請求,伺服器會在http響應中回送所請求的資料。如圖:
在http響應時,web伺服器會為所有http物件資料附加乙個**型別:即mime型別(multipurpose internet mail extension)的資料格式標籤。如:content-type:image/jpeg,它是一種文字標記,表示一種主要的物件型別和乙個特定的子型別。
每個web伺服器資源都有乙個名字,被稱為統一資源識別符號(uniform resource identifier),如: uri 有兩種形式: url和 urn。大部分url都遵循一種標準格式,包含三個部分:方案(如http://)、網際網路位址(如www.baidu.com)、伺服器上的某個資源(如image/banner.png),且現在幾乎所有的uri都是url。
接下來我們分析一下http請求的內容和http響應的內容。
如圖,有http報文的舉例。其中,get是一種方法,這個方法會告訴伺服器會執行什麼動作。
200是http響應報文的乙個狀態碼,200表示文件正確返回,302表示redirect,重定向,去其他地方獲取資源,404表示not found,無法找到這個資源。http報文包括三個部分,起始行、首部字段、主體
關於http大概就是以上內容了,下面介紹tcp協議,看報文如何通過它從乙個地方搬移到另乙個地方去。從網路層來說,http位於應用層,tcp則是位於傳輸層。
在客戶端向伺服器傳送報文之前,需要用網際協議(internet protocol ip)位址和埠號在客戶端和伺服器之間建立一條tcp/ip連線。如:其中,80是埠號。
接下來是web的結構元件。其中包括**(位於客戶端和伺服器之間的http中間實體)、快取(http的倉庫,使常用頁面額副本可以儲存在離客戶端更近的地方)、閘道器(連線其他應用程式的特殊web伺服器)、隧道(對http通訊報文進行盲**的特殊**)、agent**(發起自動http請求的半智慧型web客戶端)。關於結構元件接下來還會詳細介紹。
HTTP權威指南閱讀筆記一 HTTP概述
http協議版本 1 http 0.9 http的1991原型版本稱為http 0.9。這個協議有很多嚴重的缺陷,只應該用與與老客戶端的互動。http 0.9只支援get方法,不支援多 內容的mime型別,各種http首部,或者版本號。http 0.9定義的初衷是為了獲取簡單的html物件,它很快就...
HTTP權威指南閱讀筆記一 HTTP概述
http協議版本 1 http 0.9 http的1991原型版本稱為http 0.9。這個協議有很多嚴重的缺陷,只應該用與與老客戶端的互動。http 0.9只支援get方法,不支援多 內容的mime型別,各種http首部,或者版本號。http 0.9定義的初衷是為了獲取簡單的html物件,它很快就...
HTTP權威指南 1 1HTTP概述
事務報文 連線版本歷程 web的結構元件 http是可靠資料傳輸協議,其傳輸過程確保資料的完整正確,無需進一步關注傳輸過程的控制。客戶端與伺服器架構,伺服器儲存相應的web內容資料,客戶端提出請求,伺服器響應,通過報文對應完成資源請求的通訊。其中資源內容寄存於伺服器中,其形式多樣,可以是靜態的檔案,...