Ранние подсказки или HTTP/2 push с ASP.NET Служба приложений Azure

#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. Оберните вокруг него Облачный свет.