HTTP介紹

HTTP請求與響應的介紹

  1. 一次客戶端向服務端發起請求,經歷了什麼
    URL統一資源定位符,經過一個URL,能夠肯定一個惟一的地址(網址)
    例如:
    https://www.baidu.com/s?wd=he...
    https:協議
    www.baidu.com :域名 .com頂級(一級)域名 baidu是二級域名 www是三級域名
    /s:是路徑
    ?wd=hello&rsv_spt=1:查詢參數,中間用&鏈接
    #5:錨點

    可是http協議是基於TCP和IP協議的,也就是說,經過url並不能直接找到服務器,所以須要你的電信服務商,提供一個DNS服務器,它的做用就是,你輸入域名,輸出一個ip,解析這個域名到對應的ip,所以,你訪問一個域名時,DNS服務器會解析出相應的ip,你根據這個ip找到對應的服務器,服務器接收到請求,根據你的請求內容,返回對應的響應,客戶端拿到響應,下載響應,並根據用軟件展現出相應的內容。html

  2. 能夠在命令行用curl指令,模擬一次請求和響應前端

    curl -s -v -H "yangdepp: xxx" -- "https://www.baidu.com"
     -s :slient不要顯示進度條
     -v :verbose要顯示請求和響應,沒有-v則只顯示響應
     -H "yangdepp:xxx"添加一個響應頭
     -- "將要請求的網址"

    還能夠加一個POST參數
    加一個參數POST
    請求示例 curl -X POST -s -v -H "yangdepp:xxx" -- "https://www.baidu.com"chrome



    添加一個-d 上傳數據, POST帶數據的請求
    curl -X POST -d "123456789" -s -v -H "yangdepp:xxx" -- "https://www.baidu.com"服務器

  3. HTTP請求
    首先能夠在命令行進行一次http請求,在命令行輸入命令:dom

    curl -s -v -H "yangdepp: xxx" -- "https://www.baidu.com"
     -s :slient不要顯示進度條
     -v :verbose要顯示請求和響應,沒有-v則只顯示響應
     -H "yangdepp:xxx"添加一個響應頭
     -- "將要請求的網址"
     
     能夠看到http請求包含如下部分,以下圖:

    圖片描述

    其中:curl

    GET / HTTP/1.1 //獲取根目錄的內容, 協議是http版本號是1.1,用GET請求
    Host: www.baidu.com //訪問的是ip,可是要告訴他我訪問的域名
    User-Agent: curl/7.54.0 //我用的是什麼軟件 curl
    Accept: / //我接受你返回給個人任何內容
    yangdepp: xxx //可加可不加
    換行
也能夠用Chrome開發者工具查看 HTTP 請求內容
在地址欄輸入http://www.baidu.com,右鍵打開調試工具,點擊network,右下方的headers中有一個Request Headers,點擊view parsed
以下圖:

圖片描述

能夠看到與命令行的請求基本一致。
  1. HTTP響應
    在1的命令行進行HTTP請求後,後面還有一段返回的響應信息。以下圖
    圖片描述工具


    基本信息以下

    // 響應(GET)
    < HTTP/1.1 200 OK //協議
    < Accept-Ranges: bytes
    < Cache-Control: private, no-cache, no-store, proxy-revalidate, no-transform
    < Connection: Keep-Alive
    < Content-Length: 2443 //返回的內容的長度大小
    < Content-Type: text/html //返回的內容的類型是html
    < Date: Fri, 28 Sep 2018 14:25:53 GMT //返回的時間
    < Etag: "5886041d-98b"
    < Last-Modified: Mon, 23 Jan 2017 13:24:45 GMT
    < Pragma: no-cache
    < Server: bfe/1.0.8.18 //百度的前端服務器
    < Set-Cookie: BDORZ=27315; max-age=86400; domain=.baidu.com; path=/url

    <!DOCTYPE html> //返回額html內容spa

也能夠用Chrome開發者工具查看 HTTP 響應內容
依然是在地址欄輸入百度的地址,打開chrome的調試工具,點擊右下方的headers中有一個Response Headers,點擊view parsed
以下圖:

圖片描述

能夠看到和命令行獲得的響應基本一致。
相關文章
相關標籤/搜索