HTTP協(xié)議采用了請求/響應(yīng)模型??蛻舳讼蚍?wù)器發(fā)送一個請求,請求頭包含請求的方法、URL、協(xié)議版本、以及包含請求修飾符、客戶信息和內(nèi)容的類似于MIME的消息結(jié)構(gòu)。服務(wù)器以一個狀態(tài)行作為響應(yīng),響應(yīng)的內(nèi)容包括消息協(xié)議的版本,成功或者錯誤編碼加上包含服務(wù)器信息、實體元信息以及可能的實體內(nèi)容。
HTTP過程
1、建立TCP連接
2、發(fā)送請求
3、返回數(shù)據(jù)
4、斷開連接
請求方式
GET、POST、HEAD、PUT、DELETE、OPTIONS
GET、POST的區(qū)別
GET:主要是為了接收消息,參數(shù)在鏈接里,可見,不安全,傳輸數(shù)據(jù)量有限制,編碼有限制
POST:主要為了發(fā)消息,參數(shù)在請求實體內(nèi),不可見,相對安全,傳輸無限制,編碼無限制
狀態(tài)碼
200:正常
3xx:重定向
400:Bad request
401:Unauthorized 需要用戶名密碼
402:代碼無法使用
403:forbidden 禁止
404:not found
414:get請求太長
500:服務(wù)器錯誤
503:服務(wù)器過載
504:網(wǎng)關(guān)超時
請求報文格式
請求行(開始行)、通用頭信息、請求頭、實體頭、報文主體
響應(yīng)報文格式
狀態(tài)行(開始行)、通用頭信息、響應(yīng)頭、實體頭、報文主體
請求和響應(yīng)各部分包含的內(nèi)容
1、請求行:方法 URL 版本號
2、狀態(tài)行:版本號 狀態(tài)碼 短語
3、通用頭:Date、cache-control、connection、transfer-encoding、keep-alive。。。
4、請求頭:Host、accept、accept-encoding、accept-charset、accept-language、user-agent。。。
5、響應(yīng)頭:location、server。。。
6、實體頭:allow、content-type、content-encoding、content-range、content-language、content-length。。。