http請求之頭部資訊引數詳解

2021-10-02 00:21:08 字數 3601 閱讀 6100

**request url**: http://***x/login   請求位址

**request method**: post 請求方式

**status code**: 302 請求狀態碼

**remote address**: ***:8080 遠端位址

**referrer policy**: no-referrer-when-downgrade

**no-referrer-when-downgrade** (預設值)

在沒有指定任何策略的情況下使用者**的預設行為。在同等安全級別的情況下,引用頁面的位址會被傳送(https->https),但是在降級的情況下不會被傳送 (https->http)。

**no-referrer**

整個 referer 首部會被移除。訪問**資訊不隨著請求一起傳送

cache-control: no-cache, no-store, max-age=0, must-revalidate

no-cache: 告訴瀏覽器、快取伺服器,不管本地副本是否過期,使用資源副本前,一定要到源伺服器進行副本有效性校驗。

html設定cache-control:no-cache/ no-store來禁止頁面快取

max-age=5(表示當訪問此網頁後的5秒內再次訪問不會去伺服器)

max-age=0表示不管response怎麼設定,在重新獲取資源之前,先檢驗etag/last-modified

must-revalidate:告訴瀏覽器、快取伺服器,本地副本過期前,可以使用本地副本;本地副本一旦過期,必須去源伺服器進行有效性校驗。

**content-length**: 0      設定請求體的位元組長度
**expires**: 0    表示立即過期
在web程式設計中,有時為了防止重複的提交或者嚴格的次序等,必須讓使用者的資料立即在使用後就過期,當使用者後退時就顯示過期而不能繼續使用。也算是為安全考慮的吧。一般,response.expires寫在頁面的最上端,後面跟的是乙個時間,就是過期的時間,0表示立即過期。

**pragma: no-cache** 防止頁面被快取
防止從快取中返回過去的資源,請求中如包含該命令,表示客戶端不會接收快取過的響應,必須向源放****請求如果響應中包含該命令,那麼快取伺服器不能對其資源進行快取,且源伺服器也將不在對快取伺服器請求中提出的資源有效性進行確認,且禁止其對相應資源進行快取操作

**set-cookie: jsessionid=0a0a89f47f40f085471a1e1bdef0f12f; 

path=/msbd-upms; httponly**

第一次訪問伺服器的時候,會在響應頭裡面看到set-cookie資訊(只有在首次訪問伺服器的時候才會在響應頭**現該資訊)

瀏覽器會根據響應頭的set-cookie資訊設定瀏覽器的cookie並儲存之

注意此cookie由於沒有設定cookie有效日期,所以在關閉瀏覽器的情況下會丟失掉這個cookie

當再次請求的時候(非首次請求),瀏覽器會在請求頭里將cookie傳送給伺服器(每次請求都是這樣)

path=/msbd-upms是 tomcat/conf/server.xml 中設定的路徑

如果cookie中設定了httponly屬性,那麼通過js指令碼將無法讀取到cookie資訊,這樣能有效的防止xss攻擊,竊取cookie內容,這樣就增加了cookie的安全性,即便是這樣,也不要將重要資訊存入cookie。

x-content-type-options: nosniff

對 script 和 stylesheet 在執行是通過mime 型別來過濾掉不安全的檔案

x-xss-protection有四種語法:

x-xss-protection : 0   表示禁用 xss 過濾這個功能

x-xss-protection : 1 1 表示啟用 xss 過濾

一般瀏覽器中都是預設開啟。如果檢測到跨站指令碼攻擊,瀏覽器將清除在頁面上檢測到的不安全的部分

x-xss-protection : 1; mode=block 表示啟用xss過濾器

如果檢測到攻擊,瀏覽器不會像上面的選項一樣將不安全的部分刪除,而是直接阻止整個頁面的載入

x-xss-protection : 1; report=

表示啟用 xss 過濾

如果檢測到跨站指令碼攻擊,瀏覽器會清除在頁面上檢測到的不安全的部分,

並使用report-uri的功能 post 乙個 xss 警報。

這個功能只有在 chrome 中有效果,在 ie 中無效。

accept 設定接受的內容型別

accept-charset 設定接受的字元編碼

accept-datetime 設定接受的版本時間

authorization 設定http身份驗證的憑證

accept-encoding 設定接受的編碼格式

accept-encoding: gzip, deflate
accept-language 設定接受的語言

accept-language: zh-cn,zh;q=0.9
cache-control 設定請求響應鏈上所有的快取機制必須遵守的指令

cache-control: max-age=0
connection 設定當前連線和hop-by-hop協議請求字段列表的控制選項

connection: keep-alive

connection: upgrade

content-length 設定請求體的位元組長度

content-length: 85
content-md5 設定基於md5演算法對請求體內容進行base64二進位制編碼

content-type 設定請求體的mime型別(適用post和put請求)

host 設定伺服器網域名稱和tcp埠號,如果使用的是服務請求標準埠號,埠號可以省略

origin 標識跨域資源請求(請求服務端設定access-control-allow-origin響應字段)

user-agent會告訴**伺服器,訪問者是通過什麼工具來請求的,如果是爬蟲請求,一般會拒絕,如果是使用者瀏覽器,就會應答。

transfer-encoding: chunked使用,就不必申請乙個很大的位元組陣列了,可以一塊一塊的輸出,更科學,占用資源更少

cache-control: no-cache=location

由伺服器返回的響應報文首部欄位中,若cache-control中對no-cache欄位名具體制定引數值,那麼客戶端在收到這個被指定引數值的首部字段對應的報文後,就不能快取

換言之,無引數值的首部字段可以使用快取,只能在響應中制定該引數

參考:

http頭部資訊

每個http請求和響應都會帶有相應的頭部資訊,xhr物件也提供了操作這兩種頭部 請求頭部和響應頭部 資訊的方法。1 預設情況下,在傳送xhr請求 request 的同時,還會傳送下列頭部資訊 accept 瀏覽器能夠顯示的字符集。accept charset 瀏覽器能夠顯示的字符集。accept e...

HTTP頭部資訊

http頭部資訊包括三部分 通用頭部 請求頭部 響應頭部 查詢字串引數 分別介紹 通用頭域包含請求和響應訊息都支援的頭域。request url 請求的url位址 request method 請求方法,get post put status code 狀態碼,200 為請求成功 remote ad...

HTTP頭部資訊

這篇文章為大家介紹了http頭部資訊,中英文對比分析,還是比較全面的,若大家在使用過程中遇到不了解的,可以適當參考下 http 頭部解釋 1.accept 告訴web伺服器自己接受什麼介質型別,表示任何型別,type 表示該型別下的所有子型別,type sub type。2.accept chars...