0

AcceptHTTP 标头能够为其引用的每种媒体类型指定参数。

text/html;level=2;q=0.4, */*;q=0.5

是否可以引用一个参数,使其可以包含其他不允许的字符?

目前这主要是一个思想实验,但这是我的用例:

考虑一个假设的多部分媒体类型。调用它multipart/multiformat。它有几个预定义的部分,称它们为apartbpart。这些部分中的每一个都可以是任何有效的媒体类型。

我想做的基本上是模仿Accept媒体类型参数中的标头。例如:

multipart/multiformat;apart="text/html, */*;q=0.8";bpart="text/*", */*;q=0.4

在上面的示例中,引号旨在允许参数中的任何内容。multipart/multiformat当然,即使这样可行,如果我们想将媒体类型用作顶级multipart/multiformat文档的一部分,我们也会再次遇到冲突的问题(这次是双引号) 。耶递归。

我正在尝试做的事情可能吗?有更好的方法吗?

4

1 回答 1

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
于 2014-08-07T22:42:19.917 回答