HTTP協議整理

URI與URLhtml

  • URI能夠分爲URL,URN或同時具有locators和names特性的一個東西
  • URN做用就好像一我的的名字,URL就像一我的的地址。
  • URN肯定了東西的身份,URL提供了找到它的方式

HTTP報文頭web

  • HTTP的報文頭大致能夠分爲四類,分別是:通用報文頭、請求報文頭、響應報文頭和實體報文頭
  • 在HTTP/1.1裏一共規範了47種報文頭字段。

通用報文頭瀏覽器

  1. 首部字段名緩存

    說明
    Cache-Control 控制緩存的行爲
    Connection 逐跳首部、鏈接的管理
    Date 建立報文的日期時間
    Pragma 報文指令
    Trailer 報文末端的首部一覽
    Transfer-Encoding 指定報文主體的傳輸編碼方式
    Upgrade 升級爲其餘協議
    Via 代理服務器的相關信息
    Warning

    錯誤通知服務器

 請求報文頭編碼

首部字段名 說明
Accept 用戶代理可處理的媒體類型
Accept-Charset 優先的字符集
Accept-Encoding 優先的內容編碼
Accept-Language 優先的語言(天然語言)
Authorization Web認證信息
Expect 期待服務器的特定行爲
From 用戶的電子郵箱地址
Host 請求資源所在服務器
If-Match 比較實體標記(ETag)
If-Modified-Since 比較資源的更新時間
If-None-Match 比較實體標記(與If-Match相反)
If-Range 資源未更新時發送實體Byte的範圍請求
If-Unmodified-Since 比較資源的更新時間(與If-Modified-Since相反)
Max-Forwoards 最大傳輸逐跳數
Proxy-Authorization 代理服務器要求客戶端的認證信息
Range 實體的字節範圍請求
Referer 對請求中URI的原始獲取方
TE 傳輸編碼的優先級
User-Agent HTTP客戶端程序的信息

響應報文頭spa

首部字段名 說明
Accept-Ranges 是否接受字節範圍請求
Age 推算資源建立通過時間
ETag 資源的匹配信息
Location 令客戶端重定向至指定URI
Proxy-Authenticate 代理服務器對客戶端的認證信息
Retry-After 對再次發起請求的時機要求
Server HTTP服務器的安裝信息
Vary 代理服務器緩存的管理信息
WWW-Authenticate 服務器對客戶端的認證信息

實體報文頭代理

首部字段名 說明
Allow 資源可支持的HTTP方法
Content-Encoding 實體主體適用的編碼方式
Content-Language 實體主體的天然語言
Content-Length 實體主體的大小(單位:字節)
Content-MD5 實體主體的報文摘要
Content-Range 實體主體的位置範圍
Content-Type 實體主體的媒體類型
Content-Location 替代對應資源的URI
Expires 實體主體過時的日期時間
Last-Modified 資源的最後修改日期時間

請求頭ACCEPT做用:瀏覽器端能夠接受的媒體類型htm

Accept: text/html 表明瀏覽器能夠接受服務器回發的類型爲 text/html,也就是咱們常說的html文檔,若是服務器沒法返回text/html類型數據,服務器應該返回一個406錯誤(Non Acceptable)ip

Accept: */* 表明瀏覽器能夠處理全部類型。

若是想要給顯示的媒體類型增長優先級,則適用q=來額外表示權重值,權重值q的範圍是0~1(可精確到小數點後3位),且1爲最大值。不指定權重值時,默認權重爲q=1.0。當服務器提供多種內容時,將會首先返回權重值最高的類型。

請求頭Accept-Encoding做用:瀏覽器申請本身接收的編碼方法,一般制定壓縮方法,是否支持壓縮,支持什麼壓縮方法(gzip,deflate)

請求頭Accept-Language做用:瀏覽器聲明本身接收的語言

Accept-Language: zh-cn,zh;q=0.7,en-us,en;q=0.3

客戶端在服務器有中文版資源的狀況下,會請求其返回中文版對應的響應,沒有中文版時,則請求返回英文版響應。

通用頭Connection

Connection: keep-alive 當一個網頁打開完成後,客戶端和服務器之間用於傳輸HTTP數據的TCP鏈接不會關閉,若是客戶端再次訪問這個服務器上的網頁,會繼續使用這一條已經創建的鏈接。

Connection: close 表明一個Request完成後,客戶端和服務器之間用於傳輸HTTP數據的TCP鏈接會關閉,當客戶端再次發送Request,須要從新創建TCP鏈接。

請求頭Host做用:請求報頭域主要用於指定被請求資源的Internet主機和端口號,它一般從HTTP URL中提取出來。

咱們在瀏覽器中輸入: http://www.abab.com:8080

瀏覽器發送的請求消息中,就會包含Host請求報頭域,以下:

Host: www.abab.com:8080

請求頭Referer做用:當瀏覽器向web服務器發送請求的時候,通常會帶上Referer,告訴服務器我是從哪一個頁面連接過來的,服務器籍此能夠得到一些信息用於處理。

相關文章
相關標籤/搜索