Articles of gzip

Apache Webserver:检查是否支持解压缩

使用SetInputFilter DEFLATE我可以强制apache解压缩传入的消息。 有没有办法问Web服务器是否支持传入请求的解压缩。 我希望有一个特定的HEADER信息。 我所知道的唯一HEADER信息是:accept-encoding(用于请求,afaik)和content-encoding(仅告诉客户端响应被编码的权限?)。

iis 7.5 gzip DYNAMIC_COMPRESSION_NOT_SUCCESS

您好,我有一个IIS 7.5我启用模块的服务器angular色中的静态和dynamic压缩的问题。 然后打开虚拟主机,并在压缩configuration启用静态和dynamic压缩。 另外我试着添加这个 <httpCompression directory="%SystemDrive%\inetpub\temp\IIS Temporary Compressed Files"> <scheme name="gzip" dll="%Windir%\system32\inetsrv\gzip.dll" /> <staticTypes> <add mimeType="text/*" enabled="true" /> <add mimeType="message/*" enabled="true" /> <add mimeType="application/x-javascript" enabled="true" /> <add mimeType="application/atom+xml" enabled="true" /> <add mimeType="application/xaml+xml" enabled="true" /> <add mimeType="*/*" enabled="false" /> </staticTypes> <dynamicTypes> <add mimeType="text/*" enabled="true" /> <add mimeType="message/*" enabled="true" /> <add mimeType="application/x-javascript" enabled="true" /> <add mimeType="*/*" enabled="false" […]

Chrome HTTP2请求不能完成大的gzip文件(Apache)

我最近在Ubuntu 16.04上将Aapche升级到了2.4.26(ondrej ppa)。 默认情况下,模块deflate和http2被启用。 在Chrome上,当服务大型JS文件时,请求不会完成,并在经过很长时间(基本上,由Apache Timeout设置指定的时间)之后通过net::ERR_CONNECTION_CLOSED失败。 在Firefox上,一切都运行完美。 我曾经尝试过 我在排除故障时观察到 小JS文件工作正常。 我有大的JS文件是259.43KB(75.78KB gzipped) 如果我在Apache中禁用HTTP2: Protocols http/1.1 ,Chrome可以正常工作。 如果我手动禁用gzip模块: a2dismod deflate ,Chrome的作品。 当然,这两个选项都不是理想的performance。 作为一个黑暗中的镜头,我试图closures这个问题的答案build议的KeepAlive : https : //stackoverflow.com/questions/25847083/chrome-just-doesnt-finish-loading-js-files 。 它不能解决问题。 我从Chrome开发者工具复制有问题的JS文件的HTTP标头: HTTP请求头 :authority: example.com :method:GET :path:/js/main.js :scheme:https accept:*/* accept-encoding:gzip, deflate, br accept-language:en-US,en;q=0.8 cache-control:no-cache pragma:no-cache user-agent:Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/59.0.3071.115 Safari/537.36 HTTP响应头 […]

如何禁用laravel中的文件URL的gzip

在Android客户端,我们使用这个下载器库 ,它是伟大的库,但它需要文件的大小,然后从URL下载文件。 根据一些需要,我们应该为我们的代码(Laravel)启用gzip 。 但是我们不能启用gzip因为在那之后下载器不起作用并且引发错误。 现在我们要禁用文件URL的gzip 。 这是我的.htaccess内容: SetEnv no-gzip dont-vary <IfModule mod_rewrite.c> <IfModule mod_negotiation.c> Options -MultiViews </IfModule> RewriteEngine On # Redirect Trailing Slashes If Not A Folder… RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)/$ /$1 [L,R=301] # Handle Front Controller… RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^ index.php [L] </IfModule>

在IIS 8.5上启用GZip,但是Yslow给出F

我在IIS 8.5服务器上启用了GZip压缩。 并testing下面的工具压缩。 Varvy GZip Giftofspeed压缩testing Whatsmyip Gzip压缩testing GIDZip 我在GTMetrix网站性能工具上testing了它。 GZip压缩都是绿色的。 GTmetrix Yslow也表示GZip在我的networking应用程序上启用。 但问题是Chrome YSlow扩展名仍然给出了“启用GZip压缩”的F。 我检查了"Content-encoding"的响应标题。 仍然显示Accept-Encoding : gzip, deflate 我也做了web.config,applicationhost.config和IIS服务器configuration的所有configuration。 我对此感到困惑。 任何帮助将不胜感激。 谢谢

