Как стать автором
Обновить

Комментарии 75

По мне так костыль какой то.
Какое решение этой ситуации, по-вашему, будет не костыльно?
Убить всех человеков.
Аватарка как раз подходит :)
Бендер против Кенни бессилен.
Косталь — то что делают провайдеры, перенаправляя на поиск.
вот это:
Он устанавливает короткую задержку (в данный момент 7 секунд), чтобы дать загрузиться всем важным модулям браузера,

костыль и есть.
Зачем писать много кода который бы выстраивал идеальную загрузку всех компонентов браузера, ради того чтобы равно по загрузке последнего послать 3 запроса. Простая задержка намного проще это раз а во вторых успеют или не успеют загрузится все компоненты абсолютно не важно для данной процедуры.
а во вторых успеют или не успеют загрузится все компоненты абсолютно не важно для данной процедуры.
если это неважно, то зачем вообще нужна задержка?
НЛО прилетело и опубликовало эту надпись здесь
Из текста я понял чтобы хром быстрее прогрузился, о том что все падает если запросы не в нужный момент шлются я не увидел информации.
Можно конечно, как некоторые другие разработчики, твердить, что это мол не их вина, что провайдеры используют редирект. А можно подумать о пользователе и решить проблему, хоть и костылем.
А еще обязательно нужно послать лучи ненависти этому провайдеру.
>… некоторые интернет-провайдеры перенаправляют запросы типа hxxp://text/ на что-то вроде hxxp://your.helpful.isp/search?q=text
>… она мешает работе эвристических алгоритмов Omnibox, которые…

перенаправляют запросы типа hxxp://text/ на что-то вроде hxxp://yourhelpfulgoogle.com/search?q=text

вот уж действительно

>… оставим в стороне обсуждение, правильной или неправильной является такая «помощь»
НЛО прилетело и опубликовало эту надпись здесь
НЛО прилетело и опубликовало эту надпись здесь
>Поэтому Chrome и осуществляет проверку при запуске программы. Код браузера открыт, и поэтому можно >посмотреть, как это реализовано в программе.

Откуда же эти «странные конспирологические теории» если можно просто заглянуть в код?
>Откуда же эти «странные конспирологические теории» если можно просто заглянуть в код?

Если бы так рассуждали все люди — мир бы был намного лучше.
Наверное не в код непосредственно Chrome, так как, на сколько мне известно, он не open source.
Chromium + propetiary_plugins = Chrome
Cromium = open source
propetiary_plugins = flash, pdf,…
ИМХО, не факт ;)
Факт или не факт — не докажешь.
Но обсуждаемый функционал есть и в Chromium (только что словил его wireshark'ом).
НЛО прилетело и опубликовало эту надпись здесь
Их придумывают те, у кого недостаточно скилла, чтобы «заглянуть в код».
НЛО прилетело и опубликовало эту надпись здесь
Этот отрывок никогда не устану смотреть :))
Действительно, кто-то может предложить лучше решение? Предложите! И наверняка его будут использовать в новых версиях браузера. А ныть по этому поводу, да еще и в ситуации, когда код открыт — как-то не логично.
Вполне рабочее решение используется.
Как вариант можно проверять валидность домена, вместо того чтобы проверять его HEAD-запросом… Хотя это может обидеть любителей прописать невалидные домены в /etc/hosts для своих локальных сайтов :-)
Зачем предлагать пользователю перейти на валидный, но несуществующий домен? Решение с HEAD запросом — самое здравое.
Ну Chrome 17 вообще-то именно так и переходит, если домен валидный. Т.е. вы получите что-то типа «К сожалению, Google Chrome не может найти страницу djhgjfhjfhj.ru.», а не переход на www.google.ru/search?sourceid=chrome&ie=UTF-8&q=djhgjfhjfhj.ru
Плюс, сейчас такие времена, что начинают создавать домены первого уровня, а тут уже фиг проверишь
НЛО прилетело и опубликовало эту надпись здесь
НЛО прилетело и опубликовало эту надпись здесь
в чем проблема?
А если за 7 секунд «все важные модули» не загрузятся?
Доступ в сеть загрузится. А от кеша данный хак не зависит. Вполне рабочее решение.
НЛО прилетело и опубликовало эту надпись здесь
Без пруфа в исходном коде хромиума ваше заявление, как и мое выглядят гаданием по кофейной гуще.

Я полностью согласен с вами что в общем, это не решение проблемы. Но в данном частном случае оно является вполне приемлемым.
НЛО прилетело и опубликовало эту надпись здесь
Того, что существует возможность race condition.

