Почему некоторые веб-сайты показывают 0 байт в инструментах разработчика Chrome

14

Я занимаюсь оптимизацией скорости страницы для своего сайта и изучаю, как это делают другие сайты. Я заметил, что некоторые веб-сайты, такие как Facebook или Ringgitplus, показывают 0 байт для некоторых своих ресурсов в инструментах разработчика Chrome на вкладке «Сеть», тогда как реальный размер контента составляет несколько килобайт.

Снимок экрана вкладки "Сеть", показывающий 0 байт для некоторых ресурсов

Я прочитал несколько статей, в которых говорится, что размер - это объем выборки, а содержание - это фактический размер ответа. Поэтому, когда размер равен 0 байтов, это означает, что он подается из кэша. Но то же самое произошло, когда я открывал страницу с помощью Incognito или очищал весь кэш.

Как это возможно и как я могу добиться того же для моих сайтов?

kecebongsoft
источник
2
и если вы сделаете Ctrl + F5 (кеш в обход перезагрузки)
чокнутый урод
1
Вы уже профилировали свою страницу, используя developer.yahoo.com/yslow ?
Марсель
@ratchetfreak Это все то же самое.
kecebongsoft
@Marcel Да, я использую несколько инструментов, таких как тот, который вы упомянули, Google Page Speed, а также webpagetest.org
kecebongsoft
На самом деле не отвечает на вопросы о том, почему не кэшированные ресурсы могут показывать 0b, но вот хороший вопрос SO, который учитывает разницу: stackoverflow.com/questions/8072921/…
Бен Ли,

Ответы:

4

Понимание поведения Chrome легче всего увидеть на сайте, который поддерживает http и https .

Если вы откроете Инструменты разработчика и просмотрите это изображение , то Chrome сообщит о 27.1k, если изображение кэшировано, и 257 байт, если это не так. Вы можете очистить кэш в инструментах разработчика, щелкнув правой кнопкой мыши область в нижней части экрана (например, рядом с nav_logo161.png).

Теперь откройте ссылку с https . Chrome сообщает 0 байтов независимо от того, кэширован ли элемент или нет. Если он кэшируется, вы получаете 304, а если он не кэширован, вы видите статус 200. Но вы можете видеть в латентности, что некэшированный ответ занимает намного больше времени.

Короче говоря, если вы хотите, чтобы Chrome сообщал 0 байтов для вашей веб-страницы, используйте https .

Эта ошибка записана здесь и здесь .

Эта ошибка заметна в первую очередь при просмотре изображений. Причина, по которой вы заметили это по ссылкам http в оригинальном посте, заключается в том, что обе стороны фактически отображают в https .

dcaswell
источник