Почему Midori в Fedora Linux претендует на звание Safari в Mac OS X?
Если вы используете Google Chrome в Linux, заголовок запроса User-Agent будет выглядеть так:
Mozilla / 5.0 (X11; Linux i686) AppleWebKit / 537.1 (KHTML, как Gecko) Chrome/21.0.1180.89 Safari/537.1
Сверху мы узнаем, что браузер - это Chrome, а ОС - это Linux (наверное!). Но когда я захожу из браузера Midori, используя ту же ОС, что и Linux (Fedora), я вижу это:
Mozilla / 5.0 (Macintosh; U; Intel Mac OS X; ru-ru) AppleWebKit/535+ (KHTML, как Gecko) Версия /5.0 Safari/535.4+ Midori/0.4
Почему это говорит Macintosh?
1 ответ
Midori идентифицируется как OS X Safari, если установлено значение Автоматически. Выберите Midori, чтобы переопределить его.
От midori/midori-websettings.h
:
typedef enum
{
MIDORI_IDENT_MIDORI /* Automatic */,
MIDORI_IDENT_GENUINE /* Midori */,
MIDORI_IDENT_SAFARI,
// etc.
} MidoriIdentity;
midori/midori-websettings.c
:
switch (identify_as)
{
case MIDORI_IDENT_GENUINE:
return g_strdup_printf ("Mozilla/5.0 (%s %s) AppleWebKit/%d.%d+ %s",
platform, os, webcore_major, webcore_minor, appname);
case MIDORI_IDENT_MIDORI:
case MIDORI_IDENT_SAFARI:
g_object_set (web_settings, "enable-site-specific-quirks", TRUE, NULL);
return g_strdup_printf ("Mozilla/5.0 (Macintosh; U; Intel Mac OS X; %s) "
"AppleWebKit/%d+ (KHTML, like Gecko) Version/5.0 Safari/%d.%d+ %s",
lang, webcore_major, webcore_major, webcore_minor, appname);
// etc.
Хотя я не знаю причину, по которой разработчики предпочли притворяться Safari, этот пост в блоге об истории строки пользовательского агента, появившийся два года назад, заполнен более ранними примерами настройки строк пользовательского агента для обнаружения хитрых функций на веб-сайтах., Всего один пример:
И последователи Linux были очень опечалены, потому что они создали Konqueror, чей движок был KHTML, который, по их мнению, был так же хорош, как Gecko, но это был не Gecko, и поэтому ему не дали хороших страниц, и поэтому Konquerer начал притворяться быть "как Gecko", чтобы получить хорошие страницы, и называл себя Mozilla/5.0 (совместимый; Konqueror/3.2; FreeBSD) (KHTML, как Gecko), и было много путаницы.
Веб-разработчики часто приспосабливают веб-сайты к определенным браузерам, реализуя запасные варианты для браузеров с меньшим количеством функций. Midori слишком неизвестен и имеет слишком малую долю рынка, чтобы веб-разработчики оптимизировали его специально для этого.
В качестве обходного пути ваш браузер притворяется Safari, поскольку он основан на WebKit и ведет себя одинаково. В противном случае он, вероятно, получит базовый текстовый дизайн на некоторых сайтах вместо современного HTML5-интерфейса, на который он способен.
Поскольку Safari для Linux отсутствует, а изменение строк пользовательских агентов по умолчанию сопряжено с риском того, что они не будут признаны подходящим браузером, у них был выбор между Windows и Mac OS X.
В поддержку этого предположения, из Midori FAQ (data/faq.html
при загрузке)
Почему Google Mail/ Календарь / Карты, Facebook не работают или показывают мобильную версию?
Некоторые сайты дискриминируют ваш браузер.
Если у вас Midori старше 0.3.5, выберите "Настройки"> "Сеть"> "Определить как" и выберите "Пользовательский". Вставьте это в запись:
Mozilla/5.0 (X11; Linux) AppleWebKit / 531.2 + Midori / 0.3
Если это не помогает, попробуйте выбрать Safari или Firefox.
Многие другие сайты используют аналогичные средства обнаружения браузера.