常见的content-type如下:
| text/plain | 纯文本格式 |
| text/html | HTML格式 |
| text/css | css类型 |
| text/xml | XML格式 |
| application/json | json类型 |
| image/gif | gif图片格式 |
| image/jpeg | jpg图片格式 |
| image/png | png图片格式 |
| video/mpeg | 视频类型 |
| application/pdf | PDF文件 |
| application/octet-stream | 文件流 |
| application/msword | word文件 |
| application/vnd.ms-excel | Excle文件 |
text/plain 纯文本格式
text/html HTML格式
text/css css类型
text/xml XML格式
application/json json类型
image/gif gif图片格式
image/jpeg jpg图片格式
image/png png图片格式
video/mpeg 视频类型
application/pdf PDF文件
application/octet-stream 文件流
application/msword word文件
application/vnd.ms-excel Excle文件
禁止转载!
使用要点与常见坑
Content-Type 出现在请求头与响应头两个方向,含义各自独立:请求头告诉服务器"我发的是什么",响应头告诉浏览器"我给你的是什么"。
- POST JSON 忘写 application/json 是 415 报错的头号原因,前后端都检查一遍;
- 文件上传必须用 multipart/form-data,boundary 由框架自动生成,手工拼容易漏;
- 文本类建议显式带 charset=utf-8,省略后默认字符集因平台而异,中文乱码常源于此;
- 响应想强制下载用 application/octet-stream 配 Content-Disposition,想在浏览器直接打开就用对应类型;
- Accept 头与 Content-Type 是两回事:前者是客户端"想要什么",后者是实际"是什么"。