是" application / * + json" HTTP中的有效Accept标头

时间:2018-01-16 09:19:07

标签: http mime-types

java spring框架的http客户端似乎默认发送此Accept标头:

Accept: text/plain, application/json, application/*+json, */*

我很好奇"应用程序/ * + json"部分。我相信这样做的目的是匹配任何以application/开头并结束+json的mime类型 - 例如。 application/vnd.api+json

但是看RFC 7231 section 5.3.2它说:

media-range    = ( "*/*"
                      / ( type "/" "*" )
                      / ( type "/" subtype )
                      ) *( OWS ";" OWS parameter )

似乎只允许*代替子类型而不是它的一部分 - 建议" application / * + json"应该只匹配名称中实际为*的mime类型。

' +'一般来说,mime类型的语法在https://tools.ietf.org/html/rfc6839中定义 - 但是没有任何内容可以像HTTP RFC定义那样将其应用于通配符。

是否有其他一些扩展定义的RFC或者是Spring发送错误的Accept:header?

1 个答案:

答案 0 :(得分:2)

我相信答案是“不”。 HTTP的允许值在https://www.greenbytes.de/tech/webdav/rfc7231.html#rfc.section.5.3.2中定义,而“* + json”不是有效的子类型(即使它是,它只匹配子类型“* + json”,而不是所有以“...”结尾的子类型) + JSON“)。

相关问题