禁用单个nginx虚拟主机的brotli压缩

我在一台服务器上有几个网站,使用https://serverpilot.io/进行设置 它默认为所有站点启用brotli压缩,但是我希望在位于不喜欢压缩的第三方防火墙之后的单个站点上禁用此function。 在/etc/nginx-sp/vhosts.d/site-name.conf我试过了 server { gzip off; gzip_vary off; brotli_static off; 我还添加了这三行/etc/nginx-sp/vhosts.d/site-name.d/main.conf location / { proxy_pass $backend_protocol://$backend_host:$backend_port; gzip off; gzip_vary off; brotli_static off; } 但是,在sudo service nginx-sp restart我仍然看到 content-encoding:br在静态资产请求中

为什么用户可以对属于root的644文件进行gunzip文件属于用户

一个属于root的tar.gz文件可以被用户打包,因为它可以被群组和公众读取。 但是,在压缩后,tar文件的所有者是用户,而不是root。 这是程序gunzip的function吗? 还是有另一种机制?

我怎样才能SetEnv基于预先重写的URI或重写后的查询参数?

所以在Wordpress中有一个文件,wp-content / blogs.php,通过Wordpress上传文件。 WP .htaccess中有一个重写规则,将www.blah.com/files/11/01/filename.mp3格式的URL重写为格式为www.blah.com/…/wp-content/blogs的URL .PHP?文件= FILENAME.MP3。 RewriteRule ^(./ )?files /(。)wp-content / blogs.php?file = $ 2 [L] 所以这里是问题:我们已经开启了PHP文件的gzip。 我需要根据查询参数“file”在blogs.php上closures它。 (不仅仅是因为你不应该gzip二进制文件,而是因为gzip压缩.mp3在Firefox和Mac上为Quicktime插件创build了严重的问题。) 但是以下SetEnvIf不适用于通过blogs.php提供的任何文件 – Request_URI总是以.php结尾 SetEnvIfNoCase Request_URI \.mp3$ no-gzip dont-vary 以下方法通过closures通过blogs.php提供的所有文件的gzip来解决问题: <Location /michael/blah/wp-content/blogs.php> SetEnv no-gzip </Location> 但这不是一个好的解决scheme,因为我想通过blogs.php提供的非二进制文件进行压缩。 所以我真正想要的是获取原始 URI的方式,而不是重写的URI,因为原始URI确实以.mp3结尾。 或者,我需要在重写的URI(file = filename.mp3)末尾访问查询参数。 比如,像这样的东西就可以工作,如果它存在的话,那不是: SetEnvIfNoCase Original_Request_URI \.mp3$ no-gzip dont-vary 看起来有一个variablesTHE_REQUEST可以在一个RewriteRule中工作,但对SetEnv来说似乎不可用。 有任何想法吗? 谢谢! 让我知道如果我违反任何规则,这是我第一次在这里发表。

nginx – 结合js文件,caching和服务gzipped

我正在使用nginx来提供静态文件。 我有几个js文件,不同的客户端需要不同的可用文件的组合。 是否有可能nginx将在第一次结合请求中的文件,然后在随后的请求将提供caching的组合版本? 每次我上传一个新版本,我只是清除caching文件夹。 我是否需要使用单独的脚本来执行此操作? 是否有可能使用python? 我宁愿简单又快,因为创build一个新的组合不会经常发生。 客户端会请求诸如http://www.example.com/static?file1_file2_file2.js 谢谢

通过HAProxy标准化接受编码以优化鱿鱼命中率

我们的网站基础架构使用HAProxy进行负载平衡,Squid群集进行caching,应用程序数据位于IIS群集上。 我们通过URI来平衡HAProxy来优化Squid命中率,但是我们知道Squid基于浏览器传递给它的Accept-Encoding头来保存每个页面的不同副本,所以IE(gzip,deflate)将会拥有与Firefox(gzip,deflate)或Chrome(gzip,deflate,sdch)不同的caching页面副本。 我们想规范Accept-Encoding头文件,我认为最好的地方是在HAProxy中。 我会很感激,如果有人可以提供一些想法如何做到这一点,而不打破支持客户端没有gzip或deflate支持。