Почему View Source выдает новый HTTP-запрос?
Я заметил, что и Firefox, и Chrome выпускают новый HTTP
запрос, когда вы view the source
для веб-страницы, которую вы уже загрузили. Это особенно раздражает, когда сама страница загружается медленно или вообще не загружается. Это почему? Разве у них уже не будет кеширован существующий источник для первоначально полученной страницы? Это основано на Cache-Control
заголовки?
Это было у меня на уме какое-то время (обычно возникает при взгляде на то, что стоит за медленными веб-приложениями).
2 ответа
В контексте Chrome, по этой ссылке, он действительно основан на заголовках Cache-Control.
... view-source берет html-источник из http-кэша и довольно печатает его, но для страницы, НЕ находящейся в http-кэше, он "вынужден" сделать новый запрос.
Для меня это имеет смысл. Вы не хотели бы использовать то, что в настоящее время отображается как источник правды, поскольку очевидно, что HTML можно динамически манипулировать. Если вы не можете использовать это, то кеш http будет следующим вероятным кандидатом на источник. Если источник недоступен из cahce, последующим GET источника кажется единственной альтернативой.
Это, однако, вводит еще один интересный вопрос, поднятый здесь
Повторный запрос URL не имеет смысла, поскольку нет никакой гарантии, что источник, полученный во время второго запроса, будет соответствовать тому, что был получен во время первого запроса.
Я полагаю, что это был сознательный компромисс, который был сделан для того, чтобы гарантировать, что запрос источника представления всегда выполняется в той или иной форме.
Вам нужно сделать "Проверить элемент" для живой веб-страницы. Show-code перезагружает страницу, чтобы показать исходный код без изменений.