请观看这段简短的视频,详细显示我的问题 :http: //youtu.be/uAza4m3fxpY?hd=1
我有一台运行Netbeans Web项目的Glassfish 3.1服务器。我有一个非常简单的.jsp文件,其内容类型设置为’text / html’,并且正文中有一大部分虚拟文本。看起来像这样:
<%@page contentType="text/html" pageEncoding="UTF-8"%> <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>Gzip Test</title> </head> <body> <h1>Gzip compsression test</h1> <p>****LOTS OF DUMMY TEXT***</p> </body> </html>
在Glassfish管理员中,我为HTTP侦听器强制启用了gzip压缩(如本指南中所述:http : //www.vikasing.com/2010/01/enable- gzip-compression-on-glassfish-v3.html)
当在Firefox中加载页面并查看响应标头时,我希望看到Content-Encoding: gzip,但它不存在。
Content-Encoding: gzip
为什么内容没有被压缩?
我发现这是Glassfish 3.1中的错误。它不accept-encoding使用,字符属性拆分标题。例如,如果将firefox的accept- encoding标头设置为:gzip, deflate由于逗号将内容固定,它不会gzip内容,但是如果将其设置为gzipgzip,则服务器会压缩它的内容,因为没有逗号阻塞。显然,此问题已在Glassfish 3.1.1中修复,但我尚未对其进行测试。有关更多详细信息,请参见:http : //www.java.net/forum/topic/glassfish/glassfish/gzip-compression- glassfish-3-doesnt- work?force= 899。
accept-encoding
,
accept- encoding
gzip, deflate
gzip