提示:文章寫完后,目錄可以自動生成,如何生成可參考右邊的幫助文檔
文章目錄
- 前言
- HTTP 請求方法
- GET
- POST
- PUT
- DELETE
- 其他方法
- HTTP 請求結構
- 常用請求頭
- 實際應用示例
- 響應狀態碼
前言
HTTP (Hypertext Transfer Protocol) 是互聯網上應用最廣泛的協議之一,用于客戶端和服務器之間的通信。
HTTP 請求方法
GET
用途:請求獲取指定資源
- 特點:
- 參數通過 URL 傳遞
可以被緩存
有長度限制
不應修改服務器數據
示例:
GET /users?id=123 HTTP/1.1
Host: example.com
POST
用途:提交數據到指定資源進行處理
- 特點:
- 數據在請求體中傳輸
不會被緩存
無長度限制
可能修改服務器數據
示例:
POST /users HTTP/1.1
Host: example.com
Content-Type: application/json{"name":"John","age":30}
PUT
用途:更新指定資源
- 特點:
- 冪等操作(多次執行結果相同)
替換整個資源
示例:
PUT /users/123 HTTP/1.1
Host: example.com
Content-Type: application/json{"name":"John","age":31}
DELETE
用途:刪除指定資源
- 特點:
- 冪等操作
示例:
DELETE /users/123 HTTP/1.1
Host: example.com
其他方法
HEAD:類似 GET,但只返回頭部信息
PATCH:部分更新資源
OPTIONS:返回服務器支持的 HTTP 方法
HTTP 請求結構
- 一個完整的 HTTP 請求包含:
- 請求行(方法、URI、HTTP版本)
請求頭(Host, Content-Type, Authorization等)
空行
請求體(GET通常沒有,POST/PUT有)
常用請求頭
Content-Type: 請求體的媒體類型(如 application/json)
Accept: 客戶端能處理的媒體類型
Authorization: 認證信息
User-Agent: 客戶端信息
Cache-Control: 緩存控制
實際應用示例
使用 cURL 發送請求
# GET
curl https://api.example.com/users# POST
curl -X POST -H "Content-Type: application/json" -d '{"name":"John"}' https://api.example.com/users# PUT
curl -X PUT -H "Content-Type: application/json" -d '{"name":"John"}' https://api.example.com/users/1# DELETE
curl -X DELETE https://api.example.com/users/1
使用 Python (requests 庫)
import requests# GET
response = requests.get('https://api.example.com/users')# POST
response = requests.post('https://api.example.com/users', json={'name': 'John'})# PUT
response = requests.put('https://api.example.com/users/1', json={'name': 'John'})# DELETE
response = requests.delete('https://api.example.com/users/1')
響應狀態碼
1xx: 信息響應
2xx: 成功(200 OK, 201 Created)
3xx: 重定向
4xx: 客戶端錯誤(400 Bad Request, 404 Not Found)
5xx: 服務器錯誤(500 Internal Server Error)