Project

General

Profile

Actions

Feature #1873

closed

Учитывание рекомендаций rfc2616 при формировании заголовков Accept-Language

Added by Mellon almost 10 years ago. Updated almost 10 years ago.

Status:
Closed
Priority:
Normal
Assignee:
Category:
Plugins: Intermutko
Target version:
Start date:
02/01/2015
Due date:
% Done:

100%

Estimated time:
10:00 h

Description

1. The language quality factor.
Согласно http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.4 может указываться в заголовке при множественных значениях. А может не указываться, тогда предполагается, что для указанных языковых тегов q=1, и эти языки одинаково приемлимы. В реале же большинство (?) серверов при этом учитывает порядок тегов, но вовсе не обязаны этого делать. Следовательно, есть некий смысл, всё-таки указывать этот фактор.

2. Нестрогое указание диапазона языков.

 Note: When making the choice of linguistic preference available to
      the user, we remind implementors of  the fact that users are not
      familiar with the details of language matching as described above,
      and should provide appropriate guidance. As an example, users
      might assume that on selecting "en-gb", they will be served any
      kind of English document if British English is not available. A
      user agent might suggest in such a case to add "en" to get the
      best matching behavior. 

Таким образом, имеет смысл введение в список нулевого значения для подвида языка, при выборе которого будет указана только первая часть тега.

3. Требование приватности.
Некоторые положения http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.4 и http://www.w3.org/Protocols/rfc2616/rfc2616-sec15.html#sec15.1.4 могут быть истолкованы так, что пользователь должен иметь возможность настройки исключающей отправку этого заголовка.

В итоге предлагается следующая модель поведения.
1. При первом запуске приложения настройки языков берутся из текущей локали и явным оброзам обозначаются. То есть, эти настройки вписываются в файлы конфигурации
2. В последствии, пользователь может удалить ранее (пред)определенные настройки, и тогда заголовок Accept-Language посылаться не будет

Хотя этот вариант логичен, но несет проблему миграции настроек на новую логику, то есть без миграции текущие установки приложения (когда при отсутствии настроек посылается хаголовок со значениями из локали) не будут посылать заголовок вовсе. Если эта проблема представляется трудноразрешимой, есть обходной вариант:
В форму настроек поместить опцию отключающую отправку заголовка Accept-Language.

Actions

Also available in: Atom PDF