在 Android 中进行 HTTP 请求和处理响应时,了解 HTTP 请求头和响应头是很重要的。这些头部信息包含了有关请求和响应的重要元数据。以下是一些关键的请求头和响应头,以及它们的一般用途:

HTTP 请求头:

1. User-Agent(用户代理):
   - 用途: 标识发起请求的客户端信息,包括应用程序和操作系统。
   - 示例: User-Agent: Mozilla/5.0 (Android 10; Mobile; rv:68.0) Gecko/68.0 Firefox/68.0

2. Content-Type(内容类型):
   - 用途: 指定请求体的媒体类型。
   - 示例: Content-Type: application/json

3. Authorization(授权):
   - 用途: 包含用于身份验证的信息,通常是通过令牌(token)进行身份验证。
   - 示例: Authorization: Bearer <token>

4. Accept(可接受的响应内容类型):
   - 用途: 告诉服务器客户端能够处理的响应内容类型。
   - 示例: Accept: application/json

5. Cookie(会话标识):
   - 用途: 传递服务器分配的会话标识。
   - 示例: Cookie: session_id=abcdef; user_id=123

6. 其他请求头:
   - 例如:
     - Accept-Language: 客户端期望的响应语言。
     - Referer: 表示请求的来源 URL。

HTTP 响应头:

1. Content-Type(内容类型):
   - 用途: 指定响应体的媒体类型。
   - 示例: Content-Type: application/json

2. Content-Length(内容长度):
   - 用途: 指定响应体的长度,以字节为单位。
   - 示例: Content-Length: 1024

3. Server(服务器信息):
   - 用途: 标识响应的服务器信息。
   - 示例: Server: Apache/2.4.29 (Ubuntu)

4. Set-Cookie(设置 Cookie):
   - 用途: 服务器通过该头部向客户端设置 Cookie。
   - 示例: Set-Cookie: user_id=123; expires=Thu, 21 Jan 2023 07:00:00 GMT

5. Location(重定向地址):
   - 用途: 用于重定向,指定客户端应该访问的新位置。
   - 示例: Location: https://www.example.com/newpath

6. 其他响应头:
   - 例如:
     - Cache-Control: 控制缓存行为。
     - Date: 响应生成的日期和时间。
     - Last-Modified: 资源的最后修改时间。

示例:

请求头示例:
GET /api/data HTTP/1.1
Host: www.example.com
User-Agent: Mozilla/5.0 (Android 10; Mobile; rv:68.0) Gecko/68.0 Firefox/68.0
Accept: application/json
Authorization: Bearer <token>

响应头示例:
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 1024
Server: Apache/2.4.29 (Ubuntu)
Set-Cookie: user_id=123; expires=Thu, 21 Jan 2023 07:00:00 GMT

以上示例提供了基本的了解,实际中根据具体需求可能会有其他头部信息。在 Android 开发中,你可以使用类似 OkHttp、HttpURLConnection 等库来处理 HTTP 请求和响应,这些库通常提供了方便的 API 来设置和获取请求头和响应头。


转载请注明出处:http://www.pingtaimeng.com/article/detail/15191/Android