HTTP Semantics
10 methodsHTTP 请求方法(动词)与状态码,表示操作意图与响应结果。
GET <URL>since RFC 9110请求获取指定资源,不应有副作用,是幂等的。
Returns
服务器返回资源表示,通常 200 OK
Example
http
GET /api/users/42 HTTP/1.1
Host: api.example.com
Accept: application/jsonPOST <URL>提交数据创建新资源,非幂等(多次提交可能创建多个资源)。
Parameters
| Name | Type | Description |
|---|---|---|
| body | any | 请求体数据 |
Returns
通常返回 201 Created 与新资源 URI
Example
http
POST /api/users HTTP/1.1
Host: api.example.com
Content-Type: application/json
{"name": "Alice", "age": 30}PUT <URL>用请求体替换目标资源,是幂等的(相同请求结果一致)。
Parameters
| Name | Type | Description |
|---|---|---|
| body | any | 资源的完整新表示 |
Returns
通常 200 OK 或 204 No Content
Example
http
PUT /api/users/42 HTTP/1.1
Host: api.example.com
Content-Type: application/json
{"name": "Alice", "age": 31}DELETE <URL>删除指定资源,是幂等的。
Returns
通常 200 OK、202 Accepted 或 204 No Content
Example
http
DELETE /api/users/42 HTTP/1.1
Host: api.example.comPATCH <URL>对资源应用部分修改,非幂等(取决于实现)。
Parameters
| Name | Type | Description |
|---|---|---|
| body | any | 资源的部分修改指令(如 JSON Patch) |
Returns
通常 200 OK 或 204 No Content
Example
http
PATCH /api/users/42 HTTP/1.1
Host: api.example.com
Content-Type: application/json-patch+json
[{"op": "replace", "path": "/age", "value": 31}]HEAD <URL>与 GET 相同但只返回响应头,不返回响应体。
Returns
只含响应头,无响应体
Example
http
HEAD /api/users/42 HTTP/1.1
Host: api.example.com
# 响应(无 body):
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 128OPTIONS <URL>查询服务器支持的方法或通信选项,常用于 CORS 预检。
Returns
响应头含 Allow 或 Access-Control-Allow-* 字段
Example
http
OPTIONS /api/users HTTP/1.1
Host: api.example.com
Origin: https://app.example.com
Access-Control-Request-Method: PUT
# 响应:
HTTP/1.1 204 No Content
Allow: GET, POST, PUT, DELETE, OPTIONS200 OKsince RFC 9110请求成功。GET 返回资源,POST 返回创建结果,PUT/PATCH 返回更新结果。
Returns
成功状态码,响应体含请求结果
Example
http
HTTP/1.1 200 OK
Content-Type: application/json
{"id": 42, "name": "Alice"}301 Moved Permanently资源已永久移动到新 URI,后续请求应使用新地址。
Parameters
| Name | Type | Description |
|---|---|---|
| Location | header | 响应头,指向新 URI |
Returns
重定向状态码,客户端应跟随 Location
Example
http
HTTP/1.1 301 Moved Permanently
Location: https://www.example.com/new-path
Content-Length: 0
# 客户端跟随重定向:
GET /new-path HTTP/1.1
Host: www.example.com404 Not Foundsince RFC 9110服务器找不到请求的资源,常用于资源不存在或路径错误。
Returns
客户端错误状态码,资源不存在
Example
http
GET /api/users/9999 HTTP/1.1
Host: api.example.com
# 响应:
HTTP/1.1 404 Not Found
Content-Type: application/json
{"error": "User not found", "code": 404}