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
, как это подразумевается в команде, и до сих пор не загружается видеоконтент.
Ответ 7
Я нашел этот пост в блоге, который объясняет, что он использовал для записи кликов. Без официального слова из Google это может быть использовано в любом количестве.
http://mark.koli.ch/2009/03/howto-configure-apache-to-return-a-http-204-no-content-for-ajax.html
Ответ 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 в моих последующих поисковых запросах.
//Стивен