标签: deflate

是否有可能强制jQuery为启用了gzip/deflate的URL进行AJAX调用?

我有一个愿意输出gzip/deflated数据的Web服务.我已经验证该服务将使用原始JSON或使用wget和curl的gzip'd JSON进行响应.

我想使用jQuery AJAX调用来使用这个Web服务.

默认情况下,jQuery提供的$ .ajax调用不会添加"Accept-Encoding:gzip"HTTP请求标头,这是Web服务器使用gzip压缩数据进行响应所必需的.

但是,当我使用jQuery自己的方法添加标头时,例如:

$.ajax({url: 'http://foo.com/service.json',
        beforeSend: function(xhr) { 
            console.log('xhr set'); 
            xhr.setRequestHeader('Accept-Encoding', 'deflate') 
       } 
});
Run Code Online (Sandbox Code Playgroud)

然后浏览器控制台中出现以下错误:

Refused to set unsafe header "Accept-Encoding"
Run Code Online (Sandbox Code Playgroud)

是否有可能强制jQuery为启用了gzip/deflate的URL进行AJAX调用?

如果没有,这是jQuery的缺点,还是AJAX更基本的东西?

ajax jquery gzip web-services deflate

22
推荐指数
1
解决办法
2万
查看次数

在处理给定的数据集时,如何为zlib'setDictionary'找到一个好的/最佳的字典?

我有一组(巨大的)类似的数据文件.该集合不断增长.单个文件的大小约为10K.每个文件都必须自己压缩.使用zlib库完成压缩,该库由java.util.zip.Deflater类使用.使用字典将字典传递给Deflate算法时setDictionary,我可以提高压缩率.

有没有办法(算法)找到'最佳'字典,即具有整体最佳压缩比的字典?

请参阅zlib手册

java compression zlib deflate

20
推荐指数
1
解决办法
7094
查看次数

为什么在使用http gzip压缩后png大小不会改变

我使用以下.htaccess来设置gzip压缩:

AddOutputFilterByType DEFLATE text/html image/png image/jpeg text/css text/javascript
Run Code Online (Sandbox Code Playgroud)

请查看此网址:http://www.coinex.com/cn/silver_panda/proof/china_1984_27_gram_silver_panda_coin/

gzip压缩适用于html,css,js和jpg,但不适用于png(非常棒......)

apache .htaccess gzip http-compression deflate

20
推荐指数
4
解决办法
2万
查看次数

为http压缩选择gzip over deflate是否有任何性能损失?

我们最近将一些网站从deflate切换到gzip,并注意到我们的服务器上的CPU负载显着增加.

sysadmin iis gzip http-compression deflate

15
推荐指数
2
解决办法
4539
查看次数

MsgPack用于压缩json数据,为什么不使用gzip/deflate?

我听说过可以用来压缩json消息的MsgPack,但我有一个问题,为什么不简单地使用Gzip/Deflate而不是MsgPack?我认为调试也好.

compression gzip deflate msgpack

15
推荐指数
1
解决办法
1万
查看次数

是否存在合并两个GZIP文件但未解压缩的GZIP合并?

假设有a.gz和b.gz.

$ gzip_merge a.gz b.gz -output c.gz

我想要这个节目.当然,

$ cat a.gz b.gz> c.gz

不起作用.因为a.gz的最终DEFLATE块具有BFINAL,而b.gz的GZIP头部.(请参阅RFC1951,RFC1952)但是如果你取消设置BFINAL,扔掉第二个GZIP标头并遍历第二个gzip文件的字节边界,你可以合并它.

事实上,我曾考虑为此事编写一个开源程序,但不知道如何发布它.所以我让Joel成为我的项目经理,我让他完成了我的解释和辩护,他终于理解了我想做的事,但说他太忙了.:(

当然,我可以自己写一个并尝试发布它.但我不能单独这样做,因为我的日常工作属于我雇主的财产.

有志愿者吗?我们可以作为程序员(我),出版商(您)或程序员(您),出版商(我).我需要的只是一些功劳.我曾经实现过RFC3320中描述的通用解压缩器虚拟机.所以我知道这是可行的.

或者,你可以指点那个程序.它对于管理日志文件非常有用,例如将365(天)gzip压缩日志文件合并为一个.;)

