Content-Type
Content-Type 是一个HTTP头部字段,用于指示资源的媒体类型(MIME类型)。它告诉客户端(如浏览器)如何处理接收到的数据。以下是常见的 Content-Type 类型及其用途:
常见的 Content-Type 类型
文本类型
text/plain- 描述:纯文本文件。
- 示例:
.txt
text/html- 描述:HTML文档。
- 示例:
.html,.htm
text/css- 描述:CSS样式表。
- 示例:
.css
text/javascript或application/javascript- 描述:JavaScript脚本。
- 示例:
.js
application/json- 描述:JSON数据。
- 示例:
.json
图像类型
image/jpeg- 描述:JPEG图像。
- 示例:
.jpg,.jpeg
image/png- 描述:PNG图像。
- 示例:
.png
image/gif- 描述:GIF图像。
- 示例:
.gif
image/bmp- 描述:BMP图像。
- 示例:
.bmp
image/svg+xml- 描述:SVG图像。
- 示例:
.svg
音频类型
audio/mpeg- 描述:MP3音频文件。
- 示例:
.mp3
audio/wav- 描述:WAV音频文件。
- 示例:
.wav
audio/ogg- 描述:OGG音频文件。
- 示例:
.ogg
视频类型
video/mp4- 描述:MP4视频文件。
- 示例:
.mp4
video/quicktime- 描述:QuickTime视频文件。
- 示例:
.mov
video/x-msvideo- 描述:AVI视频文件。
- 示例:
.avi
video/webm- 描述:WebM视频文件。
- 示例:
.webm
文档类型
application/msword- 描述:Microsoft Word文档。
- 示例:
.doc
application/vnd.openxmlformats-officedocument.wordprocessingml.document- 描述:Microsoft Word文档(Office Open XML格式)。
- 示例:
.docx
application/vnd.ms-excel- 描述:Microsoft Excel文档。
- 示例:
.xls
application/vnd.openxmlformats-officedocument.spreadsheetml.sheet- 描述:Microsoft Excel文档(Office Open XML格式)。
- 示例:
.xlsx
application/pdf- 描述:PDF文档。
- 示例:
.pdf
其他类型
application/octet-stream- 描述:二进制流数据,通常用于未知或未指定类型的文件。
- 示例:
.bin
application/xml- 描述:XML文档。
- 示例:
.xml
application/zip- 描述:ZIP压缩文件。
- 示例:
.zip
application/x-www-form-urlencoded- 描述:表单数据,使用URL编码格式。
- 示例:表单提交
multipart/form-data- 描述:用于文件上传的表单数据。
- 示例:文件上传
示例
以下是一些常见的 Content-Type 头部字段示例:
Content-Type: text/html; charset=UTF-8
Content-Type: application/json
Content-Type: image/jpeg
Content-Type: audio/mpeg
Content-Type: video/mp4
Content-Type: application/pdf
Content-Type: application/octet-stream
Content-Type: multipart/form-data; boundary=----WebKitFormBoundary7MA4YWxkTrZu0gW
如何设置 Content-Type
在不同的编程环境和框架中,设置 Content-Type 的方法有所不同。以下是一些常见框架中的示例:
Spring MVC
在Spring MVC中,可以通过 ResponseEntity 或 HttpServletResponse 设置 Content-Type。
import org.springframework.http.HttpHeaders;
import org.springframework.http.HttpStatus;
import org.springframework.http.MediaType;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class ExampleController {
@GetMapping("/example")
public ResponseEntity<String> getExample() {
HttpHeaders headers = new HttpHeaders();
headers.setContentType(MediaType.TEXT_PLAIN);
return new ResponseEntity<>("Hello, World!", headers, HttpStatus.OK);
}
}
Node.js (Express)
在Node.js的Express框架中,可以使用 res.type() 方法设置 Content-Type。
const express = require('express');
const app = express();
app.get('/example', (req, res) => {
res.type('text/plain');
res.send('Hello, World!');
});
app.listen(3000, () => {
console.log('Server is running on port 3000');
});
总结
Content-Type 是一个重要的HTTP头部字段,用于指示资源的媒体类型。了解常见的 Content-Type 类型及其用途有助于正确处理和传输不同类型的数据。如果您有更多具体的问题或需要进一步的示例,请随时告诉我!
- 感谢你赐予我前进的力量


