HTTP 初步知識總結

1.HTPP報文

HTTP協議以報文的格式傳遞數據,報文有三部分組成:起始行(對報文進行描述),首部塊(包含屬性),主體(包含數據,可選)
全部的HTTP報文均可以分爲兩類:請求報文(Requset Message)和響應報文(Response Message)html

1.1起始行:

  • 請求行
    請求方法,URL,客戶端的HTTP版本
  • 響應行
    響應報文使用的HTTP版本,數字狀態碼,以及描述狀態的緣由短語

2.首部:

2.1 通用首部:

  • Connection 容許客戶端和服務器指定與鏈接有關的選項
  • Date    報文建立時間
  • MIME-Version Trailer TransferCoding Update Via
  • Keep-Alive:(只有提供Connection:Keep-Alive時會有,設置max和timeout)

2.2 通用緩存首部

  • Cache-Control 用於隨報文傳送的緩存只是
  • Pragma 隨報文傳遞指示的方式,但並不專用於緩存,優先使用Cache-Control

2.3 請求首部

  • Client-IP :運行客戶端的機器的IP地址
  • From:提供了客戶端用戶的EMail地址
  • Host:接受請求的服務器的主機地址以及端口號
  • Refer:
  • User-Agent:發起請求的應用名稱
  • UA-Color UA-CPU UA-Disp UA-OS UA-Pixels(有副總用,僅限於特殊的客戶端需求)

Accept首部
爲客戶端提供一種將其喜愛和能力告知服務器的方式。vue

  • Accept 媒體類型
  • Accept-Charset字符集
  • Accept-Encoding編碼方式+
  • Accept-Language語言

條件請求首部
經過條件請求首部,客戶端能夠爲請求加上限制,要求服務器在對請求進行響應以前,確保某個條件爲真。git

  • Expect:容許客戶端列出某請求所要求的服務器行爲
  • If-Match:若是實體標記與文檔當前的實體標記相匹配,就獲取這份文檔。
  • If-Modfified-Since:除非在某個指定的日期以後資源被修改過,不然就限制這個請求。
  • If-None-Match:若是實體標記不匹配,獲取文檔。
  • If-Range:容許對文檔的某個範圍進行條件請求。
  • If-Unmodifier-Since:除非在某個指定日期後沒有被修改過,不然就閒着這個請求
  • Range:若是服務器支持範圍請求,就請求資源的制定範圍。

安全請求首部:github

  • Authorization:包含了客戶端提供給服務器,以便進行自身認證的數據
  • cookie:一個令牌

代理請求首部:瀏覽器

  • Max-Forward:
  • Proxy-Authorization
  • Proxy-Connection

2.4 響應首部

信息性首部緩存

  • Age
  • Public
  • Retry-After
  • Server
  • Title
  • Warning

協商首部安全

  • Accept-Ranges
  • Vary

安全響應首部服務器

  • Set-Cookie

實體首部markdown

  • Allow
  • Location

2.5 內容首部

  • Content - (Base + Encoding + Language + Length + Location+ MD5 + Range+ Type)

2.6實體緩存首部

  • ETag
  • Expires
  • Last-Modified

GET方法負責從服務器獲取一個文檔
POST方法向服務器發送須要處理的數據cookie

對HTTP304的理解
當在瀏覽器裏輸入google.com並按回車的時候發什麼什麼
HTTP 狀態消息

相關文章
相關標籤/搜索