Переменные окружения
Обмен данными между сервером, на котором расположен сайт и браузером строится по схеме «запрос-ответ». Фактически это означает, что клиент (для нашего случая браузер) отсылает на сервер 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, ясно что американцы, например, с русским языком компьютера и браузера в Сеть не ходят.
Так как переменные окружения отправляются серверу браузером, то повлиять на них можно, изменив настройки браузера.
Далее: Хитрый браузер