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 請求方法有 ...