HTTP 仕様を読んでいると、「言語タグ」と「言語範囲」という用語に出くわしました。標準では、これら 2 つのエンティティの違いを次のように定義しています。
言語範囲は、タグと正確に等しい場合、またはプレフィックスに続く最初のタグ文字が「-」であるなど、タグのプレフィックスと正確に等しい場合、言語タグと一致します。
ただし、ドキュメントでは、このステートメントを例によって補強していません。では、言語範囲は、次の HTTP ヘッダー フィールドの言語タグとどのように異なるのでしょうか。
Accept-Language: en, en-gb, en-us
そして、ここで違いがなければ、違いがある場所の例を挙げていただけますか?
更新しました
前述の引用を次のように言い換えます。
タグまたはタグのプレフィックスが、Accept-Language フィールドで指定された言語範囲と正確に等しい場合、その言語は受け入れられると見なされます。