重溫Http協議 請求報文和響應報文

2022-07-04 10:15:13 字數 1663 閱讀 7950

這相當於是一種規範,網路中資料的傳輸在位於應用之下的各層(傳輸層,應用層)來完成的,在tcp/ip協議接收到資料時,我們是不能直接使用和瀏覽的,需要先通過一種規範來進行梳理,也就是解碼,得到瀏覽器支援的一種格式,才能被我們使用.

在web開發中,熟悉http協議中的報文結構是很重要的,比如,如果對http報文不熟悉,在使用httpservletrequest很多方法的時候,就會陷入懵逼.

http報文分為請求報文和響應報文.

請求報文分為三部分:首行,請求頭,請求體.

首行包括:請求型別,url,http版本.

請求頭部儲存一些鍵值對的屬性.

請求體儲存具體內容,一般為post型別的引數.

accept:告訴服務端,該請求所能支援的響應資料型別,專業術語稱為mime 型別,上圖中表示支援text/html的響應格式.

cookie:seraph.confluence=6389808%3a04c906749aac37bbfe595ff3149ac5c17bfcd298;hm_lvt_4a7d8ec50cfd6af753c4f8aee3425070=1477401172,1479201037,1479895114; _ga=ga1.2.1021401543.1477401172; jsessionid=6c331887c562af7839384c41d590ca9a;

cookie:將客戶端的cookie放在請求頭里一併傳送給伺服器端.

referer:

cache-control:max-age=0

cache-control:對服務端返回的相應內容進行快取控制,即是否需要在客戶端儲存下來,如上表示不快取.

user-agent:使用者**,簡稱 ua,是乙個特殊字串頭,使得伺服器能夠識別客戶端使用的作業系統及版本、cpu 型別、瀏覽器及版本、瀏覽器渲染引擎、瀏覽器語言、瀏覽器外掛程式等資訊

connection:keep-alive

connection:表示客戶端與服務連線型別;keep-alive表示持久連線

更多請求頭屬性可以參考這篇文章:http響應頭和請求頭資訊對照表

響應報文也由三部分組成,首行,響應頭,響應體.

首行分為報文協議及版本,響應碼及狀態描述

1xx:資訊性狀態碼

2xx:成功狀態碼,200 表示成功

3xx:重定向狀態碼

4xx:客戶端錯誤狀態碼,404表示沒有找到請求的資源

5xx:伺服器端錯誤狀態碼,500表示內部錯誤

關於響應報文的響應頭屬性,可以詳見上面那個對照表鏈結.

需要提一下的是,我們可以通過httpservletresponse的setheader()方法來自行新增響應頭屬性.

重溫Http協議 請求報文和響應報文

這相當於是一種規範,網路中資料的傳輸在位於應用之下的各層 傳輸層,應用層 來完成的,在tcp ip協議接收到資料時,我們是不能直接使用和瀏覽的,需要先通過一種規範來進行梳理,也就是解碼,得到瀏覽器支援的一種格式,才能被我們使用.在web開發中,熟悉http協議中的報文結構是很重要的,比如,如果對ht...

重溫Http協議 請求報文和響應報文

這相當於是一種規範,網路中資料的傳輸在位於應用之下的各層 傳輸層,應用層 來完成的,在tcp ip協議接收到資料時,我們是不能直接使用和瀏覽的,需要先通過一種規範來進行梳理,也就是解碼,得到瀏覽器支援的一種格式,才能被我們使用.在web開發中,熟悉http協議中的報文結構是很重要的,比如,如果對ht...

Http協議 請求報文和響應報文

這相當於是一種規範,網路中資料的傳輸在位於應用之下的各層 傳輸層,應用層 來完成的,在tcp ip協議接收到資料時,我們是不能直接使用和瀏覽的,需要先通過一種規範來進行梳理,也就是解碼,得到瀏覽器支援的一種格式,才能被我們使用.在web開發中,熟悉http協議中的報文結構是很重要的,比如,如果對ht...