предисловие
Есть много случаев, когда в запросе показываются временные заголовки, но причины разные.
Если вы выберете поиск по ключевому слову с прямым соответствием, результаты, которые вы получите, могут сильно отличаться от ваших собственных.
Большая часть онлайна появляется при кроссдоменности, либо запрос перехватывается плагином, но запросов на кеширование очень мало.
я здесьЯ обнаружил эту проблему, когда проверял кеш выше, В то время поисковая информация была ориентирована на перехватываемый запрос,
Так что эта статья просто обобщает соответствующую ситуацию.
описание проблемы
Когда вы обновляете страницу и хотите просмотреть соответствующую информацию в заголовке http-запроса,
Обнаружено, что информация о заголовке запроса с использованием кеша (из кеша диска или из кеша памяти) не может быть просмотрена
Первый раз когда увидел, немного растерялся, поэтому пошел искать.
Есть довольно много ситуаций, когда эта подсказка встречается, но она не совсем соответствует нашей сцене.В основном встречается то, что отображаются предварительные заголовки, препятствующие правильной загрузке запроса.
А мы столкнулись с этим только при использовании кеша, и вроде бы запрос не заблокирован. Кажется, это не подходит.
выявить проблему
Хотя я не видел никакой информации о степени соответствия, я виделВдохновляющая статья (нажмите для подробностей).
Выдержки следующие:
The resource could be being blocked by an extension (AdBlock in my case). The message is there because the request to retrieve that resource was never made, so the headers being shown are not the real thing. As explained in the issue you referenced, the real headers are updated when the server responds, but there is no response if the request was blocked.
Ресурсы могут быть перехвачены некоторыми расширениями.
Есть еще одна фраза:
I believe it happens when the actual request is not sent. Usually happens when you are loading a cached resource.
Фактический запрос не отправляется, что часто происходит при использовании кэширования.
Это сообщение появляется, потому что запрос на получение соответствующего ресурса не был отправлен.
Таким образом, отображаемые заголовки на самом деле не являются информацией.
Как уже упоминалось, фактический заголовок обновляется только при возврате сервера.
Когда запрос был перехвачен, он не вернулся.
Исходя из этой ситуации, начните догадываться о причине:
Угадайте 1. Запросы перехватываются между доменами
Хотя статические ресурсы веб-сайта теперь существуют под специальным статическим доменным именем, оно может не соответствовать доменному имени html.
Однако эта проблема в основном решается на основе CORS, поэтому этой проблемы не существует.
Кроме того, при первом запросе такой ситуации не будет, если есть междоменный, то его нужно заблокировать.
Кроме того, если он будет перехвачен, то на запрос не следует отвечать, а здесь мы, очевидно, получили правильный ответ.
Это исключено.
Угадай 2, сервер не ответил вовремя
Этот вид угадывания аналогичен первому, и он появляется только при определенных обстоятельствах и имеет мало общего с сервером.
Догадка 3. Перехвачено расширением
Как разработчик, каждый должен иметь множество плагинов, установленных на своем Chrome. Эта причина еще возможна.
Мы можем найти релевантные запросы по ключевым словам через chrome://net-internals,
Затем подробно изучите соответствующий статус.
Например, мы запрашиваем http://xxdy.tech/css/main.css?v=5.1.4.Видно, что нет таких полей, как block и timeout, а виден только очевидный DISK_CACHE.
Следовательно, эта ситуация не устраивает, мы должны быть сильно связаны с локальным кешем.
локальный кеш
В сочетании с приведенным выше анализом мы можем сузить круг до кеша. Помня об этой цели, мы продолжаем рассматривать актуальную информацию.
последний в постеяпонская информацияНашел объяснение здесь.
Кажется, что трафик из кеша получается только как «показать временный заголовок» (или «выполнить»)
Поскольку файл извлекается из кеша и не передается
Таким образом, подробный заголовок не отображается.
Причина: Неправильная связь с сервером
Оглядываясь назад, можно сказать, что многие из упомянутых выше случаев на самом деле не связываются или не завершают правильную связь с сервером, поэтому отображается только временная информация.
Общая ситуация
Есть несколько ситуаций, в которых отображаются предварительные заголовки:
- Междоменный, запрос перехватывается браузером
- Запрос был перехвачен плагином для браузера
- Ошибка сервера или тайм-аут, нет реального возврата
- Сильный кеш из кеша диска или из кеша памяти не будет отображаться в это время.
заключительные замечания
Резюме показанных предварительных заголовков закончилось здесь Само по себе это не проблема, но если вы не понимаете, вам все равно придется это изучить, иначе это всегда будет проблемой. Эта статья бросает кирпичи и рисует других, подводит итоги и надеется оказать помощь нуждающимся.
Справочная статья
stackoverflow.com/questions/2…
Местонахождение 2memo.net/2017/01/23/…
woohoo.tech folks.net/provisional…