本篇文章給大家介紹HTTP協(xié)議相關(guān)內(nèi)容,包括HTTP協(xié)議簡(jiǎn)介,HTTP協(xié)議工作原理,請(qǐng)求報(bào)文,HTTP請(qǐng)求方法,HTTP響應(yīng)方法,用戶(hù)訪(fǎng)問(wèn)集群架構(gòu)流程,HTTP相關(guān)術(shù)語(yǔ)。
HTTP協(xié)議簡(jiǎn)介
HTTP是hyper text transfer protocol 的縮寫(xiě)
1、超文本
hyper text是超文本的意思,是包含超鏈接和各種多媒體元素標(biāo)記的文本,這些超文本文件彼此鏈接,形成網(wǎng)狀,因此又被稱(chēng)為網(wǎng)頁(yè),這些鏈接使用URL表示,最常見(jiàn)的超文本格式是超文本標(biāo)記語(yǔ)言HTML。
2、URL
URL是統(tǒng)一資源定位符,用來(lái)唯一地標(biāo)識(shí)萬(wàn)維網(wǎng)中的某一個(gè)文檔。URL由協(xié)議、主機(jī)和端口(默認(rèn)80)以及文件名三部分構(gòu)成。
URL:協(xié)議+主機(jī):端口+文件名及其路徑
3、HTTP
HTTP協(xié)議是超文本傳輸協(xié)議,是將超文本文檔從一臺(tái)主機(jī)(Web服務(wù)器)傳輸?shù)搅硪慌_(tái)主機(jī)(瀏覽器)的應(yīng)用層協(xié)議,以實(shí)現(xiàn)超鏈接的功能。
HTTP工作原理
HTTP工作原理:請(qǐng)求/響應(yīng)交互模型
用戶(hù)在點(diǎn)擊URL后,瀏覽器和Web服務(wù)器執(zhí)行以下的動(dòng)作:
1、瀏覽器分析超鏈接的URL
2、瀏覽器向DNS請(qǐng)求解析URL的IP地址
3、DNS將解析出來(lái)的IP地址返回給瀏覽器
4、瀏覽器與服務(wù)器建立TCP鏈接(80端口)
5、瀏覽器請(qǐng)求文檔(請(qǐng)求方法、請(qǐng)求路徑)
6、服務(wù)器給出響應(yīng),將請(qǐng)求路徑的文檔返回給瀏覽器
7、釋放TCP鏈接
8、瀏覽器顯示請(qǐng)求文檔的內(nèi)容
請(qǐng)求報(bào)文
請(qǐng)求報(bào)文由請(qǐng)求行、請(qǐng)求頭部、空行、請(qǐng)求數(shù)據(jù),四個(gè)部分組成。
HTTP請(qǐng)求方法
常見(jiàn)的請(qǐng)求報(bào)文中的方法
方法 | 含義 | 方法 | 含義 |
GET | 請(qǐng)求讀取一個(gè)Web頁(yè)面 | HTAD | 請(qǐng)求讀取一個(gè)Web頁(yè)面的首部 |
POST | 提交要被處理的數(shù)據(jù) | PUT | 請(qǐng)求存儲(chǔ)一個(gè)Web頁(yè)面 |
DELETE | 刪除Web頁(yè)面 | TRACE | 用于測(cè)試,要求服務(wù)器送回收到的請(qǐng)求 |
CONNECT | 用于代理服務(wù)器 | OPTION | 查詢(xún)特定選項(xiàng) |
HTTP響應(yīng)
狀態(tài)碼是響應(yīng)報(bào)文狀態(tài)行中包含的一個(gè)3位數(shù)字,指明特定的請(qǐng)求是否被滿(mǎn)足,如果沒(méi)有滿(mǎn)足,原因是什么,狀態(tài)碼分為以下五類(lèi)
狀態(tài)碼 | 含義 | 例子 |
1xx | 通知信息 | 100=服務(wù)器正在處理客戶(hù)請(qǐng)求 |
2xx | 成功 | 200=請(qǐng)求成功 |
3xx | 重定向 | 301=永久重定向,302=臨時(shí)重定向,304=緩存 |
4xx | 客戶(hù)錯(cuò)誤 | 403=沒(méi)有權(quán)限,404=沒(méi)有目錄 |
5xx | 服務(wù)器錯(cuò)誤 | 500=服務(wù)器內(nèi)部錯(cuò)誤,503=以后再試 |
HTTP頭部
頭 | 類(lèi)型 | 說(shuō)明 |
User-Agent | 請(qǐng)求 | 關(guān)于瀏覽器和它平臺(tái)的信息 |
Accept | 請(qǐng)求 | 客戶(hù)能處理的頁(yè)面的類(lèi)型,如text/html |
Accept-Charset | 請(qǐng)求 | 客戶(hù)可以接受的字符集,如Unicode-1-1 |
Accept-Encoding | 請(qǐng)求 | 客戶(hù)能處理的頁(yè)面編碼方法,如gzip |
Accept-Language | 請(qǐng)求 | 客戶(hù)能處理的自然語(yǔ)言,如en英語(yǔ),zh-cn簡(jiǎn)體中文 |
Host | 請(qǐng)求 | 服務(wù)器的DNS名稱(chēng),從URL中提取出來(lái),必需 |
Referer | 請(qǐng)求 | 用戶(hù)從該URL代表的頁(yè)面觸發(fā)訪(fǎng)問(wèn)當(dāng)前請(qǐng)求的頁(yè)面 |
Cookie | 請(qǐng)求 | 將以前設(shè)置的Cookie送回服務(wù)器,可用來(lái)作為會(huì)話(huà)信息 |
Date | 雙向 | 消息被發(fā)送(接收)的日期和時(shí)間 |
Server | 響應(yīng) | 關(guān)于服務(wù)器的信息,如Microsoft-IIS/6.0 |
Content-Encoding | 響應(yīng) | 內(nèi)容是如何被編碼(gzip) |
Content-Language | 響應(yīng) | 頁(yè)面所使用的自然語(yǔ)言 |
Content-Length | 響應(yīng) | 以字節(jié)計(jì)算的頁(yè)面長(zhǎng)度 |
Content-Type | 響應(yīng) | 頁(yè)面的MIME類(lèi)型 |
Last-Modified | 響應(yīng) | 頁(yè)面最后被修改的時(shí)間和日期,在頁(yè)面緩存機(jī)制中意義重大 |
Location | 響應(yīng) | 指示客戶(hù)將請(qǐng)求發(fā)送給別處,即重定向到另一URL |
Set-Cookie | 響應(yīng) | 服務(wù)器希望客戶(hù)保存一個(gè)Cookie |
用戶(hù)訪(fǎng)問(wèn)網(wǎng)站集群架構(gòu)流程
1.客戶(hù)端發(fā)起http請(qǐng)求,請(qǐng)求會(huì)先抵達(dá)前端的防火墻
2.防火墻識(shí)別用戶(hù)身份,正常的請(qǐng)求通過(guò)內(nèi)部交換機(jī)通過(guò)tcp連接后端的負(fù)載均衡,傳遞用戶(hù)的http請(qǐng)求
3.負(fù)載接收到請(qǐng)求,會(huì)根據(jù)請(qǐng)求的內(nèi)容進(jìn)行下發(fā)任務(wù),通過(guò)tcp連接后端的web,轉(zhuǎn)發(fā)用戶(hù)的http請(qǐng)求
4.web接收到用戶(hù)的http請(qǐng)求后,會(huì)根據(jù)用戶(hù)請(qǐng)求的內(nèi)容進(jìn)行解析,解析分為如下:
靜態(tài)請(qǐng)求:web直接返回給負(fù)載均衡->防火墻->用戶(hù)
動(dòng)態(tài)請(qǐng)求:web向后端的動(dòng)態(tài)程序建立TCP連接,將用戶(hù)的動(dòng)態(tài)http請(qǐng)求傳遞至動(dòng)態(tài)程序->由動(dòng)態(tài)程序進(jìn)行解析
5.動(dòng)態(tài)程序在解析的過(guò)程中,如果碰到查詢(xún)數(shù)據(jù)庫(kù)請(qǐng)求,則優(yōu)先與緩存建立tcp連接,并發(fā)起數(shù)據(jù)查詢(xún)操作。
6.如果緩存沒(méi)有對(duì)應(yīng)的數(shù)據(jù),動(dòng)態(tài)程序再次向數(shù)據(jù)庫(kù)建立tcp連接,并發(fā)起查詢(xún)操作。
7.最后數(shù)據(jù)由, 數(shù)據(jù)庫(kù)->動(dòng)態(tài)程序->緩存->web服務(wù)->負(fù)載均衡->防火墻->用戶(hù)。
HTTP相關(guān)術(shù)語(yǔ)
PV UV IP
PV:打開(kāi)一個(gè)頁(yè)面,訪(fǎng)問(wèn)一次頁(yè)面稱(chēng)為一次PV,產(chǎn)生了一次瀏覽,由于緩存問(wèn)題,沒(méi)法明確統(tǒng)計(jì)點(diǎn)擊次數(shù),有緩存服務(wù)器顯示次數(shù)會(huì)少。(也有人說(shuō)一次請(qǐng)求是一次PV,概念比較模糊)
UV:獨(dú)立的設(shè)備(一個(gè)設(shè)備表示一個(gè)UV)
IP:表示獨(dú)立的IP地址,是指公網(wǎng)IP
SOA
SOA(Service-Oriented Architecture 服務(wù)導(dǎo)向架構(gòu))是一種面向服務(wù)的松耦合架構(gòu),它將應(yīng)用程序中的功能劃分成一組可重用且獨(dú)立的服務(wù)單元。每個(gè)服務(wù)單元都具有明確定義的接口和對(duì)外暴露的操作,這些操作可以通過(guò)互聯(lián)網(wǎng)或企業(yè)內(nèi)部網(wǎng)絡(luò)進(jìn)行訪(fǎng)問(wèn)和調(diào)用。
SOA的最大優(yōu)勢(shì)在于其松散耦合的設(shè)計(jì),使得服務(wù)能夠相對(duì)獨(dú)立地進(jìn)行開(kāi)發(fā)、部署、更新和維護(hù),從而提高了整個(gè)系統(tǒng)的可擴(kuò)展性、靈活性和可維護(hù)性。
SOA架構(gòu)還可以幫助組織實(shí)現(xiàn)更好的業(yè)務(wù)流程管理和IT資源分配,因?yàn)樵摷軜?gòu)可以通過(guò)標(biāo)準(zhǔn)化的接口和協(xié)議(例如SOAP、WSDL、UDDI等)進(jìn)行交互,而不需要依賴(lài)特定的平臺(tái)、語(yǔ)言或技術(shù)。另外,SOA還可以幫助企業(yè)實(shí)現(xiàn)基于服務(wù)的架構(gòu)和組件化的開(kāi)發(fā)模式,從而提高軟件復(fù)用度和開(kāi)發(fā)效率。
HTTP1.1,不支持并發(fā),但是通過(guò)多次握手方式實(shí)現(xiàn)并發(fā),最多6-8次同時(shí)握手。HTTP2.0就支持并發(fā)了。
我是koten,10年運(yùn)維經(jīng)驗(yàn),持續(xù)分享運(yùn)維干貨,感謝大家的閱讀和關(guān)注!文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-443146.html
?文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-443146.html
到了這里,關(guān)于【運(yùn)維知識(shí)進(jìn)階篇】集群架構(gòu)-HTTP協(xié)議詳解的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!