Переменные окружения

Обмен данными между сервером, на котором расположен сайт и браузером строится по схеме «запрос-ответ». Фактически это означает, что клиент (для нашего случая браузер) отсылает на сервер HTTP запрос, сервер читает запрос, обрабатывает его и посылает результат обработки обратно клиенту. Помимо IP адреса машины, необходимого для определения получателя ответа, браузер при запросе передаёт определённую служебную информацию.

В основном это название и версия браузера, операционной системы компьютера и язык, предпочитаемый пользователем. Если переход на сайт был не прямой, то отмечается и сайт – источник перехода. В случае перехода с поисковой системы виден и поисковый запрос, по которому попали на сайт.

Критически важной эта информация не является, однако позволяет создать определенный «портрет» машины. Ну и конечно, используется для разнообразных статистических целей.

Обязательно передаваемые переменные окружения:

Переменная

Пример

Значение

 

 

 

 

 

 

USER_AGENT

 

Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; MRA 4.7 (build 01670)

 

 

Opera/9.20 (Windows NT 5.1; U; ru)

 

Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6

 - собственно идентификатор клиента. Многие браузеры тут же указывают операционную систему, плагины и т.д.  Так, «Windows NT 5.1» означает Windows XP (Windows NT 5.1 - внутренняя версия XP в Microsoft)

В середине 90х годов самым популярным браузером был Netscape Navigator, и Internet Explorer приходилось использовать значение User-Agent: «Mozilla/<version> (compatible; MSIE <version>), для получения данных, предназначенных для Netscape.

Ситуация давно изменилась, но обозначение прижилось. Сам IE в этой конструкции обозначается как MSIE 6.0, MSIE 7.0, шестая или соответственно, седьмая версия Internet Explorer.

Альтернативные браузеры имеют свои идентификаторы.  Браузеры на движке Gecko, наследники Netscape Navigator, часто оставляют и версию движка.

Технически USER_AGENT необходим для определения, с кем имеет дело сайт.  Internet Explorer поддерживает множество специфических и нестандартных возможностей, не поддерживаемых другими браузерами. Иногда даже стандарты понимается браузерами по своему, в результате чего страницы в разных браузерах могут сильно отличаться.

Если эти моменты учитываются разработчиками, и существуют версии сайта для определённого браузера, то именно по  USER_AGENT определяется, какую версию отдавать пользователю.
ACCEPT_LANGUAGE ru, en, en-us   - предпочтительные для пользователя языки. Чем раньше язык объявлен, тем выше его приоритет. Наравне с IP адресом может использоваться для разделения по географическому признаку. Например, поисковик Google.com, обработав этот параметр, перенаправит на русскоязычную страничку.
ACCEPT-CHARSET windows-1251, cp-1251, ISO-8859-1,utf-8  - предпочтительные для браузера кодировки. Пункт похож на предыдущий.
REFERER ----------------  - адрес сайта, с которого был осуществлён переход. Фактически, когда вы нажимаете на ссылку на любой страничке, скорее всего, адрес этого документа будет записан в этот параметр.
ACCEPT text/html, image/png, image/jpeg, image/gif, image/x-xbitmap, */* - типы документов, которые способен обработать браузер. Стандартный html, графика и т.д. Как правило, последним типом идёт */*, это означает, что браузер готов обработать все файлы. Однако если тип файла браузеру всё же не известен, он предложит сохранить его на диск.
ACCEPT_ENCODING deflate, gzip, x-gzip  - поддерживаемые браузером типы кодирования данных. Например, значение "gzip, deflate" означает что браузер поддерживает gzip сжатие.
CONNECTION Keep-Alive или close  - параметр означает что соединение с сервером будет поддерживаться постоянно.  Другой вариант означает, что браузер уже послал все данные серверу и теперь будет только ждать ответа.

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

Эту сугубо техническую информацию не по назначению используют двумя основными способами:

  • составление «портрета» компьютера, например, для наложения «супербана».
  • разделение посетителей по географическому и языковому признаку. Помимо IP адреса «национальность» компьютера светит переменная ACCEPT_LANGUAGE, ясно что американцы, например, с русским языком компьютера и браузера в Сеть не ходят.

Так как переменные окружения отправляются серверу браузером, то повлиять на них можно, изменив настройки браузера.

Далее: Хитрый браузер

top