HTTP1.1
RFC 7231
https://triple-underscore.github.io/RFC7231-ja.html
https://triple-underscore.github.io/RFC7231-ja.html#section-5.3.5
1 |
<dfn id="p.Accept-Language"><code class="production">Accept-Language</code></dfn> = 1#( <a href="https://triple-underscore.github.io/RFC7231-ja.html#p.language-range"><code class="production">language-range</code></a> [ <a href="https://triple-underscore.github.io/RFC7231-ja.html#p.weight"><code class="production">weight</code></a> ] ) <dfn id="p.language-range"><code class="production">language-range</code></dfn> = <language-range, <a href="http://tools.ietf.org/html/rfc4647#section-2.1">RFC 4647, 2.1 節</a>> |
↓
RFC 4647
言語タグの照合
“言語範囲” (“language-range”) の構文定義
言語範囲と言語タグ (language tags) を比較し照合するためのメカニズム
September 2006
http://ofmind.net/doc/rfc/ja/4647#SEC2.1
言語タグと言語範囲は大文字小文字を区別して扱われるべきではない: いくつかのサブタグを大文字にする慣習が存在するが,それが何か意味を持ってはならない。 言語タグと言語範囲との照合は大文字小文字を区別しないやり方で行われなければならない。
language-range = (1*8ALPHA *(“-” 1*8alphanum)) / “*”
alphanum = ALPHA / DIGIT
ALPHA
= %x41-5A / %x61-7A
; 英字( A-Z / a-z )
↓
言語タグに類似している
RFC4646
http://pentan.info/doc/rfc/j4646.html
region = 2ALPHA ; ISO 3166 code
/ 3DIGIT ; UN M.49 code
私用と拡大を含むタグとそれらの「副-タグ」は大文字と小文字を区別しないとして扱われることになっています: いくらかの「副-タグ」の資源化のためのコンベンションは存在しますが、意味を運ぶためにこれらを取ってはいけません。
o [ISO3166-1] recommends that country codes be capitalized (‘MN’
Mongolia).
o [ISO3166-1]は、国名略号が大文字で書かれることを(‘ミネソタ’モンゴル)勧めます。
“基本言語範囲” (basic language range) は [RFC3066] の言語タグと同じ構文である。
↓
https://www.ietf.org/rfc/rfc3066.txt
2.1 Language tag syntax
The language tag is composed of one or more parts: A primary language
subtag and a (possibly empty) series of subsequent subtags.
The syntax of this tag in ABNF [RFC 2234] is:
Language-Tag = Primary-subtag *( “-” Subtag )
Primary-subtag = 1*8ALPHA
Subtag = 1*8(ALPHA / DIGIT)
The productions ALPHA and DIGIT are imported from RFC 2234; they
denote respectively the characters A to Z in upper or lower case and
the digits from 0 to 9. The character “-” is HYPHEN-MINUS (ABNF:
%x2D).
All tags are to be treated as case insensitive; there exist
conventions for capitalization of some of them, but these should not
be taken to carry meaning. For instance, [ISO 3166] recommends that
country codes are capitalized (MN Mongolia), while [ISO 639]
recommends that language codes are written in lower case (mn
Mongolian).
– All 2-letter subtags are interpreted as ISO 3166 alpha-2 country
codes from [ISO 3166], or subsequently assigned by the ISO 3166
maintenance agency or governing standardization bodies, denoting
the area to which this language variant relates.