相关疑难解决方法(0)

在IIS7上使用MVC3时如何启用gzip压缩?

有谁知道如何在MVC 3中启用gzip压缩?我正在使用IIS7.

Google Chrome Audit的结果:

  1. 启用gzip压缩(4)
  2. 使用gzip压缩以下资源可以将传输大小减少大约三分之二(~92.23KB):
  3. / mydomain /可以节省~1.53KB
  4. jquery-1.4.4.min.js可以节省~51.35KB
  5. Cufon.js可以节省~11.89KB
  6. Futura.js可以节省~27.46KB

compression iis asp.net-mvc gzip asp.net-mvc-3

98
推荐指数
3
解决办法
5万
查看次数

为什么真实世界的服务器更喜欢gzip而不是deflate编码?

我们已经知道deflate编码在编码,解码和压缩大小方面比gzip更胜一筹.

那么为什么没有大型网站(我能找到)发送它(当我使用接受它的浏览器时)?

雅虎称,收缩率"不太有效".为什么?

我维护的HTTP服务器软件更喜欢放气,所以我想知道是否有一些非常好的理由不继续这样做.

compression encoding gzip http deflate

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

如何在XHR onProgress函数中使用缩减/ gzipped内容?

我之前看到过一些类似的问题,但我还没有找到一个完全描述我当前问题的问题,所以这里有:

我有一个页面,通过AJAX加载一个大的(介于0.5和10 MB之间)JSON文档,以便客户端代码可以处理它.加载文件后,我没有任何我不期望的问题.但是,下载需要很长时间,因此我尝试利用XHR Progress API呈现进度条,以向用户指示文档正在加载.这很好用.

然后,为了加快速度,我尝试通过gzip和deflate压缩服务器端的输出.这也很有效,但是,我的进度条停止了工作.

我已经研究了一段时间的问题,发现如果Content-Length没有使用请求的AJAX资源发送正确的头文件,onProgress事件处理程序就无法按预期运行,因为它不知道它在下载中有多远.发生这种情况时,lengthComputablefalse在事件对象上设置一个名为call的属性.

这是有道理的,所以我尝试使用未压缩和压缩的输出长度显式设置标头.我可以验证是否正在发送标头,我可以验证我的浏览器知道如何解压缩内容.但onProgress处理程序仍然报告lengthComputable = false.

所以我的问题是:有没有办法使用AJAX Progress API来压缩/缩小内容?如果是这样,我现在做错了什么?


这是资源在Chrome网络面板中的显示方式,表明压缩正在运行:

网络面板

这些是相关的请求标头,显示请求是AJAX并且Accept-Encoding设置正确:

GET /dashboard/reports/ajax/load HTTP/1.1
Connection: keep-alive
Cache-Control: no-cache
Pragma: no-cache
Accept: application/json, text/javascript, */*; q=0.01
X-Requested-With: XMLHttpRequest
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_5) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.99 Safari/537.22
Accept-Encoding: gzip,deflate,sdch
Accept-Language: en-US,en;q=0.8
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.3
Run Code Online (Sandbox Code Playgroud)

这些都是相关的响应报头,显示出Content-LengthContent-Type被正确设置:

HTTP/1.1 200 …
Run Code Online (Sandbox Code Playgroud)

javascript compression jquery xmlhttprequest

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

36
推荐指数
1
解决办法
5074
查看次数

mod_deflate vs mod_gzip

有人能告诉我以下脚本在CP​​U负载性能和压缩方面的区别吗?

<ifModule mod_gzip.c> 
mod_gzip_on Yes 
mod_gzip_dechunk Yes 
mod_gzip_item_include file \.(html?|txt|css|js|php|pl)$ 
mod_gzip_item_include handler ^cgi-script$ mod_gzip_item_include mime ^text/.* 
mod_gzip_item_include mime ^application/x-javascript.* 
mod_gzip_item_exclude mime ^image/.* 
mod_gzip_item_exclude rspheader ^Content-Encoding:.*gzip.* 
</ifModule> 


<ifModule mod_deflate.c> 
<filesMatch "\.(js|css)$"> SetOutputFilter DEFLATE </filesMatch> 
</ifModule> 
Run Code Online (Sandbox Code Playgroud)

apache gzip mod-deflate

30
推荐指数
3
解决办法
3万
查看次数

使用PHP ob_start()与Apache Deflate/Gzip压缩内容?

大多数网站都希望压缩其内容以节省带宽.但是,对于运行PHP的apache服务器,有两种方法可以实现 - 使用PHP或使用apache.那么哪一个在您的服务器上更快或更容易?

例如,在PHP中,我在页面的开头运行以下函数来启用它:

/**
 * Gzip compress page output
 * Original function came from wordpress.org
 */
