日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網為廣大站長提供免費收錄網站服務,提交前請做好本站友鏈:【 網站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

四 請求頭和響應頭

還記得我們前面提到的上網流程吧?

1 DNS解析,獲取A記錄,找到網站對應的IP地址

2 三次握手

三次握手之前服務器處在listen狀態 建立完三次握手之后服務器處于established狀態可以傳輸數據

Established階段的工作

1) 客戶端發起請求,告訴服務器要什么
http://www.sina.com.cn/meizi.jpg

2) 服務器接收請求:讀取請求信息內容

3) 服務器處理請求:將請求交給文件系統,讓文件系統去找文件

4) 服務器響應請求:將數據交給客戶端

a) 要不要壓縮?(取決于雙方是否支持壓縮)

b) 是否開了長連接(長連接:在服務器和客戶端建立連接之后,不會立即斷開,會等待一定時間,在此時間內如果再有數據包發送就不需要進行三次握手,可直接發送,對應的就是短連接)

3 四次斷開

在這個流程中接收請求和處理請求是在服務器內部完成的,所以呢,我們來看一下發起請求和響應請求

環境準備

為Apache生成一個web頁面

echo "hello" > /var/www/html/index.html
systemctl restart httpd
訪問測試

安裝wireshark(圖形界面查看數據包內容的工具)

[root@manage01 ~]# dnf install wireshark* -y

抓包

[root@manage01 ~]# tcpdump -nn -vvv -s 1500 -w /tmp/httpd host 172.16.121.141 and port 80 -i ens37

切換到另一臺主機訪問

curl 172.16.121.141

使用apache主機查看抓到的數據包

[root@manage01 ~]# wireshark /tmp/httpd 

 

apache-4-請求頭和響應頭

 

 

wireshark的幾面分為三部分

第一部分是數據包列表

No.: 序號

Time: 時間

Source: 源地址

Destination: 目標地址

Protocol:協議

Length:長度

info:簡介

第二部分為數據包的詳細信息

Frame&Ethernet 數據鏈路層數據,主要是mac地址和幀

Internet protocol 網絡層信息 邏輯鏈路尋址,主要是IP地址

Transmssion Control 傳輸控制,可以查看應用層信息

第三部分為16進制數據

在wireshark中如果是確認包,在選中的時候前面會有√的標記,如果是請求包會有→的標記,如果是響應包會有←的標記

我們先看一下第四個包,請求頭

 

apache-4-請求頭和響應頭

 

 


