一、HTTP 请求方法
- GET:用于请求指定的页面信息,并返回实体主体。通常用于获取资源,不会对服务器上的资源进行修改。特点是请求参数会附加在 URL 后面,数据长度有限制,不太安全,因为参数会暴露在 URL 中,但使用方便、高效,常用于获取静态资源或查询数据。
- 例如:
GET /index.html?param1=value1¶m2=value2 HTTP/1.1
。
- POST:向指定资源提交数据进行处理请求(例如提交表单或者上传文件)。数据被包含在请求体中,相对安全,可以传输大量数据,常用于向服务器提交数据以进行创建、更新等操作。
- 例如:
POST /submit-form HTTP/1.1
,请求体中包含表单数据或其他要提交的数据。
- PUT:用于向指定资源位置上传其最新内容,常用来更新资源。与 POST 的区别在于,PUT 通常是幂等的,即多次相同的 PUT 请求应该产生相同的效果。
- 例如:
PUT /resource/123 HTTP/1.1
,请求体中包含要更新的资源内容。
- DELETE:请求服务器删除指定的资源。同样通常是幂等的,多次删除同一资源应该产生相同的结果。
- 例如:
DELETE /resource/123 HTTP/1.1
。
二、请求头格式
请求头包含了关于请求的各种元信息,常见的有:
User-Agent
:标识发出请求的客户端类型和版本信息,例如浏览器名称和版本。
- 例如:
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/116.0.0.0 Safari/537.36
。
Accept
:告诉服务器客户端能够接受的内容类型,如文本、HTML、JSON 等。
- 例如:
Accept: application/json, text/plain;q=0.9
。
Content-Type
:当发送 POST 或 PUT 请求时,用于指定请求体中的内容类型。
- 例如:
Content-Type: application/x-www-form-urlencoded
(用于表单数据提交)或Content-Type: application/json
(用于提交 JSON 数据)。
Authorization
:用于包含身份验证信息,如令牌等。
- 例如:
Authorization: Bearer <token>
。
Referer
:表示当前请求的来源页面 URL。
- 例如:
Referer: https://www.example.com/previous-page
。
三、请求体格式
- 表单数据格式(
application/x-www-form-urlencoded
):
- 键值对形式,多个键值对用 “&” 连接,键和值都经过 URL 编码。
- 例如:
param1=value1¶m2=value2
。
- JSON 格式(
application/json
):
- 以 JSON 对象的形式表示数据,结构清晰,易于阅读和解析。
- 例如:
{ "name": "John", "age": 30 }
。
- XML 格式:
- 使用 XML 标记来组织数据,具有良好的可读性和扩展性。
- 例如:
<person><name>Jane</name><age>25</age></person>
。