?HTTP 全稱:Hyper Text Transfer Protocol 中文名:超文本傳輸協(xié)議

什么是超文本

包含有超鏈接(Link)和各種多媒體元素標(biāo)記(Markup)的文本。這些超文本文件彼此鏈接,形成網(wǎng)狀(Web),因此又" />

国产成人精品无码青草_亚洲国产美女精品久久久久∴_欧美人与鲁交大毛片免费_国产果冻豆传媒麻婆精东

15158846557 在線咨詢 在線咨詢
15158846557 在線咨詢
所在位置: 首頁(yè) > 營(yíng)銷資訊 > 網(wǎng)站運(yùn)營(yíng) > Web基礎(chǔ)之http協(xié)議

Web基礎(chǔ)之http協(xié)議

時(shí)間:2023-07-18 20:33:01 | 來(lái)源:網(wǎng)站運(yùn)營(yíng)

時(shí)間:2023-07-18 20:33:01 來(lái)源:網(wǎng)站運(yùn)營(yíng)

Web基礎(chǔ)之http協(xié)議:Http協(xié)議介紹

?HTTP 全稱:Hyper Text Transfer Protocol 中文名:超文本傳輸協(xié)議

什么是超文本

包含有超鏈接(Link)和各種多媒體元素標(biāo)記(Markup)的文本。這些超文本文件彼此鏈接,形成網(wǎng)狀(Web),因此又被稱為網(wǎng)頁(yè)(Web Page)。這些鏈接使用URL表示。最常見的超文本格式是超文本標(biāo)記語(yǔ)言HTML。

html文件->包含各種各樣的元素(URL鏈接)->形成WebPage簡(jiǎn)稱web頁(yè)面
什么是URL

URL即統(tǒng)一資源定位符(Uniform Resource Locator),用來(lái)唯一地標(biāo)識(shí)萬(wàn)維網(wǎng)中的某一個(gè)文檔。

URL由協(xié)議、主機(jī)和端口(默認(rèn)為80)以及文件名三部分構(gòu)成:

什么是超文本傳輸協(xié)議

是一種按照URL指示,將超文本文檔從一臺(tái)主機(jī)(Web服務(wù)器)傳輸?shù)搅硪慌_(tái)主機(jī)(瀏覽器)的應(yīng)用層協(xié)議,以實(shí)現(xiàn)超鏈接的功能。

Http工作原理