Hypertext Transfer Protocol
#HTTP協議
    GET / HTTP/1.1rn #請求信息
        [Expert Info (Chat/Sequence): GET / HTTP/1.1rn]#專家信息
            [GET / HTTP/1.1rn]
            #獲取根下的數據,http協議的版本是1.1 rn=換行符
            [Severity level: Chat]
            #嚴重級別 chat note warn error
            [Group: Sequence]
            #數據包屬于哪個組(類)
                Checksum:校驗和類
                            Sequence:序列號類
                            Response:響應類
                            Request:請求類
                            Undecoded:不能識別類
                            Reassemble:重組問題類
                            Malformed:畸形數據包類
                            Debug:不應該出現匹配此類型的數據包


        Request Method: GET
        #請求的方法是get,獲取數據,獲取的數據通過Request URI指定
        get     獲取指定的資源
        post    向指定資源提交數據進行處理,有可能導致新的資源的建立或原有資源的修改
        put     向指定資源位置上上傳其最新內容(從客戶端向服務器傳送的數據取代指定資源的內容)
        delete  刪除指定的資源
        opions 返回服務器針對特定資源所支持的HTML請求方法 或web服務器發送測試服務器功能(允許客戶端查看服務器性能)
        Trace 回顯服務器收到的請求,用于測試和診斷
        Connect 將服務器作為代理,讓服務器代替用戶去訪問其他網頁,之后將數據返回給用戶。
        Head 與get請求類似,返回的響應中沒有具體內容,用于獲取報頭
        Request URI: /
        #請求的資源信息
        Request Version: HTTP/1.1
        #請求的版本
    Host: 172.16.121.141rn
    #請求的主機信息
    User-Agent: curl/7.64.1rn
    #客戶端瀏覽器和版本
    Accept: */*rn
    rn
    #客戶端支持的內容類型,服務器會根據此內容返回信息
    內容類型主要指的是文本類,視頻,音頻,圖片等
        Accept:text/html,Application/xhtml+xm… #接受的數據類型
        Accept-Language:en-US,en;q=0.5  #語言環境
        Accept-Encoding:gzip, deflate   #是否支持壓縮,及類型
        Connection:keep-alive   #是否支持長連接
        Upgrade-Insecure-Requests:1 #客戶端優先選擇加密及帶有身份驗證的響應
        If-Modified-Since: Wed, 25 Mar 2020 12:18:04 GMT
        #把瀏覽器端緩存頁面的最后修改時間一起發到服務器去,服務器會把這個時間與服務器上實際文件的最后修改時間進行比較。如果時間一致,那么返回HTTP狀態碼304(不返回文件內容),客戶端接到之后,就直接把本地緩存文件顯示到瀏覽器中。如果時間不一致,就返回HTTP狀態碼200和新的文件內容,客戶端接到之后,會丟棄舊文件,把新文件緩存起來,并顯示到瀏覽器中。(如果客戶端是第一次訪問,不會出現此字段,因為客戶端沒有相關緩存數據)
        If-None-Match: "5-5a1acdc3a6d9e" #驗證標簽,用來幫助控制緩存驗證
    [Full request URI: http://172.16.121.141/]
    #完整的請求信息
    [HTTP request 1/1]
    #http請求進度
    [Response in frame: 6]
    #響應幀是第6幀
    [Next request in frame:8]
    #下一個請求幀

 

請求頭我們就看完了,接下來就是一個應答包

 

apache-4-請求頭和響應頭

 

 

這個應答包的作用就是服務器告訴客戶端:“你的請求我收到了,等著吧,我給你找數據”,如果客戶端收不到這個應答吧,就會再次發起請求

然后第六個就是響應包,來看下響應包當中的響應頭

Hypertext Transfer Protocol
    HTTP/1.1 200 OKrn
    #響應代碼 
        [Expert Info (Chat/Sequence): HTTP/1.1 200 OKrn]
            [HTTP/1.1 200 OKrn]
            [Severity level: Chat]
            [Group: Sequence]
        Response Version: HTTP/1.1
        #響應版本
        Status Code: 200
        #響應代碼
        [Status Code Description: OK]
        #狀態代碼介紹
        Response Phrase: OK
        #響應短語
    Date: Wed, 25 Mar 2020 02:37:05 GMTrn
    #響應時間
    Server: Apache/2.4.37 (centos)rn
    #服務器版本
    Last-Modified: Wed, 25 Mar 2020 02:33:30 GMTrn
    #服務器認定的資源做出修改的日期及時間。 它通常被用作判斷接收到的或者存儲的資源是否一致。由于精確度比ETag要低,所以這是一個備用機制。
    ETag: "6-5a1a4b1a67408"rn
    #驗證標簽,用來幫助控制緩存驗證,當瀏覽器請求服務器的某項資源(A)時, 服務器根據A算出一個哈希值,并通過 ETag 返回給瀏覽器,瀏覽器把對應的哈希值和A同時緩存在本地,當下次再次向服務器請求A時,會把這個哈希值發送給服務器,服務器再次計算A的哈希值并和剛剛接收到的哈希值做比較,如果發現A發生了變化就把A返回給瀏覽器(200),如果發現A沒有變化就給瀏覽器返回一個304未修改。這樣通過控制瀏覽器端的緩存,可以節省服務器的帶寬,因為服務器不需要每次都把全量數據返回給客戶端
    Accept-Ranges: bytesrn
    #接受范圍,如果出現此字段表示,這是一個續傳的下載(斷點續傳),bytes表示服務器可接受范圍請求的單位是bytes,none表示不支持
    Content-Length: 6rn
    #返回的數據長度,單位為字節
        [Content length: 6]
    Keep-Alive: timeout=5, max=100
    #長連接的時長及能夠處理的請求數量
    Connection:keep-alive
    #支持長連接
    Content-Type: text/html; charset=UTF-8rn
    rn
    #頁面類型,文本、圖片、視頻、音頻,及字符編碼
    [HTTP response 1/1]
    #響應進度
    [Time since request: 0.019117000 seconds]
    #響應耗時
    [Request in frame: 4]
    #請求幀是第四幀
    [Next request in frame:8]
    #下一個請求幀
    [Next response in frame:9]
    #下一個響應幀
    File Data: 6 bytes
    #數據大小
Line-based text data: text/html (1 lines)
#數據類型及相關信息
    hellon
#數據內容

以上就是http的請求頭內容和響應頭內容

1xx(臨時響應)

100: 請求者應當繼續提出請求。

101(切換協議) 請求者已要求服務器切換協議,服務器已確認并準備進行切換。

2xx(成功)
200:正確的請求返回正確的結果,如果不想細分正確的請求結果都可以直接返回200。

201:表示資源被正確的創建。比如說,我們 POST 用戶名、密碼正確創建了一個用戶就可以返回 201。
202:請求是正確的,但是結果正在處理中,這時候客戶端可以通過輪詢等機制繼續請求。
203:請求的代理服務器修改了源服務器返回的 200 中的內容,我們通過代理服務器向服務器 A 請求用戶信息,服務器 A 正常響應,但代理服務器命中了緩存并返回了自己的緩存內容,這時候它返回 203 告訴我們這部分信息不一定是最新的,我們可以自行判斷并處理。

3xx(已重定向)
300:請求成功,但結果有多種選擇。
301:請求成功,但是資源被永久轉移。比如說,我們下載的東西不在這個地址需要去到新的地址。
303:使用 GET 來訪問新的地址來獲取資源。
304:請求的資源并沒有被修改過。
308:使用原有的地址請求方式來通過新地址獲取資源。

4xx(請求錯誤)
400:請求出現錯誤,比如請求頭不對等。
401:沒有提供認證信息。
402:為以后需要所保留的狀態碼。
403:請求的資源不允許訪問。就是說沒有權限。
404:請求的內容不存在。
406:請求的資源并不符合要求。
408:客戶端請求超時。
413:請求體過大。
415:類型不正確。
416:請求的區間無效。

5xx(服務器錯誤)

500:服務器錯誤。
501:請求還沒有被實現。
502:網關錯誤。
503:服務暫時不可用。服務器正好在更新代碼重啟
505:請求的 HTTP 版本不支持。


總結

如何使用抓包工具

如何使用wireshark查看抓取到的數據包

wireshark的界面包含哪些內容

請求頭當中所包含的信息的含義

響應頭分析

常用的響應代碼含義

重點:相關工具的使用,請求頭當中包含的內容,響應頭當中包含的內容

難點:記住并理解請求頭當中所包含的信息和作用,理解響應頭中字段的含義和作用,記住常用的響應代碼功能

分享到:
標簽:apache
用戶無頭像

網友整理

注冊時間:

網站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網站吧!
最新入駐小程序

數獨大挑戰2018-06-03

數獨一種數學游戲,玩家需要根據9

答題星2018-06-03

您可以通過答題星輕松地創建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學四六

運動步數有氧達人2018-06-03

記錄運動步數,積累氧氣值。還可偷

每日養生app2018-06-03

每日養生,天天健康

體育訓練成績評定2018-06-03

通用課目體育訓練成績評定