http請求頭(header)作用 okHttp


前言
在項目開發中,網絡請求是必不可少的 ,在http方面的知識學習也是不能拉下的,這里就做一波http請求頭的記錄。

Header:請求頭個別參數和描述
Header 解釋 示例
Accept 指定客戶端能夠接收的內容類型 Accept: text/plain, text/html,application/json
Accept-Charset 瀏覽器可以接受的字符編碼集。 Accept-Charset: iso-8859-5
Accept-Encoding 指定瀏覽器可以支持的web服務器返回內容壓縮編碼類型。 Accept-Encoding: gzip, deflate, br
Accept-Language 瀏覽器可接受的語言 Accept-Language: zh-CN,zh;q=0.9
Accept-Ranges 可以請求網頁實體的一個或者多個子范圍字段 Accept-Ranges: bytes
Authorization HTTP授權的授權證書 Authorization: Basic YWxhZGRpbjpvcGVuc2VzYW1l
Cache-Control 指定請求和響應遵循的緩存機制 Cache-Control: no-cache
Connection 表示是否需要持久連接。(HTTP 1.1默認進行持久連接) Connection: keep-alive
Connection: close
Cookie HTTP請求發送時,會把保存在該請求域名下的所有cookie值一起發送給web服務器。
Cookie: PHPSESSID=298zf09hf012fh2;

 csrftoken=u32t4o3tb3gg43; _gat=1;

Content-Length 實體報頭指示該實體主體的大小,以字節為單位的十進制數,發送到接收方。 Content-Length: 348
Content-Type 請求的與實體對應的MIME信息 Content-Type: text/html; charset=utf-8
Content-Type: multipart/form-data; boundary=something
Date 請求發送的日期和時間 Date: Wed, 21 Oct 2015 07:28:00 GMT 
Expect 請求的特定的服務器行為 Expect: 100-continue
From 發出請求的用戶的Email From: webmaster@example.org
Host 指定請求的服務器的域名和端口號 指定請求的服務器的域名和端口號
If-Match 只有請求內容與實體相匹配才有效 If-Match: "bfc13a64729c4290ef5b2c2730249c88ca92d82d"

If-Match: W/"67ab43", "54ed21", "7892dd"

If-Match: *
If-Modified-Since 如果請求的部分在指定時間之后被修改則請求成功,未被修改則返回304代碼 If-Modified-Since: Wed, 21 Oct 2015 07:28:00 GMT 
If-None-Match 如果內容未改變返回304代碼,參數為服務器先前發送的Etag,與服務器回應的Etag比較判斷是否改變 If-None-Match: "bfc13a64729c4290ef5b2c2730249c88ca92d82d"

If-None-Match: W/"67ab43", "54ed21", "7892dd"

