我想知道我是否可以返回响应标头
Content-Type: application/json text/json
或者这不合法吗?
HTTP协议规定Content-Type应为mediaType,mediaType定义如下:
media-type = type "/" subtype *( ";" parameter )
type = token
subtype = token
但我无法解释这意味着什么,有人可以启发我吗?
谢谢!
答案 0 :(得分:21)
您需要查看标题字段的定义:
http://greenbytes.de/tech/webdav/rfc2616.html#rfc.section.14.17
Content-Type =“Content-Type”“:”media-type
所以它需要一个媒体类型,它由你上面引用的语法定义。
所以答案是:单个类型/子类型,后跟可选参数。
答案 1 :(得分:0)
不。正如接受的答案中指出的那样,标头值本身不允许多个值,也不允许发送多个Content-Type标头:
发件人不得生成具有相同字段的多个标头字段 消息中的名称,除非该标头的整个字段值 字段定义为以逗号分隔的列表[即#(values)]或 标头字段是众所周知的异常(如下所述)。
https://tools.ietf.org/html/rfc7230#section-3.2.2
“转义子句”都不成立,因为media-type
不允许使用逗号分隔的值列表,并且Content-Type
显然也不是众所周知的例外。