Google.com и clients1.google.com/generate_204

Я смотрел в google.com Чистая активность в firebug только потому, что мне было любопытно, и заметил, что запрос возвращался "204 No Content."

Оказывается, что 204 No Content "в первую очередь предназначен для того, чтобы разрешить вход для действий, не вызывая изменения в активном представлении активного агента пользователя, хотя любая новая или обновленная метаинформация ДОЛЖНА применяться к документу, находящемуся в настоящее время в активный агент пользователя." Безотносительно.

Я просмотрел исходный код JS и увидел, что запрос "generate_204" запрашивается следующим образом:

(new Image).src="http://clients1.google.com/generate_204"

Никакое объявление/назначение переменных вообще.

Моя первая идея заключается в том, что она была использована для отслеживания включения Javascript. Но вызов "(новое изображение).src="..."" вызван из динамически загружаемого внешнего JS файла в любом случае, поэтому это было бы бессмысленно.

У кого-нибудь есть идеи относительно того, что может быть?

UPDATE

"/generate_204", как представляется, доступен на многих службах и серверах google (например, maps.google.com/generate_204, maps.gstatic.com/generate_204 и т.д.).

Вы можете воспользоваться этим, предварительно запрограммировав страницы generate_204 для каждой принадлежащей Google службе, которую может использовать ваше веб-приложение. Как это:

window.onload = function(){
    var two_o_fours = [
        // google maps domain ...
        "http://maps.google.com/generate_204",

        // google maps images domains ... 
        "http://mt0.google.com/generate_204",
        "http://mt1.google.com/generate_204",
        "http://mt2.google.com/generate_204",
        "http://mt3.google.com/generate_204",

        // you can add your own 204 page for your subdomains too!
        "http://sub.domain.com/generate_204"
    ];
    for(var i = 0, l = two_o_fours.length; i < l; ++i){
        (new Image).src = two_o_fours[i];
    }
};

Ответ 1

Как сказал Snukker, на сайте clients1.google.com появляются предложения по поиску. Я предполагаю, что они делают запрос на принудительное подключение clients1.google.com в ваш DNS-кеш, прежде чем он вам понадобится, поэтому у вас будет меньше времени на первый "реальный" запрос.

Google Chrome уже делает это для любых ссылок на странице и (я думаю), когда вы вводите адрес в строке местоположения. Это похоже на способ заставить все браузеры делать то же самое.

Ответ 2

Я нашел этот старый поток во время google'ing для generate_204, поскольку Android, похоже, использует это, чтобы определить, открыт ли wlan (ответ 204 получен), закрыт (вообще нет ответа) или заблокирован (перенаправление на доступный портал присутствует), В этом случае будет показано уведомление о необходимости входа в WiFi... enter image description here

Ответ 3

Если Chrome обнаруживает тайм-ауты подключения SSL, сертификат ошибок или других сетевых проблем, которые могут быть вызваны портал (например, сеть WiFi в гостинице), Chrome сделает cookieless запрос http://www.gstatic.com/generate_204 и проверьте код ответа. Если этот запрос перенаправлен, Chrome откроет перенаправить цель на новую вкладку, исходя из предположения, что это страница входа. Запросы на страницу обнаружения портативного портала не регистрируются.

Шрифт: Google Chrome Privacy Whitepaper

Ответ 4

Google использует это, чтобы определить, находится ли устройство в сети или в недоступном для порталов портале.

Shill, диспетчер соединений для Chromium OS, пытается обнаружить службы, находящиеся в недоступном портале, когда служба переходит в состояние готовности. Это определение того, что вы находитесь в недоступном для вас портале или находится в сети, пытается получить веб-страницу http://clients3.google.com/generate_204. Известно, что этот известный URL-адрес возвращает пустую страницу со статусом HTTP 204. Если по какой-либо причине веб-страница не возвращается или получен ответ HTTP, отличный от 204, то шилл отмечает, что служба находится в состоянии портала.

Ниже приведено соответствующее объяснение из Google Chrome Privacy:

Если Chrome обнаруживает тайм-ауты SSL-соединения, ошибки сертификата или другие сетевые проблемы, которые могут быть вызваны неактивным порталом (например, сеть WiFi в гостинице), Chrome сделает cookieless запрос http://www.gstatic.com/generate_204 и проверьте код ответа. Если этот запрос перенаправлен, Chrome откроет цель перенаправления на новой вкладке, исходя из предположения, что это страница входа в систему. Запросы на страницу обнаружения портативного портала не регистрируются.