If-None-Match: *
If-Range 如果實體未改變,服務器發送客戶端丟失的部分,否則發送整個實體。參數也為Etag If-Range: Wed, 21 Oct 2015 07:28:00 GMT 
If-Unmodified-Since 只在實體在指定時間之后未被修改才請求成功 If-Unmodified-Since: Wed, 21 Oct 2015 07:28:00 GMT 
Pragma 用來包含實現特定的指令 Pragma: no-cache
Proxy-Authorization 連接到代理的授權證書 Proxy-Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==
Range 只請求實體的一部分,指定范圍 Range: bytes=200-1000, 2000-6576, 19000- 
Referer 先前網頁的地址,當前請求網頁緊隨其后,即來路 Referer: https://developer.mozilla.org/en-US/docs/Web/JavaScript
TE 客戶端願意接受的傳輸編碼,並通知服務器接受接受尾加頭信息 TE: trailers, deflate;q=0.5
User-Agent User-Agent的內容包含發出請求的用戶信息 Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) 
Mozilla/5.0 (Macintosh; Intel Mac OS X x.y; rv:42.0) 
Via 通知中間網關或代理服務器地址,通信協議 Via: 1.0 fred, 1.1 nowhere.com (Apache/1.1)
Warning 關於消息實體的警告信息 Warn: 199 Miscellaneous warning
請求頭參數按類別匯總
Authentication
WWW-Authenticate:定義應該用於訪問資源的身份驗證方法。
Authorization:包含使用服務器驗證用戶代理的憑據。
Proxy-Authenticate:定義應該用來訪問代理服務器后面資源的身份驗證方法。
Proxy-Authorization:包含使用代理服務器驗證用戶代理的憑據。
Caching
Age:對象已在代理緩存中的時間(以秒為單位)。
Cache-Control:在請求和響應中指定緩存機制的指令。
Expires:響應被視為陳舊的日期/時間。
Pragma:特定於實現的頭部可能會在請求 - 響應鏈的任何位置產生各種效果。用於向后兼容Cache-Control頭部尚不存在的 HTTP / 1.0 緩存。
Warning:包含可能問題信息的一般警告字段。
Conditionals
Last-Modified:它是驗證器,是資源的最后修改日期,用於比較同一資源的多個版本。它不太准確ETag,但在某些環境下更容易計算。有條件的請求使用If-Modified-Since和If-Unmodified-Since使用此值來更改請求的行為。
ETag:它是一個驗證程序,它是標識資源版本的唯一字符串。有條件的請求使用If-Match和If-None-Match使用此值來更改請求的行為。
If-Match:使請求有條件並僅當存儲的資源與給定的 ETags 中的一個匹配時才應用該方法。
If-None-Match:使請求有條件並僅在存儲的資源與任何給定的 ETag 不匹配時才應用該方法。這用於更新緩存(用於安全請求),或者防止在已經存在的情況下上載新資源。
If-Modified-Since:使請求有條件並期望實體僅在給定日期后被修改的情況下才被傳送。這僅用於在緩存過期時傳輸數據。
If-Unmodified-Since:使請求有條件,並期望實體僅在給定日期后未被修改的情況下才被傳送。這用於確保特定范圍的新片段與先前片段的一致性,或者在修改現有文檔時實現樂觀並發控制系統。
連接管理
Connection:控制當前事務完成后網絡連接是否保持打開狀態。
Keep-Alive:控制持續連接應保持打開狀態的時間。
內容協商
Accept:通知服務器可以發回的數據類型。它是 MIME 類型的。
Accept-Charset:通知服務器客戶端能夠理解哪些字符集。
Accept-Encoding:通知服務器有關編碼算法,通常是一種壓縮算法,可用於回送的資源。
Accept-Language:通知服務器關於服務器預期發回的語言。這是一個提示,並不一定完全在用戶的全面控制之下:服務器應始終注意不要重寫明確的用戶選擇(如在下拉列表中選擇語言)。
Cookies
Cookie:包含先前由服務器使用Set-Cookie標題發送的存儲的 HTTP Cookie 。
Set-Cookie:將 cookies 從服務器發送到用戶代理。
CORS
Access-Control-Allow-Origin:指示是否可以共享響應。
Access-Control-Allow-Credentials:指示在憑證標志為 true 時是否可以公開對請求的響應。
Access-Control-Allow-Headers:用於響應預檢請求以指示在發出實際請求時可以使用哪些 HTTP 標頭。
Access-Control-Allow-Methods:指定訪問資源以響應預檢請求時允許的方法。
Access-Control-Expose-Headers:通過列出其名稱,指示哪些頭可以作為響應的一部分公開。
Access-Control-Max-Age:指示可以緩存預檢請求結果的時間長度。
Access-Control-Request-Headers:用於發出預檢請求以讓服務器知道在實際請求發生時將使用哪些 HTTP 標頭。
Access-Control-Request-Method:用於發出預檢請求時,讓服務器知道在發出實際請求時將使用哪種 HTTP 方法。
Origin:指示獲取來源的位置。
下載
Content-Disposition:如果傳輸的資源應以內聯方式顯示(標題不存在時的默認行為),或者應該像下載一樣處理,並且瀏覽器應顯示“另存為”窗口,那么它是響應標頭。
消息正文信息
Content-Length:表示發送給收件人的實體主體的大小,以十進制數表示。
Content-Type:指示資源的媒體類型。
Content-Encoding:用於指定壓縮算法。
Content-Language:描述用於受眾的語言,以便用戶根據用戶自己的首選語言進行區分。
Content-Location:指示返回數據的備用位置。
代理
Forwarded:包含代理服務器的面向客戶端的信息,這些信息在請求路徑中包含代理時發生了改變或丟失。
X-Forwarded-For:標識通過 HTTP 代理或負載平衡器連接到 Web 服務器的客戶端的始發 IP 地址。
X-Forwarded-Host:標識客戶端用於連接到代理或負載平衡器的原始主機請求。
X-Forwarded-Proto:標識客戶端用於連接到代理或負載平衡器的協議( HTTP 或 HTTPS )。
Via:代理添加了正向和反向代理,並且可以出現在請求頭和響應頭中。
重定向
Location:指示將頁面重定向到的 URL 。
請求上下文
From:包含控制請求用戶代理的人類用戶的 Internet 電子郵件地址。
Host:指定服務器的域名(用於虛擬主機),以及(可選)指定服務器正在偵聽的 TCP 端口號。
Referer:之前的網頁的地址,從該網頁開始,鏈接到當前請求的頁面。
Referrer-Policy:管理在Referer頭文件中發送的引用者信息應包含在請求中。
User-Agent:包含允許網絡協議對等方標識請求軟件用戶代理的應用程序類型,操作系統,軟件供應商或軟件版本的特征字符串。另請參閱 Firefox 用戶代理字符串參考。
響應上下文
Allow:列出資源支持的一組 HTTP 請求方法。
Server:包含有關原始服務器用來處理請求的軟件的信息。
范圍請求
Accept-Ranges:指示服務器是否支持范圍請求,如果有,請在哪個單位范圍內表示。
Range:指示服務器應返回的文檔的一部分。
If-Range:創建一個條件范圍請求,只有當給定的 etag 或日期與遠程資源匹配時才會滿足該條件范圍請求。用於防止從資源的不兼容版本下載兩個范圍。
Content-Range:指示部分消息所屬的全身消息的位置。
安全
Content-Security-Policy(CSP):控制用戶代理允許為給定頁面加載的資源。
Content-Security-Policy-Report-Only:允許 Web 開發人員通過監視(但不強制執行)其效果來實驗策略。這些違規報告由通過 HTTP 請求發送到指定 URI 的 JSON 文檔組成POST。
Public-Key-Pins(HPKP):將特定加密公鑰與某個 Web 服務器關聯,以降低偽造證書對 MITM 攻擊的風險。Public-Key-Pins-Report-Only將報告發送到標題中指定的 report-uri ,並且仍允許客戶端連接到服務器,即使違反了鎖定。
Strict-Transport-Security(HSTS):使用 HTTPS 而不是 HTTP 強制通信。
Upgrade-Insecure-Requests:向服務器發送一個信號,表示客戶對加密和認證響應的偏好,並且可以成功處理該upgrade-insecure-requests指令。
X-Content-Type-Options:禁用 MIME 嗅探並強制瀏覽器使用中指定的類型Content-Type。
X-Frame-Options(XFO):指示是允許瀏覽器呈現<frame>,<iframe>或者<object>X-XSS-Protection中的頁面,還是啟用跨站點腳本過濾。
————————————————
版權聲明:本文為CSDN博主「freak_csh」的原創文章,遵循 CC 4.0 BY-SA 版權協議,轉載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/freak_csh/article/details/91360567


————————————————
版權聲明:本文為CSDN博主「freak_csh」的原創文章,遵循 CC 4.0 BY-SA 版權協議,轉載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/freak_csh/article/details/91360567


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM