http請求
request line + header + body(header分為普通報頭,請求報頭和實體報頭)
header與body之間有一空行(CRLF)
-
request line是由請求方法,url字段以及http協(xié)議版本字段三個部分組成,他們之間用空格分開
http_request報文格式 請求方法有:Get,Post,Head,Put,Delete等
1.Get方法:當客戶端要從服務器讀取數(shù)據(jù)時,點擊網(wǎng)頁上的鏈接,或者通過在瀏覽器的地址欄輸入網(wǎng)址來瀏覽網(wǎng)頁的,使用的都是GET方式.GET的方法要求服務器將URL定位的資源放在響應報文的數(shù)據(jù)部分,回送給客戶端.
2.Post方法:適合使用GET方式的情況下,可以使用POST方式,因為使用POST的方法允許客戶端給服務端提供較多的信息.POST方法向服務器提交數(shù)據(jù),比如表單的數(shù)據(jù)的提交。GET的方法一般用于獲取/查詢資源信息。
常用的請求頭
- Accept:瀏覽器可接受的媒體(MIME)類型
- Accept-Language:瀏覽器所希望的語言種類
- Accept-Encoding:瀏覽器能夠解碼的編碼方法,如gzip,deflate等
- User-Agent:告訴HTTP服務器, 客戶端使用的操作系統(tǒng)和瀏覽器的名稱和版本
- Connection:表示是否需要持久連接,Keep-Alive表示長連接,close表示短連接
http響應
status line + header + body(header分為普通報頭,請求報頭和實體報頭)
狀態(tài)行(status line)由http版本,狀態(tài)碼和狀態(tài)碼描述文本三部分組成.
-
header與body之間有一空行(CRLF)
http_reponse報文格式 狀態(tài)響應碼
1XX 提示信息 - 表示請求已被成功接收,繼續(xù)處理
2XX 成功 - 表示請求已被成功接收,理解,接受
3XX 重定向 - 要完成請求必須進行更進一步的處理
4XX 客戶端錯誤 - 請求有語法錯誤或請求無法實現(xiàn)
5XX 服務器端錯誤 - 服務器執(zhí)行一個有效請求失敗
*HTTP1.1 使用持久連接keep-alive,所謂持久連接,就是服務器在發(fā)送響應后仍然在一段時間內保持這條連接,允許在同一個連接中存在多次數(shù)據(jù)請求和響應,即在持久連接情況下,服務器在發(fā)送完響應后并不關閉TCP 連接,而客戶端可以通過這個連接繼續(xù)請求其他對象

