Content-Type 是一个HTTP头部字段,用于指示资源的媒体类型(MIME类型)。它告诉客户端(如浏览器)如何处理接收到的数据。以下是常见的 Content-Type 类型及其用途:

常见的 Content-Type 类型

文本类型

  • text/plain

    • 描述:纯文本文件。
    • 示例:.txt
  • text/html

    • 描述:HTML文档。
    • 示例:.html, .htm
  • text/css

    • 描述:CSS样式表。
    • 示例:.css
  • text/javascriptapplication/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中,可以通过 ResponseEntityHttpServletResponse 设置 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 类型及其用途有助于正确处理和传输不同类型的数据。如果您有更多具体的问题或需要进一步的示例,请随时告诉我!