HTTP協(xié)議

1.介紹

HTTP(HyperText Transfer Protocol)是超文本傳輸協(xié)議。最新版本是HTTP 1.1。它的作用是從服務(wù)器傳輸超文本到本地瀏覽器。它是一個應(yīng)用層協(xié)議,是一個標(biāo)準的客戶端服務(wù)器(CS)模型。

2.在TCP/IP分層模型中的位置

HTTP協(xié)議位于第四層即應(yīng)用層。TCPIP的四層由低到高分別是網(wǎng)絡(luò)接口層,網(wǎng)際互聯(lián)層,運輸層,應(yīng)用層。http的消息分為由客戶端發(fā)往服務(wù)器的請求消息和服務(wù)器發(fā)往客戶端的響應(yīng)消息。請求消息和響應(yīng)消息都是由開始行、消息報頭、空行、消息正文組成,對于請求消息,開始行是請求行,對于響應(yīng)消息,開始行是狀態(tài)行,消息報頭和消息正文都是可選的。消息報頭分為通用報頭、請求報頭、響應(yīng)報頭、實體報頭。

3.請求消息格式

請求行
消息報頭,消息報頭對于請求消息而言包括通用信息頭、請求頭、實體頭
回車換行
請求正文
對于GET請求消息,沒有請求正文

GET /tech/jsp/userlogin HTTP/1.1 這里是請求行
Host: share.zte.com.cn 消息報頭開始
Connection: keep-alive
Cache-Control: max-age=0
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.106 Safari/537.36
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,/;q=0.8
Accept-Encoding: gzip, deflate, sdch
Accept-Language: zh-CN,zh;q=0.8 消息報頭結(jié)束

對于POST請求消息,經(jīng)常會有請求正文:

POST /tech/jsp/loginsubmit? HTTP/1.1 這里是請求行
Host: share.zte.com.cn 消息頭開始
Connection: keep-alive
Content-Length: 64
Cache-Control: max-age=0
Origin: http://share.zte.com.cn
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.106 Safari/537.36
Content-Type: application/x-www-form-urlencoded
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,/;q=0.8
Referer: http://share.zte.com.cn/tech/jsp/userlogin
Accept-Encoding: gzip, deflate
Accept-Language: zh-CN,zh;q=0.8
Cookie: TECH_LOGIN_NAME_COOKIE_KEY=10202340; TECH_LOGIN_REMEBER_COOKIE_KEY=false; JSESSIONID=D12572E7A7805CC7646E6D0E917646A2; language=zh; TECH_LOGIN_INDEX_ID_COOKIE_KEY=201605706446; TECH_LOGIN_ID_COOKIE_KEY=10202340; TECH_LOGIN_EMPIDUI_COOKIE_KEY=10202340; TECH_LOGIN_CHNAME_COOKIE_KEY=5ZGo5ZCv5omN; TECH_LOGIN_ENNAME_COOKIE_KEY="" 消息頭結(jié)束
這里是空行(原本沒有文字,只是空行)
username=xiaoming&password=1234&language_flag=zh&language=zh 請求正文

4.響應(yīng)消息格式

狀態(tài)行
消息報頭,消息報頭對于請求消息而言包括通用信息頭,響應(yīng)頭,實體頭
回車換行
響應(yīng)正文
個人認為,對于消息報頭沒有必要記住所有的分類,只需記住http消息由開始行、消息報頭、空行、消息正文組成即可。
響應(yīng)消息,不帶響應(yīng)正文:

HTTP/1.1 200 OK 這里是狀態(tài)行
Server: nginx/1.2.3 消息頭開始
Date: Sat, 09 Jul 2016 02:35:31 GMT
Content-Type: text/html;charset=UTF-8
Transfer-Encoding: chunked
Connection: keep-alive
Vary: Accept-Encoding
Vary: Accept-Encoding
P3P: CP=CAO PSA OUR IDC DSP COR ADM DEVi TAIi PSD IVAi IVDi CONi HIS IND CNT
Pragma: no-cache
Cache-Control: no-cache
Expires: Wed, 31 Dec 1969 23:59:59 GMT
Content-Language: zh
Content-Encoding: gzip 消息頭結(jié)束

響應(yīng)消息,帶響應(yīng)正文:

HTTP/1.1 200 OK 狀態(tài)行
Server: nginx/1.2.3 消息頭開始
Date: Sat, 09 Jul 2016 02:35:38 GMT
Content-Type: text/html;charset=UTF-8
Transfer-Encoding: chunked
Connection: keep-alive
Vary: Accept-Encoding
Vary: Accept-Encoding
Pragma: no-cache
Cache-Control: no-cache
Expires: Wed, 31 Dec 1969 23:59:59 GMT
Content-Language: zh
Content-Encoding: gzip 消息頭結(jié)束
這里是空行(原本沒有任何文字)
45a2...............}kw....g.+&.vd.lif.........`.;...F....F.F...Y...W0;.....!8..d...這里是響應(yīng)正文,有一大堆看不懂的字母數(shù)字和符號。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 引言 HTTP是一個屬于應(yīng)用層的面向?qū)ο蟮膮f(xié)議,由于其簡捷、快速的方式,適用于分布式超媒體信息系統(tǒng)。它于1990年...
    _燴面_閱讀 1,385評論 0 9
  • HTTP是一個屬于應(yīng)用層的面向?qū)ο蟮膮f(xié)議,由于其簡捷、快速的方式,適用于分布式超媒體信息系統(tǒng)。它于1990年提出,...
    lilinjianshu閱讀 562評論 0 1
  • 其它參考地址HTTP狀態(tài)碼引言HTTP是一個屬于應(yīng)用層的面向?qū)ο蟮膮f(xié)議,由于其簡捷、快速的方式,適用于分布式超媒體...
    daf89232a846閱讀 1,205評論 0 5
  • 筱筱醬閱讀 184評論 0 0
  • 也許有一天,你會忘記我。 但是我一定會記得你 在那里 那個我們當(dāng)初相遇的地方 想你是不需要理由的
    日落余暉閱讀 307評論 0 0

友情鏈接更多精彩內(nèi)容