标签: http-compression

JavaScript缩小和压缩

我试图理解JavaScript缩小和压缩过程,并对这些问题有几个问题:

  1. 由于缩小使代码难以调试,是否可以在客户端进行按需去除以掩盖您实际需要调试和调查网站上的内容的情况?
  2. 我记得在某处可以通过在Apache Web Server中设置一些选项来启用对所有资源(如图像,CSS,JavaScript等)的压缩.在Apache级别上完成的JavaScript压缩是否存在差异,使用YUI Compressor等工具完成的压缩是否有所不同?

有人可以帮我知道上面的内容吗?

我实际上需要缩小我的JavaScript文件的那种情况让我们说在第5行发生了一个JavaScript错误.X.对于缩小的文件,要知道哪个代码块在生产中导致该错误将非常困难,因为这些行都包含在缩小的文件中.在这种情况下你们如何调查和调试?另一个用户还提到了在IE6打包/缩小javascript失败的调试问题- 如何调试?问题(虽然略微具体到IE6).

javascript http-compression minify

3
推荐指数
2
解决办法
1316
查看次数

.htaccess 和 google pagespeed 中的 mod_deflate

我有一个带有 centos 6 的 linode 服务器,因为它不支持 mod_gzip,我正在使用 mod_deflate。

这是我在 .htacess 中的代码

<IfModule mod_deflate.c>
  <FilesMatch "\\.(js|css|html|htm|php|xml)$">
    SetOutputFilter DEFLATE
  </FilesMatch>
</IfModule>
Run Code Online (Sandbox Code Playgroud)

当我使用http://www.whatsmyip.org/http-compression-test/进行测试时,它说“我的网站是 gzipped”,但是当我在 chrome 中使用 pagespeed 时,它仍然建议“启用压缩”

怎么了?我的 .htaccess 代码有问题吗?

apache .htaccess mod-deflate http-compression pagespeed

3
推荐指数
2
解决办法
8160
查看次数

Delphi REST 服务器、Android 客户端使用压缩

我们正在构建一个 Delphi REST 服务器,该服务器向本机 Android 应用程序提供相当大的数据块(每个请求 1.5MB,数量很多)。一切正常,除了这种情况下的数据大小会出现问题,导致我们的环境中传输时间较长(移动数据速率有限)。我尝试ZLibCompression在 上添加过滤器DSHTTPWebDispatcher,但响应仅以未压缩的文本/html 形式再次返回。

有没有办法强制服务器使用在调度之前作为事件添加的过滤器?

服务器采用Delphi XE3构建。

delphi rest http-compression datasnap delphi-xe3

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

Sitecore MVC - gzip 压缩错误

我在使用 Sitecore MVC 3 渲染和 GZip 内容压缩时遇到问题。

我关注了 John West 的博客文章,如何在 Sitecore 中启用 MVC

到目前为止,它运行良好,页面已呈现。但是,如果我在 IIS 上运行该页面并启用内容压缩 (gzip),则该页面不会加载。我在 Firefox 中收到“内容编码错误”。其他浏览器显示各种错误信息。

有人遇到过类似的问题吗?你知道可能是什么问题吗?我应该从哪里开始检查?我必须在页面上使用压缩。

我们正在使用 Sitecore 6,更新 5:“Sitecore 6.6.0 rev. 130404” 这可能是 Sitecore 的错误吗?

编辑 1:我还在 Sitecore 实例上运行 ASP.NET WebForms,它也可以使用 gzip 压缩正常工作。

编辑 2:我启用了“dynamicCompressionBeforeCache”。我的 web.config 与 gzip 配置相关:

<httpCompression directory="%SystemDrive%\inetpub\temp\IIS Temporary Compressed Files">
  <scheme name="gzip" dll="%Windir%\system32\inetsrv\gzip.dll" />
  <dynamicTypes>
    <add mimeType="text/*" enabled="true" />
    <add mimeType="message/*" enabled="true" />
    <add mimeType="application/javascript" enabled="true" />
    <add mimeType="*/*" enabled="false" />
  </dynamicTypes>
  <staticTypes>
    <add mimeType="text/*" enabled="true" …
Run Code Online (Sandbox Code Playgroud)

asp.net-mvc gzip sitecore http-compression sitecore6

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

使用具有多个文件的GZIP进行HTTP内容编码是否可能?

是否可以使用GZIP内容编码获取您网站内容的全部或大部分并通过单个响应发送给客户端?例如,压缩一个响应中的图像,HTML,CSS和JS文件.浏览器是否能够提取内容并将其组合在一起以显示页面?

我的理解是它只能用一个文件完成,并从HTML,CSS和JavaScript文件中获得最大的好处.到目前为止,我已经在网上搜索了几个小时,一无所获.

当然,我知道有些框架会将您的文件捆绑成一个,然后您可以在服务器上启用压缩并使用GZIP内容编码发送它.但我相信你只能把像四个CSS文件这样的文件捆绑成一个CSS文件,将六个JS文件捆绑到一个JS文件中等等.

我之前没有看到这个问题得到解答,因此我们将非常感谢任何见解.

http http-compression http-headers

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

如何为使用 express 构建的 NodeJS 应用程序启用 brotli 压缩?

我想对我的基于 express 的节点应用程序使用 Brotli 压缩。我使用app.use(express.static('public')).

我找到了shrink-ray完美地进行 Brotli 压缩的模块。但是,当我安装它并nsp check从节点安全平台模块运行它时,我得到了安全漏洞,这使得它无法在我的项目中使用。

有没有人知道使用 express 在节点应用程序上启用 Brotli 压缩的好方法?我试过express-static-gzip但没能成功,即使在一个简单的教程中它仍然被压缩。

http-compression node.js express brotli

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

压缩响应的内容长度值

如果我向 http 服务器发送请求,其标头包含:

Accept-Encoding: gzip, deflate;
Run Code Online (Sandbox Code Playgroud)

并且响应有

Content-Encoding: gzip;
Content-Length:fsize; 
Run Code Online (Sandbox Code Playgroud)

fsize是压缩后的值还是未压缩的值?

如果是压缩的,是否可以获得实际/未压缩的大小?

http http-compression

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

gzip压缩无法与IIS 8.5一起使用

我有一个运行IIS的Server 2012 R2盒子.我已经尝试为在该盒子上运行的几个站点启用压缩,但我无法弄清楚它为什么不起作用.我的请求标题都显示为accept-encoding,但响应标头始终为Transfer-Encoding:chunked和Vary:Accept-Encoding.已执行以下步骤以尝试使gzip压缩工作:

  1. 已在每个站点和计算机级别启用动态和静态压缩
  2. 两种压缩方法均从服务器管理器安装
  3. 已将httpcompression和urlcompression节点手动添加到web.configs
  4. Mime类型被定义用于压缩
  5. frequentHitThreshold已设置为1,因此所有内容应在首次尝试访问后进行压缩

已经进行了跟踪以了解为什么没有发生压缩.我唯一的信息是代码DYNAMIC_COMPRESSION_NOT_SUCCESS,原因是1.

以下是标题:

GET http://redactedservername:8082/ HTTP/1.1  
Host: redactedservername:8082  
Connection: keep-alive  
Cache-Control: max-age=0  
Accept:   text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8  
Upgrade-Insecure-Requests: 1  
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/50.0.2661.102 Safari/537.36  
DNT: 1  
Accept-Encoding: gzip, deflate, sdch  
Accept-Language: en-US,en;q=0.8  
Cookie: ASP.NET_SessionId=gnqovt55ggt22lycufudc0ns  
Run Code Online (Sandbox Code Playgroud)

`

HTTP/1.1 200 OK  
Cache-Control: private  
Content-Type: text/html; charset=utf-8  
Vary: Accept-Encoding  
Date: Wed, 22 Jun 2016 14:00:57 GMT  
Transfer-Encoding: chunked
Run Code Online (Sandbox Code Playgroud)

可以执行哪些其他步骤来使压缩工作?

iis gzip http-compression windows-server-2012-r2 iis-8.5

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

为什么在我的c#HttpClient响应标头中看不到Content-Encoding:gzip响应?

我正在制作一个简单的c#程序来确定服务器端压缩是否在各种服务器上可用/启用。这是我下面的请求代码。

using (var client = new HttpClient())
{
    client.Timeout = new TimeSpan(0, 0, 5);
    client.DefaultRequestHeaders.Add("Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8");
    client.DefaultRequestHeaders.Add("User-Agent", "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/48.0.2564.97 Safari/537.36");
    client.DefaultRequestHeaders.Add("Accept-Encoding", "gzip, deflate, sdch, br");
    var httpClientResponse = client.GetAsync(websiteURL).Result;
    string header = httpClientResponse.Headers.GetValues("Content-Encoding").First();
}
Run Code Online (Sandbox Code Playgroud)

通过查看提琴手中的请求,我可以看到对此请求启用了压缩,但是我似乎无法从代码的响应标头中提取该信息。

这些是请求和响应的完整标头。

GET https://www.dobbies.com/ HTTP/1.1
Accept: text/html, application/xhtml+xml, application/xml; q=0.9, image/webp, */*; q=0.8
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/48.0.2564.97 Safari/537.36
Accept-Encoding: gzip, deflate, sdch, br
Host: www.dobbies.com

HTTP/1.1 200 OK
Cache-Control: private
Content-Type: …
Run Code Online (Sandbox Code Playgroud)

c# httpclient http-compression

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

Node.js express、路由器和压缩

在基于 express 的 Node.js 应用程序中,我以这种方式加载压缩中间件:

const express = require("express");
const compression = require("compression");
const app = express();
app.use(compression());
Run Code Online (Sandbox Code Playgroud)

如果我添加一个路由器来管理 API 请求,我应该在路由器中再次加载压缩还是它的响应已经被压缩?

const router = express.Router();
router.use(compression()); // Is this needed or not?

router.get(...); // and all other API methods
app.use("/api", router);

app.use("/", express.static("./pages"));
Run Code Online (Sandbox Code Playgroud)

谢谢澄清!

http-compression node.js express

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