function gzip_compression() {

    //If no encoding was given - then it must not be able to accept gzip pages
    if( empty($_SERVER['HTTP_ACCEPT_ENCODING']) ) { return false; }

    //If zlib is not ALREADY compressing the page - and ob_gzhandler is set
    if (( ini_get('zlib.output_compression') == 'On'
        OR ini_get('zlib.output_compression_level') > 0 )
        OR ini_get('output_handler') == 'ob_gzhandler' ) {
        return false;
    }

    //Else if zlib is …
Run Code Online (Sandbox Code Playgroud)

php compression apache gzip

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

GZIP与DEFLATE压缩的优势是什么?

我有一个asp.NET 4(C#)的网站.

我正在努力寻找一种方法来更好地优化我的网站带宽.

我读了许多文章说DEFLATE比GZIP更快更小,因为GZIP(基于DEFLATE)增加了一些额外的数据.

检查bing.com和google.com的标题,它们似乎都发送了GZIP编码的数据.

假设我读到的是真的,我在这种情况下错过了GZIP的优势.所以我怀疑应该有一个很好的理由来选择GZIP来解决.

我的问题:

  • GZIP是否提供超过DEFLATE的任何优势我不知道?
  • 有什么线索为什么主要的搜索引擎使用GZIP?

这是我用来发送DEFLATE的代码(来自Global.asax):

protected void Application_PreRequestHandlerExecute(object sender, EventArgs e)
    {

        HttpApplication app = sender as HttpApplication;
        string acceptEncoding = app.Request.Headers["Accept-Encoding"];
        Stream prevUncompressedStream = app.Response.Filter;

        if (!(app.Context.CurrentHandler is Page ||
            app.Context.CurrentHandler.GetType().Name == "SyncSessionlessHandler") ||
            app.Request["HTTP_X_MICROSOFTAJAX"] != null)
            return;

        if (acceptEncoding == null || acceptEncoding.Length == 0)
            return;

        acceptEncoding = acceptEncoding.ToLower();

        if (acceptEncoding.Contains("deflate") || acceptEncoding == "*")
        {
            // defalte
            app.Response.Filter = new DeflateStream(prevUncompressedStream,
                CompressionMode.Compress);
            app.Response.AppendHeader("Content-Encoding", "deflate");
        }
        else if (acceptEncoding.Contains("gzip"))
        {
            // gzip
            app.Response.Filter …
Run Code Online (Sandbox Code Playgroud)

html asp.net optimization http-headers

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

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

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

sysadmin iis gzip http-compression deflate

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

使用Pyramid Gzipping所有HTTP流量

我正在创建一个基于Pyramid框架的移动服务.因为它是移动的,所以减少带宽使用的一切都是加分.我正在考虑gzipping所有流量,甚至动态HTML页面.

Pyramid框架为此提供了什么样的钩子?或者是否有WSGI中间件用于任务?我想在Python级别上做这个,而不是Nginx/Apache,所以我可以更好地统计gzip带来多少好处.

python gzip http pyramid

12
推荐指数
2
解决办法
4211
查看次数

GZIP压缩+ htaccess放气

我可以同时使用.htaccess:

  DEFLATE 
Run Code Online (Sandbox Code Playgroud)

在PHP,图像,HTML文件等+ php标题:

  ob_start("gzhandler") ?
Run Code Online (Sandbox Code Playgroud)

如果不是,最好的机会是什么?我只是担心它是否会发生冲突.

php compression gzip http-compression

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