1. 程式人生 > 資訊 >奇瑞 QQ 冰淇淋微型純電動車將於成都車展正式亮相

奇瑞 QQ 冰淇淋微型純電動車將於成都車展正式亮相

HTTP

Hyper Text Transfer Protocol 超文字傳輸協議,定義了客戶端和伺服器通訊時傳送資料的格式

特點

  1. 基於TCP/IP的高階協議
  2. 預設埠號:80
  3. 基於請求/響應模型的:一次請求對應一次響應
  4. 靈活:HTTP允許傳輸任意型別的資料,正在傳輸的資料型別由Content-Type加以標記。
  5. 無狀態的:每次請求之間相互獨立,如果後續處理需要前面的資訊只能重傳

歷史版本:

  • 1.0:每一次請求響應都會建立新的連線
  • 1.1:複用連線

請求訊息資料格式

GET /login.html HTTP/1.1
Host: localhost:8080
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:88.0) Gecko/20100101 Firefox/88.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
Accept-Language: zh,en-US;q=0.7,en;q=0.3
Accept-Encoding: gzip, deflate
Connection: keep-alive
Referer: http://localhost:8080/demo1?username=zhangsan
Upgrade-Insecure-Requests: 1
If-Modified-Since: Sat, 24 Jul 2021 09:45:21 GMT
If-None-Match: W/"280-1627119921927"
  1. 請求行(第1行):請求方式 資源路徑 http版本
    GET /login.html HTTP/1.1
    http協議有7中請求方式,常用的有2種

    1. GET:
      1. 請求引數在請求行中,在url後。http://www.itcast.cn/javaForum?name=lee&psd=hnxy
      2. 傳送的資料量有限,最多2KB。
    2. POST:
      1. 請求引數在請求體中,傳遞資料的大小沒有限制
      2. 更加安全
  2. 請求頭:包含客戶端的資訊

    內容 說明
    Accept 告知伺服器,客戶瀏覽器所支援的MIME型別。
    Accept-Encoding 告知伺服器,客戶瀏覽器所支援的壓縮編碼格式。最常用的就是gzip壓縮。
    Accept-Language 告知伺服器,客戶瀏覽器所支援的語言。一般都是zh_CN或en_US等。
    Referer 告知伺服器,當前請求的來源。
    只有當前請求有來源的時候,才有這個訊息頭。從位址列輸入的沒有來源。
    作用:1 統計廣告點選次數 2 防盜鏈
    Content-Type 告知伺服器,請求正文的MIME型別。
    Content-Length 告知伺服器,請求正文的長度。
    User-Agent 瀏覽器相關資訊
    Connection: Keep-Alive 連線的狀態:保持連線
    If-Modified-Since 告知伺服器,客戶瀏覽器快取檔案的最後修改時間。
    Cookie(********) 會話管理相關,非常的重要。
  3. 空行:分割請求頭和請求體

  4. 請求體(正文):封裝POST請求引數的,GET方式沒有。

響應訊息資料格式

響應訊息:伺服器傳送給客戶端的訊息

HTTP/1.1 200 OK
Content-Type: text/html;charset=UTF-8
Content-Length: 101
Date: Wed, 06 Jun 2018 07:08:42 GMT

<html>
    <head>
        <title>$Title$</title>
    </head>
    <body>
        hello , response
    </body>
</html>
  1. 響應行

    1. 組成:協議/版本 狀態碼 狀態碼描述 HTTP/1.1 200 OK

    2. 狀態碼:

      狀態碼 說明
      200 一切都OK>
      302/307 請求重定向(客戶端行為,兩次請求,位址列發生改變)
      304 請求資源未發生變化,使用快取
      404 請求資源未找到
      500 伺服器錯誤
  2. 響應頭

    1. 格式:頭名稱: 值

    2. 常見的響應頭:

      訊息頭 說明
      Location 請求重定向的地址,常與302,307配合使用。
      Server 伺服器相關資訊。
      Content-Type 告知客戶瀏覽器,響應正文的MIME型別。
      Content-Length 告知客戶瀏覽器,響應正文的長度。
      Content-Encoding 告知客戶瀏覽器,響應正文使用的壓縮編碼格式。常用的gzip壓縮。
      Content-Language 告知客戶瀏覽器,響應正文的語言。zh_CN或en_US等等。
      Content-Disposition 告知客戶瀏覽器,以下載的方式開啟響應正文。
      Refresh 定時重新整理 Refresh:3;url=http://www.itcast.cn
      Last-Modified 伺服器資源的最後修改時間。
      Set-Cookie(*******) 會話管理相關,非常的重要
      Expires:-1 伺服器資源到客戶瀏覽器後的快取時間
      Catch-Control: no-catch 不要快取,//針對http協議1.1版本
      Pragma:no-catch 不要快取,//針對http協議1.0版本
  3. 空行

  4. 響應體:傳輸的資料,可以是html文件。