1.首先,當(dāng)你在瀏覽器中輸入一個(gè)網(wǎng)址的時(shí)候(https://www.baidu.com/s?ie=utf-8&f=8&rsv_bp=1&rsv_idx=1&tn=baidu&wd=%E6%9B%BE%E8%80%81%E6%B9%BF&rsv_pq=c177c4df0026ba3e&rsv_t=e001VxO8FQ8I6s1o1i0km8IYEX2%2F7PwwkwTB6FC%2FXU9Mmwz24Z4i%2BnYoP0I&rqlang=cn&rsv_enter=1&rsv_dl=tb&rsv_sug2=0&inputT=1729&rsv_sug4=1728)瀏覽器會(huì)幫你分析,你輸入的這個(gè)URL

2.其次,瀏覽器會(huì)向DNS服務(wù)器請(qǐng)求解析,該URL中的域名www.baidu.com,解析出百度服務(wù)器所在的IP地址

3.DNS服務(wù)器,會(huì)將解析出來(lái)的IP地址110.111.112.113并返回給瀏覽器。

4.瀏覽器接收到DNS返回的IP地址,立即與該IP所在的服務(wù)器建立TCP連接(80端口)。

5.瀏覽器請(qǐng)求文檔,也就是咱們常說(shuō)的html頁(yè)面,GET /index.html,并發(fā)出HTTP請(qǐng)求報(bào)文。

6.服務(wù)器給出響應(yīng),將請(qǐng)求的index.html文檔返回給瀏覽器,也就是響應(yīng)HTTP請(qǐng)求的報(bào)文。

7.TCP連接響應(yīng)完之后,釋放TCP連接。

8.最后就能顯示出,你請(qǐng)求的這個(gè)頁(yè)面了

《單身狗版HTTP工作原理》

單身狗劉大哥:瀏覽器飾

中介大哥:DNS飾

小姐姐照片:URL飾

小姐姐:服務(wù)器飾

1.首先作為單身狗的瀏覽器,在拿到一個(gè)URL(小姐姐照片)之后,先分析(意淫)...身材,臉蛋emmmmm...不可描述。

2.然后找到DNS(中介大哥),哥,你把這個(gè)小姐姐的,電話,微信,QQ...發(fā)給我唄

3.DNS(中介大哥),開始找,這個(gè)小姐姐的信息...找到手機(jī)號(hào)110.111.112.113返回給這個(gè)姓劉的單身狗(瀏覽器)

4.劉大哥拿到手機(jī)號(hào)之后,欣喜若狂,于是就開始打電話(建立TCP連接)給小姐姐。

5.劉大哥,打電話,給小姐姐,發(fā)出邀約請(qǐng)求(HTTP請(qǐng)求報(bào)文,GET /index.html)我們見一面吧,電影院,公園,酒店...都可以。

6.小姐姐,回應(yīng)劉大哥的請(qǐng)求,(HTTP響應(yīng)報(bào)文)現(xiàn)在是大夏天的公園熱,電影院又黑,我怕黑...那就酒店見吧,你開好房間等我。

7.掛掉電話,(釋放TCP連接)

8.劉大哥和小姐姐,在酒店見面,關(guān)好門,拉上窗簾,掀開被子,在床上,進(jìn)入被窩,劉大哥掏出.........自己的手表,你看我的手表是夜光的(顯示html頁(yè)面)...活該單身

訪問網(wǎng)站分析

1.瀏覽器分析超鏈接中的URL

一個(gè)URL有可能會(huì)很長(zhǎng),以 & 為分隔符每一個(gè)&后面都是一個(gè)參數(shù),如下所示:

https://www.baidu.com/s?ie=utf-8

&f=8

&rsv_bp=1

&rsv_idx=1

&tn=baidu

&wd=%E6%9B%BE%E8%80%81%E6%B9%BF

&rsv_pq=c177c4df0026ba3e

&rsv_t=e001VxO8FQ8I6s1o1i0km8IYEX2%2F7PwwkwTB6FC%2FXU9Mmwz24Z4i%2BnYoP0I&rqlang=cn&rsv_enter=1

&rsv_dl=tb

&rsv_sug2=0

&inputT=1729

&rsv_sug4=1728

2.請(qǐng)求DNS

PC(電腦)向DNS服務(wù)器110.111.112.113發(fā)出DNS QUERY請(qǐng)求,請(qǐng)http://www.driverzeng.com的A記錄。

3.DNS回復(fù)

DNS服務(wù)器,回復(fù) DNS response,解析出http://www.driverzeng.com域名對(duì)應(yīng)的三條 A 記錄

45.253.17.216

45.253.17.213

45.253.17.211

4.建立TCP連接

PC向解析出的http://www.driverzeng.com服務(wù)器地址發(fā)起tcp三次握手

發(fā)起HTTP請(qǐng)求報(bào)文

PC向http://www.driverzeng.com服務(wù)器發(fā)出GET請(qǐng)求,請(qǐng)求主頁(yè)面

5.服務(wù)器回應(yīng)

http://www.driverzeng.com服務(wù)器回應(yīng)HTTP/1.1 302 這里302是我做了跳轉(zhuǎn)所以顯示的是302,返回主頁(yè)數(shù)據(jù)包,正常來(lái)說(shuō)可以看到圖中,下面的有些網(wǎng)站返回的是 HTTP/1.1 200 OK 200是正確訪問的狀態(tài)碼

下圖中

GET那一部分內(nèi)容被稱為:請(qǐng)求頭信息

GET和HTTP之間有一個(gè)空行被稱為:請(qǐng)求空行

HTTP中的信息被稱為:回應(yīng)信息

HTTP與faa之間也有個(gè)空行被稱為:響應(yīng)空行

faa部分被稱為:主體

6.完成響應(yīng)

最后完成了數(shù)據(jù)的交互過程,TCP建立的連接經(jīng)過三次握手之后,還要經(jīng)過四次揮手,斷開連接

下圖所示:為什么有的時(shí)候狀態(tài)碼是200 有的時(shí)候是304?

頁(yè)面請(qǐng)求信息解析

General:基本信息
Response Headers:響應(yīng)的頭部信息
Request Headers:請(qǐng)求的頭部信息
基本信息

#請(qǐng)求的urlRequest URL: https://www.driverzeng.com/#請(qǐng)求方式Request Method: GET#狀態(tài)碼Status Code: 200 #遠(yuǎn)程主機(jī)IPRemote Address: 45.253.17.213:443#控制請(qǐng)求頭內(nèi)容Referrer Policy: no-referrer-when-downgrade請(qǐng)求頭信息

#請(qǐng)求的域名:authority: www.driverzeng.com#請(qǐng)求的方式:method: GET#請(qǐng)求的路徑:path: /#請(qǐng)求的協(xié)議:https:scheme: https#請(qǐng)求資源類型accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3#壓縮accept-encoding: gzip, deflate, br#語(yǔ)言accept-language: zh-CN,zh;q=0.9#緩存控制(沒有做緩存)cache-control: no-cache#保持連接:長(zhǎng)連接Connetection:keep-alive HTTP/1.1版本 #長(zhǎng)連接,一次TCP的連接可以發(fā)起多次http請(qǐng)求 HTTP/1.0版本 #短連接,一次TCP的連接只能發(fā)起一次http請(qǐng)求 還有HTTP/2.0和HTTP/3.0#請(qǐng)求的域名Host:www.driverzeng.com#登錄信息cookie: PHPSESSID=afb7d767864ce6a652caa67dde33fcfc; wordpress_test_cookie=WP+Cookie+check; wordpress_logged_in_8cb66d45a3693d7c9673d2f1eaf63f66=admin%7C1565534946%7C0cvYan2unubeCmkeb4dHfIueS0DrnA4cW8plJj9700T%7C37bb38d7b5c62837d6d82dd12eda70830752a1a37cf976d94d4ee560c75f766f; wp-settings-1=libraryContent%3Dbrowse%26editor%3Dtinymce%26hidetb%3D0%26post_dfw%3Doff%26align%3Dcenter%26imgsize%3Dlarge%26mfold%3Do; wp-settings-time-1=1564325346; player_volume=0.0896551724137931; player=no; wp-postpass_8cb66d45a3693d7c9673d2f1eaf63f66=%24P%24Bpclv.Wj97LNy8oqHuxiMGDrNAjbwc1#參數(shù):沒有緩存pragma: no-cache#谷歌自帶的(不屬于請(qǐng)求頭的內(nèi)容)upgrade-insecure-requests: 1#客戶端(用戶設(shè)備)user-agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.142 Safari/537.36響應(yīng)頭部信息

#大小Accept-Range:bytes#阿里云存儲(chǔ)保存時(shí)間ali-swift-global-savetime: 1564813833#緩存控制cache-control: no-cache, must-revalidate, max-age=0#壓縮content-encoding: gzip#內(nèi)容長(zhǎng)度content-length: 9410#返回內(nèi)容類型及字符集content-type: text/html; charset=UTF-8#返回服務(wù)器時(shí)間date: Sat, 03 Aug 2018 06:30:33 GMT#加密ideagleid: 2dfd119815648138332064260e#失效時(shí)間expires: Wed, 11 Jan 1984 05:00:00 GMT#軟鏈接link: <https://www.driverzeng.com/wp-json/>; rel="https://api.w.org/"#參數(shù):沒有緩存pragma: no-cache#使用的web軟件server: Tengine#狀態(tài)碼status: 200#指定特定站點(diǎn)允許訪問timing-allow-origin: *#渲染vary: Accept-Encoding#經(jīng)過各級(jí)緩存via: cache14.l2cm12[99,200-0,M], cache1.l2cm12[101,0], cache13.cn1300[122,200-0,M], cache4.cn1300[123,0]------------- 以下都是CDN廠商帶的 ----------------#CDN緩存是否命中x-cache: MISS TCP_MISS dirn:-2:-2#緩存版本號(hào)x-powered-by: PHP/7.1.21#緩存時(shí)間x-swift-cachetime: 0#保存時(shí)間x-swift-savetime: Sat, 03 Aug 2019 06:30:33 GMTHttp請(qǐng)求方法

請(qǐng)求頭信息

在HTTP請(qǐng)求報(bào)文中的方法(Method),是對(duì)所請(qǐng)求對(duì)象所進(jìn)行的操作,也就是一些命令。請(qǐng)求報(bào)文中的操作有:

方法(Method)含義GET請(qǐng)求讀取一個(gè)Web頁(yè)面POST附加一個(gè)命名資(如Web頁(yè)面)DELETE刪除Web頁(yè)面CONNECT用于代理服務(wù)器HEAD請(qǐng)求讀取一個(gè)Web頁(yè)面的頭部PUT請(qǐng)求存儲(chǔ)一個(gè)Web頁(yè)面TRACE用于測(cè)試,要求服務(wù)器送回收到的請(qǐng)求OPTION查詢特定選項(xiàng)

POST請(qǐng)求向指定的資源提交要被處理的數(shù)據(jù)

Http響應(yīng)方法

響應(yīng)報(bào)文中的狀態(tài)碼

狀態(tài)碼(status-code)是響應(yīng)報(bào)文狀態(tài)行中包含的一個(gè)3位數(shù)字,指明特定的請(qǐng)求是否被滿足,如果沒有滿足,原因是什么。狀態(tài)碼分為以下五類:

狀態(tài)碼含義200成功301永久重定向(跳轉(zhuǎn))302臨時(shí)重定向(跳轉(zhuǎn))304本地緩存307內(nèi)部重定向(跳轉(zhuǎn))400客戶端錯(cuò)誤401認(rèn)證失敗403找不到主頁(yè),權(quán)限不足404找不到頁(yè)面500內(nèi)部錯(cuò)誤502找不到后端主機(jī)503服務(wù)器過載504后端主機(jī)超時(shí)

頭部信息

User-Agent

User-Agent:瀏覽器標(biāo)識(shí)(操作系統(tǒng)標(biāo)識(shí);加密等級(jí)標(biāo)識(shí);瀏覽器語(yǔ)言)渲染引擎標(biāo)識(shí) 版本信息

Server

Server:響應(yīng)頭包含處理請(qǐng)求的原始服務(wù)器的軟件信息

Referer

Referer:瀏覽器向 WEB 服務(wù)器表明自己是從哪個(gè) 網(wǎng)頁(yè)/URL 獲得/點(diǎn)擊 當(dāng)前請(qǐng)求中的網(wǎng)址/URL。

HTTP重定向

Location:WEB 服務(wù)器告訴瀏覽器,試圖訪問的對(duì)象已經(jīng)被移到別的位置了,到該頭部指定的位置去取。

HTTP訪問流程圖

HTTP協(xié)議原理總結(jié)

1.用輸入域名 - > 瀏覽器跳轉(zhuǎn) - > 瀏覽器緩存 - > Hosts文件 - > DNS解析(遞歸查詢|迭代查詢) 客戶端向服務(wù)端發(fā)起查詢 - > 遞歸查詢 服務(wù)端向服務(wù)端發(fā)起查詢 - > 迭代查詢2.由瀏覽器向服務(wù)器發(fā)起TCP連接(三次握手) 客戶端 -->請(qǐng)求包連接 -syn=1 seq=x 服務(wù)端 服務(wù)端 -->響應(yīng)客戶端syn=1 ack=x+1 seq=y 客戶端 客戶端 -->建立連接 ack=y+1 seq=x+1 服務(wù)端3.客戶端發(fā)起http請(qǐng)求: 1)請(qǐng)求的方法是什么: GET獲取 2)請(qǐng)求的Host主機(jī)是: www.driverzeng.com 3)請(qǐng)求的資源是什么: /index.html 4)請(qǐng)求的端端口是什么: 默認(rèn)http是80 https是443 5)請(qǐng)求攜帶的參數(shù)是什么: 屬性(請(qǐng)求類型、壓縮、認(rèn)證、瀏覽器信息、等等) 6)請(qǐng)求最后的空行4.服務(wù)端響應(yīng)的內(nèi)容是 1)服務(wù)端響應(yīng)使用WEB服務(wù)軟件 2)服務(wù)端響應(yīng)請(qǐng)求文件類型 3)服務(wù)端響應(yīng)請(qǐng)求的文件是否進(jìn)行壓縮 4)服務(wù)端響應(yīng)請(qǐng)求的主機(jī)是否進(jìn)行長(zhǎng)連接5.客戶端向服務(wù)端發(fā)起TCP斷開(四次揮手) 客戶端 --> 斷開請(qǐng)求 fin=1 seq=x --> 服務(wù)端 服務(wù)端 --> 響應(yīng)斷開 fin=1 ack=x+1 seq=y --> 客戶端 服務(wù)端 --> 斷開連接 fin=1 ack=x+1 seq=z --> 客戶端 客戶端 --> 確認(rèn)斷開 fin=1 ack=x+1 seq=sj --> 服務(wù)端用戶訪問網(wǎng)站集群架構(gòu)流程

