DNS-кэш Chrome имеет отрицательный TTL и истекает через минуту

646
MaverickD

Здесь есть похожий вопрос: почему в Chrome DNS-кэш имеет TTL -1000? но он также не отвечает.

Когда я захожу, chrome: // net-internals / # dns, я вижу много DNS-кеша со -1000значением. Когда я нажимаю Clear host cacheи посещаю новый веб-сайт, я получаю новый кэш с тем же отрицательным значением, срок его действия истекает в течение минуты или около того.

Может кто-нибудь, пожалуйста, объясните это?

1

1 ответ на вопрос

0
harrymc

По моим собственным наблюдениям, столбец TTL не имеет смысла и всегда содержит значение -1000. Я могу только предположить, что это связано с тем, что DNS-кеш Chrome не соответствует стандартам и делает свое дело. Смотрите ниже для получения дополнительной информации.

Сообщение Unix Stack Exchange Chromium / Chrome не кэширует DNS-запросы более чем на минуту, цитирует ответы от bugs-chromium - выпуск 164026 - DNS TTL не учитывается с 21 апреля 2011 г., который был закрыт 10 октября 2013 г. как «WontFix (устарел / работает»). как предполагалось)"

Это приводит эту цитату из сообщения об ошибке:

HostCache в настоящее время принимает TTL = 60 с для всех положительных результатов. При использовании асинхронного преобразователя DNS мы планируем использовать TTL = max (60 с, server_reported_ttl), т. Е. Как минимум 60 с. Обоснованием является повышение производительности кеша. (Когда CDN NS предоставляет TTL = 10-20 с, а для извлечения всех подресурсов требуется более 30 с, нам часто приходится повторно запрашивать одно и то же имя хоста во время загрузки одной страницы.)

Кроме того, хотя Chrome помечает записи в кэше через минуту как [Expired]записи, они просто остаются там. Я не пытался измерить, как долго, но они все еще были там по крайней мере 15 минут после истечения срока годности.

Мой вывод заключается в том, что в поисках скорости Chrome обходится довольно далеко, даже не подчиняясь правилам DNS. В частности, он игнорирует значение TTL, помечая все записи как истекшие только через одну минуту, но затем идет вперед и сохраняет эти записи в течение неизвестного (для меня) периода времени.

Значение в столбце TTL и [Expired]отметка не имеют реального значения. Chrome будет продолжать оценивать скорость выше многих других соображений.

Похожие вопросы