Я использовал дополнение YSlow Firefox, и оно возвращает следующий результат:
----------------------------------------------- ------------------------------------------
Оценка D на Компресс Компоненты с gzip
Есть 3 простых текстовых компонента, которые нужно отправить сжатыми
* http://localhost:63808/WebSite/BemVindo/
* http://localhost:63808/WebSite/css/Global.css?...
* http://localhost:63808/WebSite/js/Global.js?...
----------------------------------------------- ------------------------------------------
Итак, я начал искать и получил этот кусок кода:
Global.asax
Private Sub Application_PreRequestHandlerExecute(ByVal sender As Object, ByVal e As EventArgs)
Dim Response As HttpResponse = HttpContext.Current.Response
Dim AcceptEncoding As String = HttpContext.Current.Request.Headers("Accept-Encoding")
If Not String.IsNullOrEmpty(AcceptEncoding) AndAlso AcceptEncoding.Contains("gzip") OrElse AcceptEncoding.Contains("deflate") Then
If AcceptEncoding.Contains("deflate") Then
Response.Filter = New System.IO.Compression.DeflateStream(Response.Filter, System.IO.Compression.CompressionMode.Compress)
Response.AppendHeader("Content-Encoding", "deflate")
Else
Response.Filter = New System.IO.Compression.GZipStream(Response.Filter, System.IO.Compression.CompressionMode.Compress)
Response.AppendHeader("Content-Encoding", "gzip")
End If
End If
Response.AppendHeader("Vary", "Content-Encoding")
End Sub
А теперь у меня есть:
Степень А на Компрессе компонентов с помощью gzip
Хорошо, гул? Вопрос в том, является ли событие Application_PreRequestHandlerExecute лучшим местом для gzip / дефлятирования запросов?