二、傳送http請求
通過連線,客戶端寫乙個ascii文字請求行,後跟0或多個http頭標,乙個空行和實現請求的任意資料。
乙個請求由四個部分組成:請求行、請求頭標、空行和請求資料
1.請求行:請求行由三個標記組成:請求方法、請求uri和http版本,它們用空格分隔。
例如:get /index.html http/1.1
http規範定義了8種可能的請求方法:
get 檢索uri中標識資源的乙個簡單請求
head 與get方法相同,伺服器只返回狀態行和頭標,並不返回請求文件
post 伺服器接受被寫入客戶端輸出流中的資料的請求
put 伺服器儲存請求資料作為指定uri新內容的請求
delete 伺服器刪除uri中命名的資源的請求
options 關於伺服器支援的請求方法資訊的請求
trace web伺服器反饋http請求和其頭標的請求
connect 已文件化但當前未實現的乙個方法,預留做隧道處理
2.請求頭標:由關鍵字/值對組成,每行一對,關鍵字和值用冒號(:)分隔。
請求頭標通知伺服器有關於客戶端的功能和標識,典型的請求頭標有:
user-agent 客戶端廠家和版本
accept 客戶端可識別的內容型別列表
content-length 附加到請求的資料位元組數
3.空行:最後乙個請求頭標之後是乙個空行,傳送回車符和退行,通知伺服器以下不再有頭標。
4.請求資料:使用post傳送資料,最常使用的是content-type和content-length頭標。
三、服務端接受請求並返回http響應
web伺服器解析請求,定位指定資源。伺服器將資源副本寫至套接字,在此處由客戶端讀取。
乙個響應由四個部分組成;狀態行、響應頭標、空行、響應資料
1.狀態行:狀態行由三個標記組成:http版本、響應**和響應描述。
http版本:向客戶端指明其可理解的最高版本。
響應**:3位的數字**,指出請求的成功或失敗,如果失敗則指出原因。
響應描述:為響應**的可讀性解釋。
例如:http/1.1 200 ok
http響應碼:
1xx:資訊,請求收到,繼續處理
2xx:成功,行為被成功地接受、理解和採納
3xx:重定向,為了完成請求,必須進一步執行的動作
4xx:客戶端錯誤:
2.響應頭標:像請求頭標一樣,它們指出伺服器的功能,標識出響應資料的細節。
3.空行:最後乙個響應頭標之後是乙個空行,傳送回車符和退行,表明伺服器以下不再有頭標。
4.響應資料:html文件和影象等,也就是html本身。
http請求報頭和響應報頭(1)
1.web端不可避免的http快取機制,要理解快取機制,先來了解下http的請求報文和響應報文的內容 2.請求報文 2.1請求行 請求行三部分組成 請求方法 url以及版本協議 請求的方法有get head put post trace options delete以及擴充套件方法.2.2請求頭部 ...
HTTP請求報文 響應報文
connection close 伺服器傳送完請求物件後就關閉這條連線 user agent mozilla 5.0 使用者 即向伺服器傳送請求的瀏覽器型別 accept language fr 表示使用者想得到該物件的法語版本http的請求報文第一行叫做請求行,其後繼的為首部行。請求行有三個字段 ...
HTTP請求與響應報文
http協議和cookie的儲存狀態 http協議本身是一種不儲存狀態,即無狀態 stateless 協議。http協議自身不對請求和響應之間的通訊狀態進行儲存。這是為了更快的處理大量事務,為了確保協議的可伸縮性 請求報文 get index.html http 1.1 http 1.1是http的...