远程主机http协议版本信息泄漏_Web基础之http协议
Http協(xié)議介紹
HTTP 全稱:Hyper Text Transfer Protocol 中文名:超文本傳輸協(xié)議
什么是超文本
包含有超鏈接(Link)和各種多媒體元素標(biāo)記(Markup)的文本。這些超文本文件彼此鏈接,形成網(wǎng)狀(Web),因此又被稱為網(wǎng)頁(Web Page)。這些鏈接使用URL表示。最常見的超文本格式是超文本標(biāo)記語言HTML。
html文件->包含各種各樣的元素(URL鏈接)->形成WebPage簡稱web頁面
什么是URL
URL即統(tǒng)一資源定位符(Uniform Resource Locator),用來唯一地標(biāo)識(shí)萬維網(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ù)器請求解析,該URL中的域名www.baidu.com,解析出百度服務(wù)器所在的IP地址
3.DNS服務(wù)器,會(huì)將解析出來的IP地址110.111.112.113并返回給瀏覽器。
4.瀏覽器接收到DNS返回的IP地址,立即與該IP所在的服務(wù)器建立TCP連接(80端口)。
5.瀏覽器請求文檔,也就是咱們常說的html頁面,GET /index.html,并發(fā)出HTTP請求報(bào)文。
6.服務(wù)器給出響應(yīng),將請求的index.html文檔返回給瀏覽器,也就是響應(yīng)HTTP請求的報(bào)文。
7.TCP連接響應(yīng)完之后,釋放TCP連接。
8.最后就能顯示出,你請求的這個(gè)頁面了

《單身狗版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ā)出邀約請求(HTTP請求報(bào)文,GET /index.html)我們見一面吧,電影院,公園,酒店...都可以。
6.小姐姐,回應(yīng)劉大哥的請求,(HTTP響應(yīng)報(bào)文)現(xiàn)在是大夏天的公園熱,電影院又黑,我怕黑...那就酒店見吧,你開好房間等我。
7.掛掉電話,(釋放TCP連接)
8.劉大哥和小姐姐,在酒店見面,關(guān)好門,拉上窗簾,掀開被子,在床上,進(jìn)入被窩,劉大哥掏出.........自己的手表,你看我的手表是夜光的(顯示html頁面)...活該單身
訪問網(wǎng)站分析
1.瀏覽器分析超鏈接中的URL
一個(gè)URL有可能會(huì)很長,以 & 為分隔符每一個(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.請求DNS
PC(電腦)向DNS服務(wù)器110.111.112.113發(fā)出DNS QUERY請求,請www.driverzeng.com的A記錄。

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

4.建立TCP連接
PC向解析出的www.driverzeng.com服務(wù)器地址發(fā)起tcp三次握手

發(fā)起HTTP請求報(bào)文
PC向www.driverzeng.com服務(wù)器發(fā)出GET請求,請求主頁面

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

下圖中
GET那一部分內(nèi)容被稱為:請求頭信息
GET和HTTP之間有一個(gè)空行被稱為:請求空行
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?


頁面請求信息解析

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

#請求的域名:authority: www.driverzeng.com#請求的方式:method: GET#請求的路徑:path: /#請求的協(xié)議:https:scheme: https#請求資源類型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#語言accept-language: zh-CN,zh;q=0.9#緩存控制(沒有做緩存)cache-control: no-cache#保持連接:長連接Connetection:keep-alive HTTP/1.1版本 #長連接,一次TCP的連接可以發(fā)起多次http請求 HTTP/1.0版本 #短連接,一次TCP的連接只能發(fā)起一次http請求 還有HTTP/2.0和HTTP/3.0#請求的域名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#谷歌自帶的(不屬于請求頭的內(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)容長度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: ; 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請求方法
請求頭信息
在HTTP請求報(bào)文中的方法(Method),是對(duì)所請求對(duì)象所進(jìn)行的操作,也就是一些命令。請求報(bào)文中的操作有:
方法(Method)含義GET請求讀取一個(gè)Web頁面POST附加一個(gè)命名資(如Web頁面)DELETE刪除Web頁面CONNECT用于代理服務(wù)器HEAD請求讀取一個(gè)Web頁面的頭部PUT請求存儲(chǔ)一個(gè)Web頁面TRACE用于測試,要求服務(wù)器送回收到的請求OPTION查詢特定選項(xiàng)
POST請求向指定的資源提交要被處理的數(shù)據(jù)

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

狀態(tài)碼含義200成功301永久重定向(跳轉(zhuǎn))302臨時(shí)重定向(跳轉(zhuǎn))304本地緩存307內(nèi)部重定向(跳轉(zhuǎn))400客戶端錯(cuò)誤401認(rèn)證失敗403找不到主頁,權(quán)限不足404找不到頁面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í);瀏覽器語言)渲染引擎標(biāo)識(shí) 版本信息

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

