Таким образом, может быть несколько вещей после некоторого тестирования с различными конфигурациями, версиями и флагами браузера, включенными / отключенными в Chrome, а также исследования с помощью средства просмотра сетевых событий.
Если на веб-сервере LiteSpeed включен QUIC, Chrome v71, похоже, отображает запрос как обычный запрос GET и не будет указывать на его отправку, однако, просматривая средство просмотра сетевых событий в Chrome, он обнаруживает, что он действительно нажата (ищите QUIC_SESSION_PUSH_PROMISE_RECEIVED).
Теперь, это будет иметь место только в том случае, если QUIC в браузере также включен, чего в настоящее время нет в Chrome v71, насколько я могу судить (они отключают и включают вещи время от времени) - поэтому вам нужно либо установить флаг в Chrome, чтобы включить QUIC, и вы увидите вышеупомянутое поведение (вы также должны увидеть http/2+quic/43
в «Протоколе» в инструментах веб-разработчика).
Если QUIC не включен в браузере или на веб-сервере, вы должны увидеть, как файл выдвигается, и Chrome v71 сообщит об этом инициатору «Push / Other».
Теперь в Chrome v73 (выпуск Canary) для «Инициатора» будет установлено значение Other
, а для параметра «Размер» должно быть (from memory cache)
, это указывает на файл, который нужно отправить.
В Google Chrome вы можете перейти в chrome: // net-export / и нажать «Начать запись на диск», затем обновите окно браузера, где у вас есть файл, который вы хотите отправить - остановите измерение и перейдите к https://netlog -viewer.appspot.com / - импортируйте сюда файл json, перейдите в раздел «QUIC», найдите ваше доменное имя в списке и нажмите «Идентификатор соединения».
Затем нажмите «QUIC_SESSION» в списке и найдите QUIC_SESSION_PUSH_PROMISE_RECEIVED
- если есть совпадения, вы точно знаете, что файлы выдвигаются.
Нужно немного разобраться, толкнул ли он в данный момент, и путаница в основном связана с тем, что Chrome Dev Tools на самом деле не согласованы между протоколами и версиями.