HTTP 请求中 Content-Type 常见取值

1. 表单数据类型

application/x-www-form-urlencoded

  • 用途:标准表单提交,键值对 URL 编码

  • 特点:数据会被编码为键值对,特殊字符会被转义

  • 示例

    POST /submit HTTP/1.1
    Host: example.com
    Content-Type: application/x-www-form-urlencoded

    name=John+Doe&age=25&email=john%40example.com

multipart/form-data

  • 用途:文件上传或复杂表单数据

  • 特点:使用 boundary 分隔符,支持二进制数据

  • 示例

    POST /upload HTTP/1.1
    Host: example.com
    Content-Type: multipart/form-data; boundary=----WebKitFormBoundary7MA4YWxkTrZu0gW

    ----WebKitFormBoundary7MA4YWxkTrZu0gW
    Content-Disposition: form-data; name="username"

    John Doe
    ----WebKitFormBoundary7MA4YWxkTrZu0gW
    Content-Disposition: form-data; name="avatar"; filename="photo.jpg"
    Content-Type: image/jpeg

    [二进制图片数据]
    ----WebKitFormBoundary7MA4YWxkTrZu0gW--

text/plain

  • 用途:纯文本提交(较少使用)

  • 特点:数据不进行编码,直接传输

  • 示例

    POST /api/text HTTP/1.1
    Content-Type: text/plain

    This is plain text data

2. JSON 数据类型

application/json

  • 用途:RESTful API 最常用的数据格式

  • 特点:结构化数据,易于解析

  • 示例

    POST /api/users HTTP/1.1
    Host: api.example.com
    Content-Type: application/json

    {
    "name": "John Doe",
    "age": 25,
    "email": "john@example.com"
    }

application/json; charset=utf-8

  • 用途:JSON 数据并指定字符编码

  • 特点:明确指定字符集,避免编码问题

  • 示例

    POST /api/data HTTP/1.1
    Content-Type: application/json; charset=utf-8

    {"message": "你好,世界"}

3. XML 数据类型

application/xml

  • 用途:XML 格式数据传输

  • 特点:自描述性强,适合复杂结构

  • 示例

    POST /api/xml HTTP/1.1
    Content-Type: application/xml

    John Doe 25 john@example.com

text/xml

4. 文件和二进制数据类型

application/octet-stream

  • 用途:通用二进制数据传输

  • 特点:不指定具体格式,浏览器会提示下载

  • 示例

    POST /api/upload-file HTTP/1.1
    Content-Type: application/octet-stream

    [任意二进制数据]

image/jpeg

  • 用途:JPEG 图片上传

  • 示例

    POST /api/upload-image HTTP/1.1
    Content-Type: image/jpeg

    [JPEG 图片二进制数据]

image/png

  • 用途:PNG 图片上传

  • 示例

    POST /api/upload-image HTTP/1.1
    Content-Type: image/png

    [PNG 图片二进制数据]

application/pdf

  • 用途:PDF 文档传输

  • 示例

    POST /api/upload-pdf HTTP/1.1
    Content-Type: application/pdf

    [PDF 文档二进制数据]

5. Web 开发相关类型

text/html

  • 用途:HTML 内容提交(较少在请求中使用)

  • 示例

    POST /api/save-html HTTP/1.1
    Content-Type: text/html

    Hello

text/css

  • 用途:CSS 样式表提交

  • 示例

    POST /api/save-css HTTP/1.1
    Content-Type: text/css

    body { background: #f0f0f0; }

application/javascript

  • 用途:JavaScript 代码提交

  • 示例

    POST /api/execute-code HTTP/1.1
    Content-Type: application/javascript

    function hello() { return "Hello World"; }

6. 特殊场景类型

application/graphql

  • 用途:GraphQL 查询

  • 示例

    POST /graphql HTTP/1.1
    Content-Type: application/graphql

    {
    user(id: "123") {
    name
    email
    }
    }

application/x-www-form-urlencoded (GET 请求)

  • 用途:GET 请求的查询字符串

  • 示例

    GET /search?q=JavaScript&page=1 HTTP/1.1
    Host: example.com

选择建议:

  1. RESTful API :优先使用 application/json
  2. 表单提交 :使用 application/x-www-form-urlencoded
  3. 文件上传 :使用 multipart/form-data
  4. SOAP 服务 :使用 application/xmltext/xml
  5. GraphQL :使用 application/graphql
相关推荐
anod32 分钟前
Amazon反爬虫:一场从自动化到Chrome插件的折腾之旅
javascript·chrome·amazon·插件
Keepingrun1 小时前
http登录和授权
网络·网络协议·http
Lhappy嘻嘻3 小时前
网络初识|基础入门:局域网广域网、IP 端口、TCP/IP 五层模型与封装解封装全过程
java·开发语言·网络·笔记·网络协议·tcp/ip
laoli_coding12 小时前
如何配置HTTPS站点访问的免费SSL域名证书
网络协议·https·node.js·ssl
Keepingrun21 小时前
HTTP基础
网络·网络协议·http
李顿波21 小时前
Chrome 扩展程序 MV3 架构组件概览
前端·chrome·浏览器插件
GHL28427109021 小时前
安装chrome浏览器
前端·chrome
数据知道1 天前
HTTP/HTTPS 安全深度剖析:抓包、解密与证书陷阱
安全·http·https·mitmproxy·抓包解密
apihz1 天前
全球域名 WHOIS 信息实时查询免费 API 接口教程,支持1000+后缀
android·网络·网络协议·tcp/ip·apache·域名·whois
এ慕ོ冬℘゜1 天前
前端核心知识体系进阶:从安全机制、网络协议到原生 JS 实战全解析
前端·网络协议·安全