пятница, 7 января 2011 г.

Нестандартный Referer в opera-mini

Сегодня случайно обнаружил, что при определенных условиях, серверы opera-mini отсылают через поле referer дополнительную информацию об источниках переходов.

Для удобства мне понадобился счетчик прочтений страниц относительно посещаемого проекта. Чтобы не напрягать основную базу данных записью хитов я выполнил его в виде отдельного приложения для google app engine с вызовом через javascript. Он примитивно считает на основе referer, вычищая его url от лишних параметров и зеркальных субдоменов. И вот сегодня, на второй день запуска, в логах обнаружилось нарушение стандарта, которое и вызвало ошибку в моем коде — opera-mini отправила в поле referer два адреса через запятую:

80.239.242.111 - - [06/Jan/2011:02:17:50 -0800] "GET /hc/cnt?cnt=1&n=1 HTTP/1.1" 500 675 "http://www.yandex.ua/,http://***mysite***/2011/01/06/genprokuratura-obvinila-timoshenko-vo-lzhi" "Opera/9.80 (Windows NT 5.1; U; ru) Presto/2.6.30 Version/10.63,gzip(gfe)"

80.239.242.142 - - [06/Jan/2011:01:01:03 -0800] "GET /hc/cnt?cnt=1&n=1 HTTP/1.1" 500 675 "http://www.ukr.net/,http://***mysite***/2011/01/06/v-kurskoi-oblasti-v-rezultate-dtp-pogibli-5-chelovek" "Opera/9.80 (Windows NT 5.1; U; ru) Presto/2.2.15 Version/10.10,gzip(gfe)"

Успокоившись я понял, что это не случайность. Именно так по цепочке посетитель нашел указанные страницы. Сервер opera-mini просто решил помочь со сбором статистики. Основные логи сервера содержат стандартный referer. Дополнительную информацию opera-mini добавила только к загрузке кода, который посчитала внешним счетчиком.

Спасибо за внимание. Надеюсь эта информация окажется полезной не только мне.


Источник: Хабрахабр - Web-разработка
Оригинальная страница: Нестандартный Referer в opera-mini

Комментариев нет:

Отправить комментарий