Http中Content-Type与Accept的区别
Content-Type
Content-Type(内容类型),一般是指网页中存在的Content-Type,用于定义网络文件的类型和网页的编码,决定浏览器将以什么形式、什么编码读取这个文件。这个就是经常看到一些网页打开之后会下载一个文件或者是一张图片的原因。
Content-Type代表发送端(客户端/服务器)发送的实体数据的数据类型。
语法格式
Content-Type: text/html; charset=utf-8
Content-Type: multipart/form-data; boundary=something
Accept
Accept用来指定什么媒体类型的响应是可接受的,即告诉服务器我需要什么媒体类型的数据,此时服务器应该根据Accept请求头生成指定媒体类型的数据。
Accept表示客户端(浏览器)支持的类型,也是希望服务器响应发送回来的数据类型。
语法格式
Accept: text/html # 一个精确的MIME类型
Accept: image/* # 匹配如image/png、image/gif等的任何图像类型
Accept: */* # 任何MIME类型
Accept: text/html, application/xhtml+xml, application/xml;q=0.9, */*;q=0.8 # q是因子权重
区别
-
Content-Type属于实体头
Response Header
,Accept属于请求头Request Header
-
Accept代表客户端希望接收到的类型,如
Accept: application/json;charset=UTF-8
,代表接收JSON数据格式的数据;Content-Type代表服务器发送实体数据的类型,如
Content-Type: application/xml
,代表发送XML数据格式的数据。 -
两者可以结合使用,如:
Content-Type: application/json;charset=UTF-8; Accept: text/html;
代表客户端发送请求的时候,发送的数据的数据格式是json,且希望服务端返回的数据类型为html
常见的MIME类型
类型 | 说明 |
---|---|
text/html | HTML格式 |
text/plain | 纯文本格式 |
text/xml | XML格式 |
image/jpeg | jpg图片格式 |
image/png | png图片格式 |
image/gif | gif图片格式 |
application/xhtml+xml | XHTML格式 |
application/xml | XML数据格式 |
application/json | JSON数据格式 |
application/pdf | pdf格式 |
application/octet-stream | 二进制流数据(如常见的文件下载) |
application/x-www-form-urlencoded | 表单默认的提交数据的格式 |
multipart/form-data | 表单中上传文件 |