Tag: gzip

为什么浏览器不能发送gzip请求?

如果web服务器可以发送gzip响应,为什么浏览器不能发送gzip请求?

如何在Apache 2.x中使用mod_deflate预压缩文件?

我通过Apache提供的所有内容与Content-Encoding: zip但即时压缩。 我的内容很多是磁盘上的静态文件。 我想事先gzip文件,而不是每次请求时压缩它们。 我相信这是mod_gzip在Apache 1.x中自动执行的,只是在它旁边有.gz文件。 mod_deflate不再是这种情况。

我怎样才能在IIS7工作中获得gzip压缩?

我已经为IIS7安装了静态和dynamic压缩,并在我的应用程序Virtual Folder级别设置了两个web.config值。 据我了解,我不需要在服务器或站点级别启用压缩,我可以使用我的web.config文件在每个文件夹的基础上进行pipe理。 我在我的.config文件中有两个设置,我已经设置为我的应用程序自定义gzip: <httpCompression dynamicCompressionDisableCpuUsage="90" dynamicCompressionEnableCpuUsage="0"> <scheme name="gzip" dll="%Windir%\system32\inetsrv\gzip.dll" /> <dynamicTypes> <remove mimeType="*/*"/> <add mimeType="*/*" enabled="true" /> </dynamicTypes> </httpCompression> <urlCompression doDynamicCompression="true" dynamicCompressionBeforeCache="true" /> 但是,当我运行应用程序时,我可以清楚地看到gzip没有被使用,因为我的页面大小是一样的。 我也使用YSlow的FireFox,这也确认我的网页不被gziped。 我在这里错过了什么? 在IIS6中,指定文件types是简单的事情,并且在0-10之间设置压缩级别。 我没有看到需要logging指定文件types或压缩级别,因为默认似乎覆盖文件types,我没有看到任何地方的水平。

为什么我的C#gzip生成比Fiddler或PHP更大的文件?

如果我GZip这个文本: 你好,世界 通过C#使用这个代码: Stream stream = new MemoryStream(Encoding.Default.GetBytes("Hello World")); var compressedMemoryStream = new MemoryStream(); using (var gzipStream = new GZipStream(compressedMemoryStream, CompressionMode.Compress)) { stream.CopyTo(gzipStream); gzipStream.Close(); } 结果stream是133字节长 通过Fiddler的Utilities.GzipCompress或这个PHP页面运行相同的string,结果只有31个字节长。 在这两种情况下,input是11个字节,所以我可以想象PHP的结果是正确的,但显然这意味着我不能从.NET中解压缩PHP zip,反之亦然。 为什么.NET的输出更大? 事实上,PHP和Fiddler的结果是相同的,但它们并不相同。 我可以在.NET中解压缩PHP版本,但不能提供Fiddler版本。 PHP页面解压所有这三个,所以看起来好像在Fiddler和.NET的gzip实现之间可能是不兼容的。 按照要求,我已经在这里上传了三个输出到Dropbox。 这些是这些文件的原始hexdumps(不知道他们是否真的有这样的使用,但我认为这表明,提琴手和PHP版本之间的区别是在头,而不是压缩的数据本身): 小提琴手: 0000-0010: 1f 8b 08 00-c2 e6 ff 4f-00 ff f3 48-cd c9 c9 57 …….O …H…W 0000-001f: 08 cf […]

Android:HTTP通讯应该使用“Accept-Encoding:gzip”

我有一个HTTP通信到Web服务器请求JSON数据。 我想用Content-Encoding: gzip压缩这个数据stream。 有没有一种方法可以设置Accept-Encoding: gzip在我的HttpClient中? Android引用中的gzipsearch不会显示与HTTP相关的任何内容,如您在此处所看到的。

Gzip与缩小

前些日子,我讨论了一些比较喜欢使用Gzip的Javascript和CSS的讨论。 我会打电话给这个人 X表示Gzip已经将代码缩小了,因为它能够压缩你的文件。 我不同意。 Zip是一种缩小文件大小的无损方法。 无损意味着原件必须完美地恢复,这意味着必须存储信息以便能够恢复空格,不需要的字符,注释的代码和其他所有内容。 这占用了更多的空间,因为更多必须被压缩。 我没有testing的方法,但我相信这个代码的Gzip: .a1 { background-color:#FFFFFF; padding: 40px 40px 40px 40px; } 仍然会比这个代码的Gzip更大: .a1{body:background-color:#FFF;padding:40px} 有没有人可以certificate这个对或错。 请不要说“这是正确的,因为这是我一直使用的”。 我在这里要求科学certificate。

如何使用zlib解压缩gzipstream?

Gzip格式文件(例如使用gzip程序创build)使用“deflate”压缩algorithm,这与zlib使用的压缩algorithm相同。 但是,使用zlib来Z_DATA_ERROR gzip压缩文件时,库会返回一个Z_DATA_ERROR 。 我如何使用zlib解压缩gzip文件?

通过WebClient.DownloadData自动解压缩gzip响应

我希望自动解压GZiped响应。 我正在使用下面的代码片段: mywebclient.Headers[HttpRequestHeader.AcceptEncoding] = "gzip"; mywebclient.Encoding = Encoding.UTF8; try { var resp = mywebclient.DownloadData(someUrl); } 我已经检查HttpRequestHeader enum ,并没有select通过Headers做到这一点 我怎样才能自动解压缩resp? 或者是否有另一个function,我应该使用,而不是mywebclient.DownloadData ?

如何使用与.Net兼容的GZIPOutputStream来压缩和解压缩string?

我需要一个在Android中使用GZip压缩string的例子。 我想发送一个string像“你好”的方法,并获得下面的压缩string: BQAAAB + LCAAAAAAABADtvQdgHEmWJSYvbcp7f0r1StfgdKEIgGATJNiQQBDswYjN5pLsHWlHIymrKoHKZVZlXWYWQMztnbz33nvvvffee ++ 997o7nU4n99 // P1xmZAFs9s5K2smeIYCqyB8 / fnwfPyLmeVlW / W + GphA2BQAAAA == 然后我需要解压缩它。 有谁能给我一个例子,并完成以下方法? private String compressString(String input) { //… } private String decompressString(String input) { //… } 谢谢, 更新 根据主席的回答 ,现在我有以下四种方法。 Android和.net压缩和解压缩方法。 除了一种情况,这些方法是相互兼容的。 我的意思是他们在前三个州是兼容的,但在第四个州是不兼容的: 状态1)Android.compress < – > Android.decompress:( OK ) 状态2)Net.compress < – > Net.decompress:( OK ) 状态3)Net.compress – […]

python urllib2会自动解压缩从网页中提取的gzip数据吗?

我在用着 data=urllib2.urlopen(url).read() 我想知道: 我怎么知道一个URL的数据是否被压缩? urllib2会自动解压缩数据吗? 数据总是一个string?