文章目錄
- 前言
- HTTP GET請求包
- HTTP POST請求包
- Content-Type
前言
HTTP(HyperText Transfer Protocol)請求包,是Web通信的基礎。HTTP請求包格式主要由以下幾部分組成:
-
請求行:包含了請求方法(GET、POST、PUT、DELETE等)、資源URI和使用的HTTP版本。
-
請求頭:包含多個鍵值對,用于提供客戶端信息、認證信息、接受的內容類型等。
-
空行:一個單獨的空行,用于分隔請求頭和請求體。
-
請求體(可選):根據請求方法的不同,可能包含要發送給服務器的數據。
HTTP GET請求包
GET /index.html HTTP/1.1
Host: www.example.com
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64)
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
在這個例子中,GET
是請求方法,/index.html
是資源的路徑,HTTP/1.1
指明了協議版本。Host
請求頭指出了目標服務器的域名,而其他請求頭提供了瀏覽器和用戶偏好的信息。
HTTP POST請求包
POST /submit-form HTTP/1.1
Host: www.example.com
Content-Type: application/x-www-form-urlencoded
Content-Length: 25username=admin&password=secret
在這個例子中,POST
方法意味著客戶端正在嘗試向服務器發送一些數據,Content-Type
請求頭指明了數據的格式,而 Content-Length
請求頭指出了請求體的長度。請求體中包含了表單數據,用以登錄或者提交表單。
Content-Type
Content-Type
是HTTP頭部字段之一,用于指示資源的MIME類型。MIME類型是一種標準,用來定義數據的格式和類型,從而幫助接收方正確解析和處理數據。Content-Type
可以在HTTP請求或響應中出現,用來描述消息體(entity body)的類型。
MIME類型由兩部分組成:類型(type)和子類型(subtype),通常用斜線分隔,如 type/subtype
。類型表示數據的一般類別,而子類型則提供更具體的細節。此外,MIME類型可以包含參數,如字符集編碼。
以下是Content-Type
的一些常見類型及其示例:
-
text/*:文本類型
text/html
:HTML文檔text/plain
:純文本text/xml
:XML文檔text/css
:CSS樣式表text/javascript
:JavaScript代碼text/csv
:逗號分隔值文件
-
application/*:應用類型
application/json
:JSON數據application/xml
:XML數據(不同于text/xml
,通常用于應用程序間的數據交換)application/pdf
:PDF文檔application/msword
:Microsoft Word文檔application/octet-stream
:八位字節流,用于二進制數據application/x-www-form-urlencoded
:URL編碼的表單數據,常用于POST請求application/javascript
:JavaScript代碼(不同于text/javascript
)application/vnd.ms-excel
:Excel電子表格
-
image/*:圖像類型
image/jpeg
:JPEG圖像image/png
:PNG圖像image/gif
:GIF圖像image/svg+xml
:SVG矢量圖形
-
audio/* 和 video/*:音頻和視頻類型
audio/mpeg
:MP3音頻video/mp4
:MP4視頻video/mpeg
:MPEG視頻
-
multipart/*:多部分類型,用于組合不同類型的數據
multipart/form-data
:用于上傳文件或多部分表單數據multipart/mixed
:混合類型數據
-
message/*:消息類型
message/rfc822
:電子郵件格式
這些類型可以帶有參數,例如,Content-Type: text/html; charset=utf-8
表示HTML文檔使用UTF-8字符集編碼。
羨青山有思,白鶴忘機。