1.客戶端發(fā)起http請(qǐng)求,請(qǐng)求會(huì)先抵達(dá)前端的防火墻2.防火墻識(shí)別用戶身份,正常的請(qǐng)求通過內(nèi)部交換機(jī)通過tcp連接后端的負(fù)載均衡,傳遞用戶的http請(qǐng)求3.負(fù)載接收到請(qǐng)求,會(huì)根據(jù)請(qǐng)求的內(nèi)容進(jìn)行下發(fā)任務(wù),通過tcp連接后端的web,轉(zhuǎn)發(fā)發(fā)用戶的http請(qǐng)求4.web接收到用戶的http請(qǐng)求后,會(huì)根據(jù)用戶請(qǐng)求的內(nèi)容進(jìn)行解析,解析分為如下: 靜態(tài)請(qǐng)求:web直接返回給負(fù)載均衡->防火墻->用戶 動(dòng)態(tài)請(qǐng)求:web向后端的動(dòng)態(tài)程序建立TCP連接,將用戶的動(dòng)態(tài)http請(qǐng)求傳遞至動(dòng)態(tài)程序->由動(dòng)態(tài)程序進(jìn)行解析5.動(dòng)態(tài)程序在解析的過程中,如果碰到查詢數(shù)據(jù)庫(kù)請(qǐng)求,則優(yōu)先與緩存建立tcp連接,并發(fā)起數(shù)據(jù)查詢操作。6.如果緩存沒有對(duì)應(yīng)的數(shù)據(jù),動(dòng)態(tài)程序再次向數(shù)據(jù)庫(kù)建立tcp連接,并發(fā)起查詢操作。7.最后數(shù)據(jù)由, 數(shù)據(jù)庫(kù)->動(dòng)態(tài)程序->緩存->web服務(wù)->負(fù)載均衡->防火墻->用戶。http相關(guān)術(shù)語(yǔ)

