首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> Java 程式設計 >> Java 相關知識

HTTP 訊息格式詳解:請求與回應訊息結構、狀態碼五大類別完整對照

     編輯:Java 相關知識

前言

HTTP 協議採請求/回應模型,訊息分為頭與實體兩部份。本文詳細定義請求訊息與回應訊息的格式規範,並完整列出 HTTP/1.1 狀態碼五大類別(1xx~5xx)含義與常見代碼。

一、HTTP 請求訊息

請求行

方法 SP 路徑 SP HTTP版本 CRLF
GET /test/test.html HTTP/1.1
  • 方法:GET、POST、HEAD 等(大寫)。
  • 路徑:URL 中主機後的部分。
  • 版本:HTTP/1.0 或 HTTP/1.1。

請求頭

頭字段: 值 CRLF
Host: www.csdn.net
Connection: Keep-Alive
Accept: */*

以空行(CRLF)結束頭部份。

POST 實體範例

POST /servlet/Example HTTP/1.1
Host: localhost:8888
Content-Length: 29
Connection: Close

firstname=Bill&lastname=Gates

Content-Length 必須等於實體實際位元組數。

二、HTTP 回應訊息

狀態行

HTTP版本 SP 狀態碼 SP 狀態資訊 CRLF
HTTP/1.0 200 OK

版本不一定與請求一致(伺服器可能降級)。

狀態碼五大類別

類別範圍含義常見代碼
1xx100~101臨時回應100 Continue
2xx200~206成功200 OK、206 Partial Content
3xx300~307重導向302 Found (配合 Location)
4xx400~417客戶端錯誤400 Bad Request、404 Not Found
5xx500~505伺服器錯誤500 Internal Error、501 Not Implemented

完整請求/回應範例

請求:
GET / HTTP/1.1
Host: www.csdn.net

回應:
HTTP/1.0 200 OK
Content-Length: 132273
Content-Type: text/html
...
Connection: close

注意:請求方法、版本字母必須大寫;頭字段不區分大小寫但慣用首字母大寫。

結語

掌握 HTTP 訊息精確格式與狀態碼語意,是實作客戶端/伺服器、除錯網路問題、設計 REST API 的基石。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved