Хорошо, это интересный вопрос. Ответ: Нет, вы не должны этого делать. Но причина немного в другом, чем вы думаете...
По несколько загадочным причинам шрифты всегда запрашиваются без учетные данные (в основном файлы cookie). Для большинства браузеров (за исключением Edge) это означает, что браузер открывает другое соединение для этого запроса, и это важно, поскольку HTTP/2 Push-сообщения связаны с соединением. Таким образом, если вы отправляете ресурс в одно соединение, а браузер переходит к получению ресурса из другого соединения, он не будет использовать этот переданный ресурс (вы не отправляете напрямую в HTTP-кэш, как вы могли бы подумать).
Это и множество других тонкостей и пограничных случаев HTTP/2 Push обсуждались Джейком Арчибальдом в его превосходной работе HTTP/2 push сложнее, чем я думал.
Но возникает вопрос о том, как вы можете решить, какой формат отправлять, даже если это не было проблемой, или если вы хотите, например, отправить изображения в разных форматах (это будет по тому же соединению). Помимо просмотра User-Agent и предположений на его основе, теперь у вас есть способ узнать, что поддерживает браузер.
В настоящее время разрабатывается новый заголовок HTTP Client Hints. предложенный, который направлен на то, чтобы позволить браузеру указать специфику устройства. В настоящее время это больше связано с размером и плотностью изображения, но теоретически может также включать поддерживаемые форматы файлов.
person
Barry Pollard
schedule
07.03.2018