HTTP請求 響應報文格式

2021-08-17 08:45:23 字數 2207 閱讀 3145

http請求報文格式:

http請求報文主要由請求行、請求頭部、請求正文3部分組成

1,請求行

由3部分組成,分別為:請求方法、url(見備註1)以及協議版本,之間由空格分隔

請求方法包括get、head、put、post、trace、options、delete以及擴充套件方法,當然並不是所有的伺服器都實現了所有的方法,部分方法即便支援,處於安全性的考慮也是不可用的

協議版本的格式為:http/主版本號.次版本號,常用的有http/1.0和http/1.1

2,請求頭部

請求頭部為請求報文新增了一些附加資訊,由「名/值」對組成,每行一對,名和值之間使用冒號分隔

常見請求頭如下:

求頭說明

host

接受請求的伺服器位址,可以是ip:埠號,也可以是網域名稱

user-agent

傳送請求的應用程式名稱

connection

指定與連線相關的屬性,如connection:keep-alive

accept-charset

通知服務端可以傳送的編碼格式

accept-encoding

通知服務端可以傳送的資料壓縮格式

accept-language

通知服務端可以傳送的語言

請求頭部的最後會有乙個空行,表示請求頭部結束,接下來為請求正文,這一行非常重要,必不可少

3,請求正文

可選部分,比如get請求就沒有請求正文

get請求示例:

http響應報文格式:

http響應報文主要由狀態行、響應頭部、響應正文3部分組成

1,狀態行

由3部分組成,分別為:協議版本,狀態碼,狀態碼描述,之間由空格分隔

狀態**為3位數字,200~299的狀態碼表示成功,300~399的狀態碼指資源重定向,400~499的狀態碼指客戶端請求出錯,500~599的狀態碼指服務端出錯(http/1.1向協議中引入了資訊性狀態碼,範圍為100~199)

這裡列舉幾個常見的:

狀態碼說明

200                   

響應成功

302跳轉,跳轉位址通過響應頭中的location屬性指定(jsp

中forward

和redirect

之間的區別

)400

客戶端請求有語法錯誤,不能被伺服器識別

403伺服器接收到請求,但是拒絕提供服務(認證失敗)

404請求資源不存在

500伺服器內部錯誤

2,響應頭部

與請求頭部類似,為響應報文新增了一些附加資訊

常見響應頭部如下:

響應頭說明

server

伺服器應用程式軟體的名稱和版本

content-type

響應正文的型別(是還是二進位制字串)

content-length

響應正文長度

content-charset

響應正文使用的編碼

content-encoding

響應正文使用的資料壓縮格式

content-language

響應正文使用的語言

響應示例:

ps:1,uri、url和urn之間的區別

uri全名為uniform resource indentifier(統一資源標識),用來唯一的標識乙個資源,是乙個通用的概念,uri由兩個主要的子集url和urn組成

url全名為uniform resource locator(統一資源定位),通過描述資源的位置來標識資源

urn全名為uniform resource name(統一資源命名),通過資源的名字來標識資源,與其所處的位置無關,這樣即使資源的位置發生變動,其urn也不會變化

http規範將更通用的概念uri作為其資源識別符號,但是實際上,http應用程式處理的只是uri的url子集

四 HTTP響應報文格式

一 響應報文格式 http的響應報文的通用格式如下 主要包括狀態行 首部行 空行和實體體,和請求報文的結構類似 示例 狀態行http 1.1 200 ok r n常見的狀態碼的類別如下 常用狀態碼及含義如下 200 ok http請求成功 404 not found 伺服器上不存在請求的資源 304...

HTTP請求報文 響應報文

connection close 伺服器傳送完請求物件後就關閉這條連線 user agent mozilla 5.0 使用者 即向伺服器傳送請求的瀏覽器型別 accept language fr 表示使用者想得到該物件的法語版本http的請求報文第一行叫做請求行,其後繼的為首部行。請求行有三個字段 ...

http請求報文及響應報文

一 http報文格式 http報文分為兩類 請求報文request,響應報文response 二 http請求報文 ascii文字 易於人讀格式 user agent mozilla 4.0 該 型別的物件版本 connection close 不使用持久連線 accept language zh ...