谢谢.

merge gzip deflate

14
推荐指数
2
解决办法
1万
查看次数

zlib:`deflate`和`compress`函数之间的差异

zlib中的函数deflate()compress()函数有什么区别?

我查看了在线示例,其中一些使用了deflate而其他人使用了compress.

我该如何决定使用哪种情况?

compression zlib deflate

14
推荐指数
1
解决办法
1万
查看次数

GZIPOutputStream:提高压缩级别

java.util.zip.GZIPOutputStream没有为其底层的压缩级别提供构造函数参数或setter Deflater.

有办法解决这个问题,如所描述这里,例如:

GZIPOutputStream gzip = new GZIPOutputStream(output) {
    {
        this.def.setLevel(Deflater.BEST_COMPRESSION);
    }
};
Run Code Online (Sandbox Code Playgroud)

我使用此GZIPped 10G文件,与使用预设相比,它的大小没有减少一位 DEFAULT_COMPRESSION.

这个问题答案是,在某些情况下,设置级别可能无法按计划运行.为了确保,我还尝试创建一个新的:Deflater

this.def = new Deflater(Deflater.BEST_COMPRESSION, true);
Run Code Online (Sandbox Code Playgroud)

但是文件大小不会减少......

他们没有提供访问Deflater级别的原因吗?

或者上面的代码示例有问题吗?

deflater级别是否有效?

编辑:感谢您的评论.

  1. 文件可以进一步压缩吗?

    它是一个UTF-8文本文件,使用默认压缩从10G压缩到10M.因此,在不知道压缩级别的细节的情况下,我估计它可以进一步压缩.

  2. DEFAULT_COMPRESSION和之间的时差BEST_COMPRESSION

    我没有时间创造真正可靠的数据.但是我执行了每个压缩级别大约五次的代码,两者大约需要相同的时间(2分钟+/- 5秒).

  3. 文件大小gzip -v9?gzip创建的文件比java创建的文件小15KB.因此,对于我的具体用例,不值得再深入研究这个主题.

但是,上述三个基本问题仍然存在.有没有人使用更高的压缩级别成功减少文件GZIPOutputStream

java compression deflate

14
推荐指数
2
解决办法
1万
查看次数

什么是DEFAULT_COMPRESSION?

在可能的DEFLATE压缩级别[0 .. 9]中,哪一个Deflater.DEFAULT_COMPRESSION与Java完全对应?在Java源代码中,我将其视为public static final int DEFAULT_COMPRESSION = -1;

java gzip zlib deflate

13
推荐指数
2
解决办法
5163
查看次数

Zlib压缩在Java中使用Deflate和Inflate类

我想尝试使用java.util.zip中的Deflate和Inflate类进行zlib压缩.

我能够使用Deflate压缩代码,但在解压缩时,我遇到了这个错误 -

Exception in thread "main" java.util.zip.DataFormatException: unknown compression method
    at java.util.zip.Inflater.inflateBytes(Native Method)
    at java.util.zip.Inflater.inflate(Inflater.java:238)
    at java.util.zip.Inflater.inflate(Inflater.java:256)
    at zlibCompression.main(zlibCompression.java:53)
Run Code Online (Sandbox Code Playgroud)

这是我目前的代码 -

import java.util.zip.*;
import java.io.*;

public class zlibCompression {

    /**
     * @param args
     */
    public static void main(String[] args) throws IOException, DataFormatException {
        // TODO Auto-generated method stub

        String fname = "book1";
        FileReader infile = new FileReader(fname);
        BufferedReader in = new BufferedReader(infile);

        FileOutputStream out = new FileOutputStream("book1out.dfl");
        //BufferedInputStream in = new BufferedInputStream(new FileInputStream(filename));

        Deflater compress = new Deflater();
        Inflater …
Run Code Online (Sandbox Code Playgroud)

java compression zlib deflate inflate

12
推荐指数
1
解决办法
4万
查看次数