Должно ли расширение браузера изменять заголовок User-Agent для запросов, которые он инициирует? - PullRequest
3 голосов
/ 08 марта 2012

Мы разрабатываем расширение для браузера, которое в рамках своего набора функций подключается к внешнему API (на наших серверах) для загрузки данных.

По нескольким причинам полезно знать, какая версиярасширение подключается к API.Это может быть полезно для отслеживания скорости обновления между версиями, но на более мелкой ноте нам может понадобиться по-разному реагировать на API-интерфейсы в зависимости от обнаруженных ошибок в более старых версиях расширения.

Каков наилучший способ длярасширение, чтобы сервер знал, в какой версии он работает?

  1. Добавить информацию в существующий заголовок User-Agent?(т.е. этот запрос отправляется с моего внутреннего номера в этом браузере)
    User-Agent: Mozilla/5.0 (…) Firefox/3.6.3 (MyPlugin/1.2.3.2256)

  2. Полностью заменить заголовок User-Agent?(т.е. этот запрос отправляется с внутреннего номера, и поскольку он не обрабатывается браузером, исходная строка UA не имеет значения)
    User-Agent: MyPlugin/1.2.3.2256

  3. Добавить отдельныйЗаголовок запроса только для отслеживания этой информации?(т.е. этот запрос все еще отправляется из хост-браузера расширения, но также есть некоторая дополнительная информация для вас)
    User-Agent: Mozilla/5.0 (…) Firefox/3.6.3
    X-MyPlugin-Version: 1.2.3.2256

Вариант 3 звучитдля меня это немного отговорка, потому что конкретная цель заголовка User-Agent - передать информацию о программе, которая делает запрос, но я не знаю, есть ли какие-то конкретные рекомендации между двумя другими вариантами

1 Ответ

0 голосов
/ 08 марта 2012

Я думаю, вариант 2. Причина этого в том, что не браузер делает запрос к конечной точке, а код ваших плагинов, который может быть истолкован как отдельный процесс.

Заранее подумав, чтоесли ваш плагин представляет собой отдельное приложение или что-то подобное - тогда не будет смысла иметь некоторых агентов в одном формате, а некоторых - в других.

Это также предполагает, что любая необходимая информация о браузере, которая вам может понадобиться, находится вПлагин UA.

...