Сообщения

Показаны сообщения с ярлыком "HTTP"

Компрессия данных в ASP.NET Core

Протокол HTTP предусматривает использование сжатия данных. В спецификации указаны, такие способы, как deflate , compress , gzip . Если клиент способен принимать данные в сжатом виде, то он отправляет заголовок Accept-Encoding: gzip, deflate Если на сервере реализован механизм сжатия данных, то сервер сжимает содержимое ответа и указать это в заголовке Content-Encoding: gzip Настройки на уровне IIS Configuring HTTP Compression in IIS 7 <system.webServer> <httpCompression directory= "%SystemDrive%\inetpub\temp\IIS Temporary Compressed Files" > <scheme name= "gzip" dll= "%Windir%\system32\inetsrv\gzip.dll" /> <dynamicTypes> <add mimeType= "text/*" enabled= "true" /> <add mimeType= "message/*" enabled= "true" /> <add mimeType= "application/javascript" enabled= "true" /> <add mimeType= "*/*...

Кеширование с ETag в ASP.NET Core

ETag или entity tag - один из механизмов кэширования в HTTP. Фактически сервер присваивает идентификатор состоянию ресурса. Если состояние изменилось идентификатор должен быть обновлен. Это может быть как статика (CSS, картинки, возможно какие то актуальные документы и пр) так и динамически формирующиеся данные. В общем виде для создания ETag можно использовать хэш-функцию по содержимому ресурса, желательно устойчивую к коллизиям. Сильные и слабые проверки Слабая проверка отличается наличием начального W/ в ETag и проверяет, что два ресурса семантически эквивалентны и фактически являются взаимозаменяемыми, хотя могут быть не идентичны байт за байтом. Сильная проверка ETag проверяет, что содержание в обоих ресурсах байт за байтом идентично, и что все другие поля (такие как Content-Language), также не отличаются.  Сильные ETags допускают кэширование и сборку частичных ответов, как при запросах диапазона байт. Вариант использование Веб-сервер в заголовки HTTP во...