我使用了YSlow Firefox附加组件,它返回以下结果:使用gzip压缩组件的D级
--------------------- -------------------------------------------------- ------------------
d级上压缩部件用gzip
有应发送压缩
* http://localhost:63808/WebSite/BemVindo/
* http://localhost:63808/WebSite/css/Global.css?...
* http://localhost:63808/WebSite/js/Global.js?...
3个明文部件 - -------------------------------------------------- --------------------------------------
于是我开始寻找并得到了这一段代码:
的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
精细压缩部件A级,哼?问题是:Application_PreRequestHandlerExecute事件是对请求进行gzip/deflate的最佳位置吗?
我没有直接回答,因为我没有做IIS,所以我可能是错的“最佳实践”,但你通常* *配置此在这里描述的Web服务器级别http://www.microsoft.com/technet/prodtechnol/WindowsServer2003/Library/IIS/25d2170b-09c0-45fd-8da4-898cf9a7d568.mspx?mfr=true顺便说一下,当前标题“添加过期标题”相关的问题? :) – BalusC 2010-01-22 21:21:44
但我没有控制IIS ......这段代码实际上起作用了,但我担心它是否会在请求开销之前! 呵呵,我改了标题,这是另外一个问题。 – Fernando 2010-01-22 21:40:29