我为什么以Http 响应头中的Content-Type为标题呢,因为在最近做的项目中,返回的数据老是不对,所以我决定深入了解一下。 Content-Type可以位于请求头、响应头,分别代表:
- Request头(请求头):请求的与实体对应的MIME信息(post请求时的请求体)。即后端(服务器端)需要什么格式的数据。
- Response头(响应头):返回内容的MIME类型。即前端(浏览器端)需要什么类型的数据。
我这次主要探究一下Response头中的content-type。 其实我之前的疑问点是Response头中的Content-Type是根据什么来设定的? 直到我看到了Request头中的Accept这个字段。
客户端如何告诉服务器端它只消费什么媒体类型的数据呢?即客户端接受(需要)什么类型的数据呢?服务器应该生产什么类型的数据?此时我们可以用请求头中的Accept来实现这个功能。
先看一下含义:
-
Accept:发送端(客户端即浏览器端)希望接受的数据类型。 比如:text/xml(application/json)代表客户端希望接受的数据类型是xml(json )类型。 -
Content-Type:发送端(客户端|服务器)发送的实体数据的数据类型。 比如:text/html(application/json)代表发送端发送的数据格式是html(json)。 二者合起来,Accept:text/xml;Content-Type:text/html即代表希望接受的数据类型是xml格式,本次请求发送的数据的数据格式是html。
总结:
Conteny-Type:内容类型,即请求/响应的内容区数据的媒体类型 Accept:用来指定什么媒体类型的响应是可接受的,即告诉服务器端我需要什么媒体类型的数据,此时服务器端应该根据Accept请求头生产指定媒体类型的数据。
|