Дополнительная информация: http://www.chromium.org/chromium-os/chromiumos-design-docs/network-portal-detection

Ответ 5

204 ответа иногда используются в AJAX для отслеживания кликов и активности страниц. В этом случае единственная информация, передаваемая серверу в запросе на получение, представляет собой файл cookie, а не определенную информацию в параметрах запроса, поэтому здесь это не похоже.

Кажется, что clients1.google.com является сервером за поиском Google. Когда вы посещаете http://www.google.com, cookie передается http://clients1.google.com/generate_204. Возможно, это запуск какой-то сессии на сервере? Независимо от использования, я сомневаюсь, что это очень стандартное использование.

Ответ 6

В этих документах объясняется:

http://docs.lib.purdue.edu/cgi/viewcontent.cgi?article=1417&context=ecetr&sei-redir=1

(Поиск для генерации204)

Соответствующий раздел:

Среди разных объектов функция javascript запускает запрос generate204, отправленный на видеосервер, который должен обслуживать видео. Это запустит предварительную выборку видео, которая имеет две основные цели: во-первых, это заставляет клиента выполнять разрешение DNS имени видеосервера. Во-вторых, он заставляет клиента открывать TCP-соединение к видеосерверу. Оба способа ускоряют фазу загрузки видео.

Кроме того, запрос generate204 имеет точно такой же формат и параметры реального запроса загрузки видео, чтобы видеосервер в конечном итоге был предупрежден о том, что клиент, возможно, скоро загрузит это видео. Обратите внимание, что видеосервер отвечает с ответом 204 No Content, как это подразумевается в команде, и до сих пор не загружается видеоконтент.

Ответ 8

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

может быть простейший простой анти-бот-псевдо.

On GET (google.*) Save RemoteEndPoint
{
    If RemoteEndPoint GETs (clients1.google.com/generate_204) Then
        Set botAlert_stage1 = false;
    Else
        Set botAlert_stage1 = true;
    End If
}

Я также считаю, что последняя страница "Главная страница" google также является новым инструментом, помогающим в борьбе с спамом/бот-активностью.

** ПРИМЕЧАНИЕ ** ipv6.google.com также включает эту меру.

Просто мои необоснованные два раза без защиты 2p.

Ответ 9

Многие приложения получают доступ к этому URL-адресу, чтобы определить, есть ли у них соединение, которое ведет только к невостребованному порталу.

Идея заключается в том, что любой невольный портал считает, что это "обычный" веб-сайт, а затем перенаправляет вас на его сайт портала, который возвращается с статусом 200. Если приложение пытается получить доступ к любому обычным веб-сайтам, оно сталкивается с совершенно неожиданный ответ и может иметь проблемы с выяснением того, что случилось. Однако с этим URL-адресом это легко: если вы получаете статус 200, вы попадаете в невольный портал, и вы можете сказать своему пользователю что-то сделать с ним (как правило, либо входить в портал с помощью браузера, либо отключать Wi-Fi и полагаться на 3G, если они используют телефон). Если вы получаете статус 204, вы подключились к Google, поэтому ваше приложение действительно подключено к Интернету.

Microsoft и Apple используют несколько иной подход; они оба имеют некоторые URL-адреса, которые возвращают очень конкретное короткое текстовое сообщение со статусом 200, поэтому вместо доступа к URL-адресу Google вы можете, например, перейти на "captive.apple.com" и проверить статус 200 с данными = "Успех" и ничего больше. Если вы получаете статус 200, а не точно эти данные, вы снова попадаете в невольный портал.

Ответ 10

Генератор 204 может динамически загружать предложения критериев поиска. Как я могу видеть из теста загрузки script, это, по-видимому, отвечает за каждый вызов сервера каждый раз, когда пользователь вводит в текстовое поле

Ответ 11

Ну, я несколько раз смотрел на это и приводил к тому, что Google регистрирует рефери, откуда они приходят с первого раза на google.com для ex; отслеживание с помощью Google Chrome. У меня есть 90% -е предположение, что для ведения журналов, может быть статистика User-Agent хорошо известна, когда Google опубликовал свой список стандартов использования браузеров:

Заголовки ответов

  • Content-Length: 0
  • Content-Type: text/html
  • Дата: Пт, 21 Май 2010 17:06:24 GMT
  • Сервер: GFE/2.0

Здесь " Referer" в разделе ^ Заголовок запроса "показывает статистику Googles, которую многие люди приходят от Microsoft.com, также разбор слово Windows 7" на помогите мне сосредоточиться на Windows 7 в моих последующих поисковых запросах.

//Стивен