Referer
Referer:瀏覽器向 WEB 服務(wù)器表明自己是從哪個(gè) 網(wǎng)頁/URL 獲得/點(diǎn)擊 當(dā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連接(三次握手) 客戶端 -->請求包連接 -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請求: 1)請求的方法是什么: GET獲取 2)請求的Host主機(jī)是: www.driverzeng.com 3)請求的資源是什么: /index.html 4)請求的端端口是什么: 默認(rèn)http是80 https是443 5)請求攜帶的參數(shù)是什么: 屬性(請求類型、壓縮、認(rèn)證、瀏覽器信息、等等) 6)請求最后的空行4.服務(wù)端響應(yīng)的內(nèi)容是 1)服務(wù)端響應(yīng)使用WEB服務(wù)軟件 2)服務(wù)端響應(yīng)請求文件類型 3)服務(wù)端響應(yīng)請求的文件是否進(jìn)行壓縮 4)服務(wù)端響應(yīng)請求的主機(jī)是否進(jìn)行長連接5.客戶端向服務(wù)端發(fā)起TCP斷開(四次揮手) 客戶端 --> 斷開請求 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請求,請求會(huì)先抵達(dá)前端的防火墻2.防火墻識(shí)別用戶身份,正常的請求通過內(nèi)部交換機(jī)通過tcp連接后端的負(fù)載均衡,傳遞用戶的http請求3.負(fù)載接收到請求,會(huì)根據(jù)請求的內(nèi)容進(jìn)行下發(fā)任務(wù),通過tcp連接后端的web,轉(zhuǎn)發(fā)發(fā)用戶的http請求4.web接收到用戶的http請求后,會(huì)根據(jù)用戶請求的內(nèi)容進(jìn)行解析,解析分為如下: 靜態(tài)請求:web直接返回給負(fù)載均衡->防火墻->用戶 動(dòng)態(tài)請求:web向后端的動(dòng)態(tài)程序建立TCP連接,將用戶的動(dòng)態(tài)http請求傳遞至動(dòng)態(tài)程序->由動(dòng)態(tài)程序進(jìn)行解析5.動(dòng)態(tài)程序在解析的過程中,如果碰到查詢數(shù)據(jù)庫請求,則優(yōu)先與緩存建立tcp連接,并發(fā)起數(shù)據(jù)查詢操作。6.如果緩存沒有對(duì)應(yīng)的數(shù)據(jù),動(dòng)態(tài)程序再次向數(shù)據(jù)庫建立tcp連接,并發(fā)起查詢操作。7.最后數(shù)據(jù)由, 數(shù)據(jù)庫->動(dòng)態(tài)程序->緩存->web服務(wù)->負(fù)載均衡->防火墻->用戶。
http相關(guān)術(shù)語
PV、UV、IP
假設(shè)公司有一座大廈,大廈有100人,每個(gè)人有一臺(tái)電腦和一部手機(jī),上網(wǎng)都是通過nat轉(zhuǎn)換出口,每個(gè)人點(diǎn)擊網(wǎng)站2次, 請問對(duì)應(yīng)的pv,uv,ip分別是多少?
- PV : 頁面獨(dú)立瀏覽量
- UV : 獨(dú)立設(shè)備
- IP : 獨(dú)立IP
那么上面的題:
PV: 100*2*2 = 400
UV: 1002*2 = 200
IP: 1
日PV千萬量級(jí)并不大
SOA松耦合架構(gòu)
面向服務(wù)的架構(gòu)(SOA)是一個(gè)組件模型,它將應(yīng)用程序的不同功能單元(稱為服務(wù))進(jìn)行拆分,并通過這些服務(wù)之間定義良好的接口和契約聯(lián)系起來。接口是采用中立的方式進(jìn)行定義的,它應(yīng)該獨(dú)立于實(shí)現(xiàn)服務(wù)的硬件平臺(tái)、操作系統(tǒng)和編程語言。這使得構(gòu)建在各種各樣的系統(tǒng)中的服務(wù)可以以一種統(tǒng)一和通用的方式進(jìn)行交互。

#一個(gè)電商公司,他的網(wǎng)站頁面功能會(huì)有很多 注冊 登錄 首頁 詳情頁 購物車 價(jià)格標(biāo)簽 留言 客服 支付中心 物流 倉儲(chǔ)信息 訂單相信 圖片總結(jié)
以上是生活随笔為你收集整理的远程主机http协议版本信息泄漏_Web基础之http协议的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 图标圆角角度_UI设计中图标的规范及原则
- 下一篇: 应山有学计算机编程吗,周应山-武汉纺织大