Accept
HTTP标头能够为它引用的每种媒体类型指定参数。
text/html;level=2;q=0.4, */*;q=0.5
是否可以引用一个参数,使其包含其他不允许的字符?
目前这主要是一个思想实验,但这是我的用例:
考虑一种假设的多部分媒体类型。称之为multipart/multiformat
。它有几个预定义的部分,称之为apart
和bpart
。每个部分都可以是任何有效的媒体类型。
我希望能够做的是基本上模仿媒体类型参数中的Accept
标头。例如:
multipart/multiformat;apart="text/html, */*;q=0.8";bpart="text/*", */*;q=0.4
在上面的示例中,引号旨在允许参数中的任何内容。当然,即使这有效,如果我们想将multipart/multiformat
媒体类型用作顶级{{1}的一部分,我们也会再次出现相互矛盾的问题(这次使用双引号)文件。 Yay递归。
我正在尝试做什么?有更好的方法吗?
答案 0 :(得分:0)
是的,媒体类型参数的值可以是带引号的字符串:
media-type = type "/" subtype *( ";" parameter )
type = token
subtype = token
(见http://www.w3.org/Protocols/rfc2616/rfc2616-sec3.html#sec3.7)
其中“参数”可以是:
parameter = attribute "=" value
attribute = token
value = token | quoted-string
(见http://www.w3.org/Protocols/rfc2616/rfc2616-sec3.html#sec3.6)
所以你提到的具体例子肯定是语法上有效的。
multipart/multiformat;apart="text/html, */*;q=0.8";bpart="text/*", */*;q=0.4