Я не знаю кем вы работаете в Яндексе, но если как-либо связаны с ИТ, то должны понимать, что гарантировать что-либо на 100%, тем более на клиенте невозможно.
Скорее уж нельзя гарантировать, что что-то загрузится за 7 секунд. Вообще, что за магическая цифра — 7 секунд? Почему 7? И почему именно за 7 секунд все эти модули обязаны загрузиться? Что будет, если они таки не загрузятся?
Хост не сохранится как redirect origin. Омнибар будет работать как буд-то этого кода и не было.
Да дело тут даже не в том будет работать омнибар или нет, а в том что это вообще очень спорный подход для определения события «загружены все важные модули». От Google было бы логичнее ожидать более качественного решения, чем использование magick timeout, хотя бы с callback на нужном событии.
Ну это же Ализар, поэтому я и говорил что нужен пруф. Но мне мой уровень не позволит за пару десятков минут разобраться в архитектуре Chromium.

К слову, в Chromium есть много более важных задач. Поэтому в какой-то мере это показывает что в Google не страдают синдромом идеального кода.
НЛО прилетело и опубликовало эту надпись здесь
Про всех я говорить не могу.
НЛО прилетело и опубликовало эту надпись здесь
НЛО прилетело и опубликовало эту надпись здесь
Ваше место работы я привел лишь потому, что обычно свое мнение человек строит в первую очередь, по собственному опыту. И если вы таки занимались довольно серьезными задачами, а не быдлокодерством на Жумле и прочем (не хочу этим никого обидеть), то ваша позиция более-менее ясна.
По хорошему, этот модуль должен запускаться по событию типа «сетевые модули загружены». Но из текста статьи непонятно, там используется просто таймер, или же имелось в виду, что сетевые модули запускаются в среднем 7 секунд.
Как то интересно, код открыт, проблема естьбыла, посмотреть в сам код некому?
Код не открыт
промахнулся ответил ниже, как же цитата из поста?
Поэтому Chrome и осуществляет проверку при запуске программы. Код браузера открыт, и поэтому можно посмотреть, как это реализовано в программе.
Не знаю, почему так написано в статье, но в ней говорится о Chrome, код которого закрыт, а открыт код Chromium.
Ничего, что ваша ссылка приводит на код chromium, а не chrome?
А ничего, что Chrome отличается от Cromium'a только наличием не open-source плагинов (flash+pdf)?
Вы уверены?
Я цитирую заявления разработчиков. И не исключаю, что в Chrome может быть что-то, чего нету в Chromium, помимо заявленного.
Что касается статьи — обсуждаемый функционал есть и в Chromium.
Если вы не уверенны то сделайте ревер-инжиниринг, напишите статью на хабр.
Интересно, какое решение будет следующим, когда провайдеры начнут бороться с текущим методом, который использует хром? Судя по описанию, им достаточно ресолвить несуществующие домены не в один и тот-же айпишник, а в разные.
А зачем провайдерам бороться с этим?
Этот функционал нужен только для правильной работы омнибокса — тулзы, которая определяет поисковой запрос был введен в адресную строку или url или навигационный запрос или еще что-то.
Затем же, зачем они делают hxxp://your.helpful.isp/search?q=text.
А как вы думаете, зачем они это делают и при чем здесь работа омнибокса?
Есть единое поле ввода, куда можно ввести адрес сайта или запрос. Есть пограничные случаи, когда введенное можно интерпретировать и так и так (sitename–>http://sitename.com). Если sitename существует, мы попадаем на него, иначе у нас открывается гугл. Правильно?

Например, если мы контролируем DNS сервер, которым пользуется клиент, и ресолвим несуществующие домены, мы можем перенаправить часть трафика на свою страницу и показывать банер.
Хм. И действительно, я об этом не подумал.

Я почему-то думал только про случаи, когда первый запрос, либо все запросы при неоплаченном интернете редиректятся.
Поэтому Chrome и осуществляет проверку при запуске программы. Код браузера открыт, и поэтому можно посмотреть, как это реализовано в программе.
Как в Хроме выключить функцию, бросающую в поиск гугла при наборе внутренних адресов с локальным доменом?
Ставить / после локального домена?
НЛО прилетело и опубликовало эту надпись здесь
Как вариант, вводить домены с http://, тогда не перенаправляет. Да и после одного перехода он запоминает, что это домен, и в следующий раз дает ввести как и любой другой адрес.
не знаю почему у вас проблемма,
должно работать и без слеша.
скорее-всего виноват ваш внутренний DNS сервер или конфигурация сети (VPN?)
А еще такой интересный баг. Если у провайдера включена переадресация (не заплатил за интернет), то при наведении(!) мышки на звездочку хром падает. Это оно?

А вообще похоже на заговор. Хром проверяет, не захватил ли еще Google весь Интернет.
Ага — пользуется ли пользователь гугло-днсом :))
Представители Google ещё раз подчёркивают, что случайные запросы при загрузке браузера никуда не отправляют никакой приватной информации о пользователе и не используются для слежения.

Угу, для слежения используются другие запросы к другим доменам :)
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории