HTTP協議報文格式

2021-09-03 08:54:49 字數 2808 閱讀 8049

http是基於客戶端/服務端(c/s)的架構模型,http使用統一資源識別符號(uniform resource identifiers, uri)來傳輸資料和建立連線。一旦建立連線後,資料訊息就通過類似internet郵件所使用的格式[rfc5322]和多用途internet郵件擴充套件(mime)[rfc2045]來傳送。

客戶端傳送乙個http請求到伺服器的請求訊息包括以下格式:請求行(request line)、請求頭部(header)、空行、請求資料四個部分組成

請求行

由請求方法, url, 協議版本 三部分組成,之間由空格分隔。eg:get  /hello.text  http/1.1

請求頭部

請求頭部為請求報文新增了一些附加資訊,用來說明伺服器要使用的附加資訊,由「名/值」對組成。

字段解釋

accept

指定客戶端能夠接收的內容型別

accept-charset

瀏覽器可以接受的字元編碼集。

accept-encoding

指定瀏覽器可以支援的web伺服器返回內容壓縮編碼型別。

accept-language

瀏覽器可接受的語言

accept-ranges

可以請求網頁實體的乙個或者多個子範圍字段

authorization

http授權的授權證書

cache-control

指定請求和響應遵循的快取機制

connection

表示是否需要持久連線。(http 1.1預設進行持久連線)

cookie

http請求傳送時,會把儲存在該請求網域名稱下的所有cookie值一起傳送給web伺服器。

content-length

請求的內容長度

content-type

請求的與實體對應的mime資訊

date

請求傳送的日期和時間

expect

請求的特定的伺服器行為

from

發出請求的使用者的email

host

指定請求的伺服器的網域名稱和埠號

if-match

只有請求內容與實體相匹配才有效

if-modified-since

如果請求的部分在指定時間之後被修改則請求成功,未被修改則返回304**

if-none-match

如果內容未改變返回304**,引數為伺服器先前傳送的etag,與伺服器回應的etag比較判斷是否改變

if-range

如果實體未改變,伺服器傳送客戶端丟失的部分,否則傳送整個實體。引數也為etag

if-unmodified-since

只在實體在指定時間之後未被修改才請求成功

max-forwards

限制資訊通過**和閘道器傳送的時間

pragma

用來包含實現特定的指令

proxy-authorization

連線到**的授權證書

range

只請求實體的一部分,指定範圍

referer

先前網頁的位址,當前請求網頁緊隨其後,即來路

te客戶端願意接受的傳輸編碼,並通知伺服器接受接受尾加頭資訊

upgrade

向伺服器指定某種傳輸協議以便伺服器進行轉換(如果支援)

user-agent

user-agent的內容包含發出請求的使用者資訊

via通知中間閘道器或**伺服器位址,通訊協議

warning

關於訊息實體的警告資訊

空行

請求頭部後面的空行是必須的

請求正文

請求資料也叫主體,可以新增任意的其他資料

伺服器接收並處理客戶端發過來的請求後會返回乙個http的響應訊息。http響應也由四個部分組成,分別是:狀態行、訊息報頭、空行、響應正文

狀態行

由http協議版本號, 狀態碼, 狀態訊息 三部分組成,之間由空格分隔 。eg:http/1.1  200  ok

訊息報頭

用來說明客戶端要使用的一些附加資訊

字段解釋

cache-control

告訴瀏覽器或者其他客戶,什麼環境可以安全地快取文件

connection

當client和server通訊時對於長鏈結如何進行處理

content-encoding

資料在傳輸過程中所使用的壓縮編碼方式

content-type

資料的型別

date

資料從伺服器傳送的時間

expires

應該在什麼時候認為文件已經過期,從而不再快取它?

server

伺服器名字。servlet一般不設定這個值,而是由web伺服器自己設定

set-cookie

設定和頁面關聯的cookie

transfer-encoding

資料傳輸的方式

空行

訊息報文後面的空行是必須的

響應正文

伺服器返回給客戶端的文字資訊

HTTP協議報文格式

接下來我們看看http協議 hypertext transfer protocol 超文字傳輸協議 瀏覽器端 客戶端 向web伺服器端訪問頁面的過程和http協議報文的格式。基於http協議的客戶機訪問包括4個過程,分別是建立tcp套接字連線 傳送http請求報文 接收http應答報文和關閉tcp套...

HTTP協議報文格式

http協議 hypertext transfer protocol 超文字傳輸協議 瀏覽器端 客戶端 向web伺服器端訪問頁面的過程和http協議報文的格式。基於http協議的客戶機訪問包括4個過程,分別是建立tcp套接字連線 傳送http請求報文 接收http應答報文和關閉tcp套接字連線 1....

http協議(二 報文格式)

乙個http請求報文由請求行 request line 請求頭部 header 空行和請求資料4個部分組成,下圖給出了請求報文的一般格式。請求報文 請求報文例項 1.請求行 請求行由方法字段 url 字段 和http 協議版本字段 3 個部分組成,他們之間使用空格隔開。常用的 http 請求方法有 ...