HTTP協(xié)議

HTTP協(xié)議即為HTTP/IP協(xié)議,其中HTTP為網(wǎng)絡(luò)七層中的應(yīng)用層,IP為網(wǎng)絡(luò)層。

組成

無(wú)論請(qǐng)求還是響應(yīng),都會(huì)有首行、HTTP頭正文信息,而HTTP頭發(fā)送的就是內(nèi)容類(lèi)型、日期、HTTP狀態(tài)碼等。正文就是表單數(shù)據(jù)。

請(qǐng)求首行基本格式為方法 路徑 版本,舉例:GET /simple.html HTTP/1.1。
響應(yīng)首行基本格式為版本號(hào) 狀態(tài)碼 狀態(tài)文本,舉例:HTTP/1.1 200 OK。

一個(gè)HTTP請(qǐng)求體應(yīng)該包括:
1、請(qǐng)求方式:(POST/GET);
2、path(請(qǐng)求的路徑);
3、search(請(qǐng)求的參數(shù),?后面的內(nèi)容 );
4、Host(主機(jī)名+端口);
5、protocol(請(qǐng)求協(xié)議,一般為HTTP/1.1);
【(僅POST才有的部分)
6、Content-Type(請(qǐng)求內(nèi)容加密方式):application/x-www-form-urlencoded;
7、Content-Length(請(qǐng)求內(nèi)容長(zhǎng)度):如id=2的長(zhǎng)度為4】
在一個(gè)請(qǐng)求中,可以既包括請(qǐng)求參數(shù),也包括請(qǐng)求內(nèi)容,如:

POST/index.jsp?id=3 HTTP/1.1 Host:taobao.com Content-Type:application/x-www-form-urlenconded Content-Length:9

name=bear
特點(diǎn)
  • 無(wú)狀態(tài):對(duì)傳輸?shù)臄?shù)據(jù)不具備任何記憶存儲(chǔ)功能;
  • 傳輸完畢,即斷開(kāi)連接。http 1.1及以后都保持連接。

HTTPS=HTTP+SSL信任證書(shū)。

問(wèn)答部分

  1. 提問(wèn):一用戶(hù)訪(fǎng)問(wèn)www.baidu.com,會(huì)經(jīng)過(guò)哪些流程?
    答:1、會(huì)先去瀏覽器中搜尋自身DNS緩存,找到后看是否過(guò)時(shí)效。未過(guò)時(shí)效就用;
    過(guò)了時(shí)效或未找到就重新繼續(xù)下面的請(qǐng)求。查看chrome的DNS緩存:chrome://net-internals#DNS
    2、瀏覽器搜尋操作系統(tǒng)的緩存,同1;
    3、讀取本地host文件;
    4、瀏覽器發(fā)起一個(gè)DNS的一個(gè)系統(tǒng)調(diào)用;
    向本地主控域名服務(wù)器(寬帶運(yùn)營(yíng)商提供)發(fā)起一個(gè)域名解析請(qǐng)求:
    ? 寬帶運(yùn)營(yíng)商服務(wù)器查看本身緩存;
    ? 運(yùn)營(yíng)商發(fā)起一個(gè)迭代DNS解析的請(qǐng)求;
    5、瀏覽器獲得域名對(duì)應(yīng)的IP后,發(fā)起HTTP“三次握手”,TCP/IP連接請(qǐng)求,經(jīng)過(guò)TCP/IP協(xié)議站,防火墻等;
    6、TCP/IP連接建立后,瀏覽器開(kāi)始向服務(wù)器發(fā)送HTTP請(qǐng)求;
    7、服務(wù)器接收請(qǐng)求,根據(jù)路徑參數(shù)等,經(jīng)過(guò)后臺(tái)處理,返回處理結(jié)果(如HTML代碼);
    8、瀏覽器拿到頁(yè)面代碼后,其中的靜態(tài)資源(如:css,js,圖片等)會(huì)經(jīng)歷上7步;
    9、瀏覽器渲染結(jié)果。

運(yùn)營(yíng)商迭代DNS解析的請(qǐng)求:
1)向頂級(jí)服務(wù)器發(fā)起一個(gè)請(qǐng)求,然后頂級(jí)服務(wù)器發(fā)現(xiàn)這是一個(gè)com域的服務(wù)器請(qǐng)求,向其返回com域的頂級(jí)域的IP地址;
2)向com域的IP地址發(fā)起請(qǐng)求,然后返回baidu.com域的IP地址;
3)向baidu.com域的IP地址(如萬(wàn)網(wǎng)、新網(wǎng)等)發(fā)起請(qǐng)求,拿到baidu.com的IP地址。
4)運(yùn)營(yíng)商服務(wù)器把結(jié)果(IP地址)返回給內(nèi)核并緩存起來(lái)(有一定時(shí)效)。
5)操作系統(tǒng)內(nèi)核把結(jié)果返回給瀏覽器。

參考:https://www.imooc.com/article/1851。
XXX(imooc某一前端課程,后期補(bǔ)充)。

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

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

  • Http協(xié)議詳解 標(biāo)簽(空格分隔): Linux 聲明:本片文章非原創(chuàng),內(nèi)容來(lái)源于博客園作者M(jìn)IN飛翔的HTTP協(xié)...
    Sivin閱讀 5,345評(píng)論 3 82
  • 前言:最近發(fā)現(xiàn)自己在網(wǎng)絡(luò)相關(guān)這一塊基礎(chǔ)很是欠缺,所以準(zhǔn)備花時(shí)間了解一下,本文主要是講http協(xié)議的一些基礎(chǔ),和一些...
    justCode_閱讀 2,149評(píng)論 0 23
  • HTTP概述 超文本傳輸協(xié)議(HTTP,HyperText Transfer Protocol) 是互聯(lián)網(wǎng)上應(yīng)用最...
    曹淵說(shuō)創(chuàng)業(yè)閱讀 3,954評(píng)論 2 61
  • 一、概念(載錄于:http://www.cnblogs.com/EricaMIN1987_IT/p/3837436...
    yuantao123434閱讀 8,742評(píng)論 6 152
  • 感恩手機(jī)每天早上把我叫醒; 感恩大恩上師及諸佛菩薩的加持與護(hù)佑; 感恩艷貞老師,久力老師,世麗老師對(duì)我們市場(chǎng)的幫助...
    希熱拉嘎閱讀 167評(píng)論 0 0

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