是" fr,en; Q = 0.3"有效的Accept-Language值?

时间:2016-10-19 00:20:41

标签: html

根据RFC,在单词和分隔符之间使用* LWS是可以的。但是,如果您查看特定的ABNF以匹配Accept-Language字段,则它不允许;字符周围的空格。

这是确切的LWS specification

  

暗示* LWS :本规范描述的语法是   字为主。除非另有说明,否则线性空白区域(LWS)可以   被包含在任何两个相邻的单词之间(标记或引用字符串),   在相邻的单词和分隔符之间,不改变   解释一个领域。至少一个分隔符(LWS和/或   必须存在于任意两个令牌之间(用于定义)   "令牌"因为它们会被解释为单一的   令牌。

以下是ABNF grammar

   Accept-Language = "Accept-Language" ":"
                     1#( language-range [ ";" "q" "=" qvalue ] )
   language-range  = ( ( 1*8ALPHA *( "-" 1*8ALPHA ) ) | "*" )

1 个答案:

答案 0 :(得分:0)

我发现有一个更新的RFC澄清了这一点。

weight = OWS ";" OWS "q=" qvalue
qvalue = ( "0" [ "." 0*3DIGIT ] )
      / ( "1" [ "." 0*3("0") ] )

https://greenbytes.de/tech/webdav/rfc7231.html#quality.values

因此,答案是肯定的,它是有效的。