Tag: gzip

meteorHTTP.call gzip答案

我向服务器提出了一个请求,希望得到一个JSON作为答案,但答案是压缩的gzip,我不知道如何膨胀这个。 有人知道一个图书馆或本地function来帮助我吗? 我试过zlib但需要一个stream,我的请求返回一个string。

如何在express / nodejs中添加标题到静态gzip文件?

我有一些来自Unity构build的文件,我无法添加标题。 他们有扩展jsgz,memgz和datagz。 它们位于我的NodeJs项目中的公共文件夹中。 我正在使用Express 4,并设置了压缩,但我相信这只会压缩现有的文件进行传输,并不处理已压缩的文件。 我已经尝试使用app.get添加标题,但它似乎不工作: app.get('/blah/unitymodels/Release/widget.js', function(req, res, next) { … Check ['accept-encoding'] … if (acceptsGzip) { var gzippedPath = req.url + 'gz'; res.sendFile(gzippedPath, { root: './public', headers: { 'Content-Encoding': 'gzip', 'Content-Type': 'application/javascript' } } … 我已经尝试设置这样的标题,通过使用res.set和先设置它们,然后让下一个()调用处理响应,但每当我得到的文件,它只是gzip文件没有额外的头文件和浏览器不理解它。 我试过的方法是添加其他头文件('wibble','x-timestamp'等),所以我认为别的东西是拦截这些特定的。 我怎么能够返回这些gzip文件,以便浏览器了解他们?

如何解压Node.js中的gzip文件

我想在Node.js中解压缩gzip文件我试过[一些]软件包,但没有任何工作。 你能提供一个可以解压Node.js中的gzip文件的示例代码的包吗?

使用Express合并,缩小和提供JavaScript文件,但不会解压

我正在使用Express来构build一个Web应用程序。 我想要合并,缩小和服务.js文件。 我写了一个中间件,这是我的代码: var fs = require('fs'), path = require('path'), uglify = require('uglify-js'), cache = '', scriptsDir = path.join(__dirname, '../scripts'), files = fs.readdirSync(scriptsDir); // Sync read is not a problem since the following code is executed on startup files.forEach(function(fname) { if (/^.*\.js$/.test(fname)) { cache += fs.readFileSync(path.join(scriptsDir, fname), 'utf8').toString(); } }); cache = uglify.minify(cache, { fromString: […]

强制Web服务器返回未压缩的数据(No gzip)

我正在使用http node.js 模块来发出http请求 。 我想强制Web服务器返回未压缩的数据。 [没有gzip,没有deflate] 。 请求标头 headers: { 'Accept-Encoding': 'gzip,deflate,sdch', 'User-Agent': 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Ubuntu Chromium/31.0.1650.57 Chrome/31.0.1650.57 Safari/537.36', } 我尝试使用这个'Accept-Encoding': '*;q=1,gzip=0'但没有运气。 我看到两种方法: 强制Web服务器返回未压缩的数据。 使用一些nodeJs模块解压缩压缩的数据 我想去#1。

gzip没有服务器支持?

我写了一个最小化和基本parsing/ varreplace的css服务器。 服务器正在使用node.js. 我想从这个服务器gzip我的回应。 正如在IRC中所说的,node.js目前没有gzip库,所以我试图从命令行手动执行(因为我只是在不在caching中时进行gzip压缩)。 我将文件数据推送到临时文件,然后使用exec调用'gzip -c -9 -q ' + tempFile 。 我正确地得到压缩的数据(看来),并发送适当的Content-Encoding标头为'gzip' ,但Chrome报告: Error 330 (net::ERR_CONTENT_DECODING_FAILED): Unknown error 。 还有一些独立的gziptesting人员也失败了(不仅仅是Chrome)。 我假设这是简单的,我不知道为浏览器生成gzip块,看到我从来没有尝试过手动。 任何援助将是有益的。 服务器的速度非常快,但是我需要对内容进行gzip以获得最终用户的最佳性能。 谢谢。 更新我已经validation了我的Content-Length是正确的

Express:服务预压缩的静态资产

我想预先压缩我的静态资产(不包括图片)并提供服务。 为了提供public文件夹,我有: app.use(express.static('path/to/public/')); 我相信express.compress()在即时压缩,这似乎是静态资产的服务器CPU上不必要的负担。 什么是达到这个标准的方法?

Gunzip使用JavaScript /节点的APIstream?

我正在使用node.js与返回压缩数据的API进行一些交互。 我通过包pipe理器和维基浏览了一个好的压缩库,但是找不到一个没有被放弃/根本不工作的库。 任何想法如何可以使用javascript或节点压缩压缩的数据? (或者如何避免数据在一起?) 以下是我对评论的看法: app.get('/', function(req, res){ // rest is a restler instance rest.get('http://api.stackoverflow.com/1.1/questions?type=jsontext', { headers: {"Accept-Encoding": 'deflate'}, //tried deflate, gzip, etc. No changes }).on('complete', function(data) { // If I do: sys.puts(data); I get an exception // Maybe I could do something like this: /* var child = exec("gunzip " + data, function(error, stdout, […]

HTTP – 如何发送多个预caching的gzip块?

可以说我有2个单独的gziped html块在内存中。 我可以发送chunk1 + chunk2到HTTP客户端吗? 任何浏览器是否支持这个? 或者没有办法做到这一点,我不得不gzip整个stream不个别块? 我想服务于客户端为例如chunk1 + chunk2和chunk2 + chunk1等(不同的顺序),但我不想压缩整个页面,我不想caching整个页面。 我想使用预压缩的caching块并发送它们。 nodejs代码(节点v0.10.7): // creating pre cached data buffers var zlib = require('zlib'); var chunk1, chunk2; zlib.gzip(new Buffer('test1'), function(err, data){ chunk1 = data; }); zlib.gzip(new Buffer('test2'), function(err, data){ chunk2 = data; }); var http = require('http'); http.createServer(function (req, res) { res.writeHead(200, {'Content-Type': 'text/plain', 'Content-Encoding': […]

Node.js – 如何处理stream错误事件

我正在从fs.createReadStream()返回的文件stream中读取数据,并将其pipe道化为使用zlib.createGzip()创build的gzipstream,然后将gzipstreampipe道化为HTTP响应。 我不知道如何处理这些stream上的“错误”事件。 我只是想确保所有的stream被closures,错误被logging下来,没有资源泄漏(注意文件streamautoClose设置为true)。 例如,如果在fs读取stream上发生错误,那么将如何影响gzipstream和响应stream? 这个“错误”事件会自动传播还是只是未处理和崩溃我的应用程序? 我应该听每个stream的“错误”事件,还是只听最后一个stream? 如果我听到fsstream的“错误”,会发生什么情况 – gzipstream是否仍然检测到发生了错误?