PV、UV、IP

假設(shè)公司有一座大廈,大廈有100人,每個(gè)人有一臺(tái)電腦和一部手機(jī),上網(wǎng)都是通過nat轉(zhuǎn)換出口,每個(gè)人點(diǎn)擊網(wǎng)站2次, 請(qǐng)問對(duì)應(yīng)的pv,uv,ip分別是多少?

那么上面的題:

PV: 100*2*2 = 400

UV: 1002*2 = 200

IP: 1

日PV千萬(wàn)量級(jí)并不大

SOA松耦合架構(gòu)

面向服務(wù)的架構(gòu)(SOA)是一個(gè)組件模型,它將應(yīng)用程序的不同功能單元(稱為服務(wù))進(jìn)行拆分,并通過這些服務(wù)之間定義良好的接口和契約聯(lián)系起來(lái)。接口是采用中立的方式進(jìn)行定義的,它應(yīng)該獨(dú)立于實(shí)現(xiàn)服務(wù)的硬件平臺(tái)、操作系統(tǒng)和編程語(yǔ)言。這使得構(gòu)建在各種各樣的系統(tǒng)中的服務(wù)可以以一種統(tǒng)一和通用的方式進(jìn)行交互。





關(guān)鍵詞:協(xié)議,基礎(chǔ)

74
73
25
news

版權(quán)所有? 億企邦 1997-2025 保留一切法律許可權(quán)利。

為了最佳展示效果,本站不支持IE9及以下版本的瀏覽器,建議您使用谷歌Chrome瀏覽器。 點(diǎn)擊下載Chrome瀏覽器
關(guān)閉