HTTP的请求头信息
1、HTTP請求報文的組成結構?
HTTP 請求報文由3部分組成(請求行+請求頭+請求體)
1、請求方法:例如最常用的GET和POST
2、請求的URL地址
3、HTTP協議名稱和版本號
4、報文頭:若干鍵值對形式的參數, 將客戶端的相關信息傳遞給服務端
5、報文體:發送給服務端的數據
2、常見HTTP請求頭屬性
Accept: 設置接受的內容類型,指瀏覽器或其他客戶端可以接受的MIME文件類型,服務器可以根據它判斷并返回適當的文件格式
Accept: */*? ? ? ? ? ?//瀏覽器支持接收任何格式
Accept: image/gif ???????//瀏覽器支持接收GIF圖像格式的資源
Accept: text/plain? ? ? ? //瀏覽器支持接收普通文本?.txt的資源
Accept: text/html ???????//瀏覽器支持接收html文本資源
例:Accept: text/plain
Accept-Charset :設置接受的字符編碼
例:Accept-Charset: utf-8?
Accept-Encoding:設置支持的內容編碼及內容編碼的優先級順序,可一次指定多種內容編碼
這里的編碼和字符編碼不同,將正常文件進行壓縮就是一種利用文件底層編碼進行的再編碼,瀏覽器數據發送的時候會將數據先根據請求數據中的Accept-Charset進行編碼,然后通過Accept-Encoding中可以接受的壓縮算法進行壓縮,這會有效減小網絡壓力
gzip:由文件壓縮程序 gzip生成的編碼格式
compress: 由 UNIX 文件壓縮程序 compress 生成的編碼格式
deflate:組合使用 zlib 格式及由 deflate 壓縮算法生成的編碼格式
例:?Accept-Encoding: gzip, deflate
Accept-Language: 設置接受的語言
Accept-Language: en-US?
Accept-Language: zh-cn,zh;q=0.5 (瀏覽器支持的語言分別是簡體中文和中文,優先支持簡體中文,zh-cn表示簡體中文;zh 表示中文)
q是權重系數,范圍 0 =< q <= 1,q 值越大,請求越傾向于獲得其“;”之前的類型表示的內容,若沒有指定 q 值,則默認為1,若被賦值為0,則用于提醒服務器哪些是瀏覽器不接受的內容類型
Connection :設置當前的事務完成后,是否會關閉網絡連接
HTTP是無狀態協議,但從HTTP/1.1起,瀏覽器默認都開啟了Keep-Alive,保持長連接特性,比如打開一個網頁后,客戶端和服務器之間用于傳輸HTTP數據的TCP連接不會關閉,如果客戶端再次訪問這個服務器上的網頁,會繼續使用這一條已經建立的TCP連接。
但是Keep-Alive不會永久保持連接,可以在不同的服務器軟件中設定保持時間
例:Connection: keep-alive?網絡連接是持久的,不會關閉,可在該連接繼續發送請求
Content-Length:設置請求體的字節長度,用十進制數字表示的八位字節的數字
例:Content-Length: 657
Content-Type:設置請求體的MIME類型,接口發送參數、接收響應數據,都需要雙方約定好使用什么格式的數據,例如 json、html,只有雙方按照約定好的格式去解析數據才能正確的收發數據
Content-Type格式:
Content-Type:type/subtype ;parameter
type:主類型,任意的字符串,如text,如果是*號代表所有;
subtype:子類型,任意的字符串,如html,如果是*號代表所有,用“/”與主類型隔開;
parameter:可選參數,如charset
常見格式:
application/json:JSON格式數據
application/x-www-form-urlencoded :post請求中默認的格式
multipart/form-data:上傳文件時需要用到的格式
image/png:png圖片格式
text/plain:純文本格式
text/html:HTML格式
application/xml:XML數據格式
示例:
Content-Type: application/json;charset:utf-8;
Content-Type: application/x-www-form-urlencoded;charset:utf-8;
referer: 包含了當前請求頁面的來源頁面的地址,即表示當前頁面是通過此來源頁面里的鏈接進入的,也稱為HTTP來源地址(HTTP Referer),可以檢查訪客從哪里來,通過這個信息,我們可以知道訪客是怎么來到當前頁面的,常被用來對付偽造的跨網站請求
例:referer:https://www.jianshu.com/
Cookie?設置服務器使用Set-Cookie發送的http cookie?
例:cookie:uuid_tt_dd=10_4605394780-1566180485366-784624; Hm_lvt_e5ef47b9f471504959267fd614d579cd=1637564807; __gads=ID=9dd23a2282c17ee5-...
總結
以上是生活随笔為你收集整理的HTTP的请求头信息的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: vscode 插件 -- writer-
- 下一篇: 【U8+】U8+客户端提示“当前应用程序