IDN домены способны ограничить доступ к некоторым сайтам или ошибка IDN в IE7

Microsoft Ie7Буквально на днях выяснилась проблема с доступом к сайту c установленной статистикой “Google Analytic”. Причем физически доступ к ресурсу был нормальный, но при попытке загрузки сайта в IE7 броузер подвисал. При изучение проблемы, выяснилось, что виной такому поведению стала ошибка поддержки IDN доменов в IE7.

Такое “нестандартное” поведение в IE7 проявлялось после перехода с IDN домена на ресурс с установленной статистикой “Google Analytic”. После этого любое обращение к ресурсу было безрезультатно. Просмотр физического уровня соединения показал, что сессия TCP/IP благополучно создавалась и от IE7 уходило достаточное число HTTP-запросов (GET) в сторону веб-сервера. Однако, обратно ни на один из них HTTP-ответов не поступало.

В ходе детального рассмотрения заголовков HTTP-запросов была выявлена причина такого поведения удаленного веб-сервера. Оказалось, что JavaScript-код от “Google Analytic” формирует ряд Cookie (Ключиков). В том числе Cookie __utmz, в котором сохраняется информация - откуда посетитель попал на ресурс. При заходе по ссылке в значении __utmz добавляется информация о источнике (реферале):

202304910.1215453987.3.2.utmccn=(referral)|utmcsr=xn--80abwi2ag.com|utmcct=/|utmcmd=referral.

Проблема с браузером IE7 заключалось в том, что он не конвертировал IDN домен реферала в его ACE-версию (xn--…), в сохранял ее, как есть в символах кириллицы:

202304910.1215449188.4.2.utmccn=(referral)|utmcsr=барсик.com|utmcct=/|utmcmd=referral

Наличие недопустимых символов (кириллицы) в HTTP заголовке запроса расценивается веб-сервером, как ошибка запроса и не обрабатывается. Как результат клиент обратно не получает ни какого ответа. Доступ к такому “заблокированному” ресурсу восстанавливается удалением Cookie файла для данного ресурса. Обычно, такие файлы сохраняются в C:\Documents and Settings\user\Cookies\ в виде файлов user@…txt. Восстановить доступ можно и более просто (однако очень радикально) - удалением всех Cookie дла IE7, через “Параметры обозревателя”. 

Данной ошибки нет в IE6 с плагином поддержки IDN, Mozilla FireFox.

3 комментариев для “IDN домены способны ограничить доступ к некоторым сайтам или ошибка IDN в IE7”

  1. Хорошо, что есть другие браузеры. Опера рули. У меня вообще три стоят, на всякий случай

    duty
  2. Только поменяешь программку на новую версию, как тут же баги находятся.

    Ольга Арефьева
  3. А как с этим в IE8?

    Горша

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

Можно использовать теги: <a href="" rel="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <code> <em> <i> <strike> <strong>