Compess json data from rest of node.js use express compression

I created a small remainder of a node.js application. I am trying to compress json data that is returned by api request, but nothing is compressed. Use express and compression.

var express = require('express');
var methodOverride = require('method-override');
var bodyParser = require('body-parser');
var serveStatic = require('serve-static');
var compression = require('compression');

var app = express();
app.use(compression());

app.use(methodOverride('X-HTTP-Method-Override'));
app.use(bodyParser.json());
app.use(serveStatic('public', {'index': ['index.html']}));
app.use('/', require('./routes'));

app.use(function(req, res) {
    res.sendfile('public/index.html');
});

app.disable('x-powered-by');

var server = app.listen(3000, function () {
    var host = server.address().address;
    var port = server.address().port;
});

      

this response header without compilation = (((

HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8
Content-Length: 3756
ETag: W/"56IqvwOVCBB3MRndvDsFTA=="
Vary: Accept-Encoding
Date: Wed, 10 Jun 2015 14:21:11 GMT
Connection: keep-alive

      

Reference.

+3


source to share


1 answer


Are you using a simple curl to request it? Say curl to request compressed data:

$ curl -H 'Accept-Encoding: gzip,deflate' -v -o tmp http://localhost:3000/
* Connected to localhost (::1) port 3000 (#0)
> GET / HTTP/1.1
> User-Agent: curl/7.37.1
> Host: localhost:3000
> Accept: */*
> Accept-Encoding: gzip,deflate
>
< HTTP/1.1 200 OK
< Content-Type: application/json; charset=utf-8
< ETag: W/"qIOLMe2deSCB3/8ol7nulg=="
< Vary: Accept-Encoding
< Content-Encoding: gzip # <========================================== !!!
< Date: Wed, 10 Jun 2015 16:14:50 GMT
< Connection: keep-alive
< Transfer-Encoding: chunked

      



The download is now done with gzipped.

+2


source







All Articles