#asp.net #azure #http2 #pagespeed
Вопрос:
Мы хотим использовать либо HTTP/2 push, либо Ранние подсказки, чтобы как можно скорее получить доступ браузера к таблицам стилей (и другим ресурсам). Это делается для того, чтобы сократить время для LCP, как сообщается в основных веб-показателях Google Search Console.
С HTTP/2 push наши попытки были пресечены частичной поддержкой Azure HTTP/2, что приводит к исключению несанкционированного доступа при вызове PushPromise, например HttpContext.Response.PushPromise("/css/main.css");
. Microsoft говорит:
Поддержка протокола HTTP/2 доступна только для запросов от клиентов к входной двери. Связь от входной двери до задних концов в интерфейсном пуле осуществляется по протоколу HTTP/1.1.
Кроме того, поддержка PushPromise в ASP.NET ЯДРО было рассмотрено и отклонено.
С ранними подсказками наши попытки были сорваны отсутствием поддержки в стеке Microsoft для отправки информационного ответа 103, как обсуждалось (и припарковано) на https://github.com/dotnet/aspnetcore/issues/27851:
Как отметил @Tratcher, возможно, этот API не сможет обеспечить поддержку во всех сценариях хостинга, как в случае IIS/Http.Sys это требует работы в Http.Система на уровне операционной системы.
Есть ли у кого-нибудь творческие обходные пути, чтобы мы могли заставить клиента загружать ресурсы, пока страница все еще создается (не отказываясь полностью от Azure)?
Комментарии:
1. Вы бы хотели использовать websockets или Azure SignalR?
2. Оберните вокруг него Облачный свет.