HTTP请求响应报文头的类型设定

常见的HTTP请求响应报文头包括:

❑Content-Type:指定响应主体的媒体类型(如text/HTML)。

❑Accept:指定客户端接收的响应主体类型(如text/HTML)。

MIME 类型的一般写法:<主类型>/<子类型>
像我们刚提到的 text/htmltext 是主类型,表示人直接读得懂的纯文本html 是子类型,告诉浏览器这是 HTML 语法的文本。

同理,如 application/xml 也分两段:

部分含义
application(主类型)给“应用程序”处理的数据——通常不是直接给人阅读,而是给程序解析、计算、存储用的
xml(子类型)具体格式是 XML 标记语言

所以 application/xml 表示:“这段数据是一份 XML 文档,预期供程序(而非直接面向人)解析使用。”

这二者区别如下:

1. 工作时机不同

  • Content-Type:报文已经带着实体数据,必须明确告诉对方“这段字节如何解析”。

  • Accept:在发送实体之前,客户端先告诉服务器“我偏好哪些格式”,服务器再决定用哪种格式生成响应。

2. 谁来设置

请求

  • 如果请求 请求体(例如 POST 上传 JSON),客户端既会在头里放

    Content-Type: application/json
    Accept:application/json

响应

  • 服务器查看 Accept 后,选择最合适的格式生成实体,并在响应头里声明

    Content-Type: application/json

注意:响应头没有Accept参数

3. 含义侧重点

字段侧重 实体本身侧重 协商偏好
Content-Type
Accept

4. 典型流程示意

sequenceDiagram
Client->>Server: GET /api/user\nAccept: application/json
note right of Server: 查看 Accept\n决定返回 JSON
Server-->>Client: 200 OK\nContent-Type: application/json\n{ "id": 1, ... }

5. 口诀

“Content-Type 说明我是谁,Accept 告诉你我想要谁。”

  • Content-Type描述已存在的实体——“我递给你的这份文件格式是 X”。

  • Accept表达未来的期望——“请尽量回我 X(如果没有就退而求其次)”。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值