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
类型及其用途有助于正确处理和传输不同类型的数据。如果您有更多具体的问题或需要进一步的示例,请随时告诉我!
- 感谢你赐予我前进的力量