I'm trying to load a json file using angular (v1.2.6):
$http.get('myfile.json').success(function(data) { ... }
This works fine, except when I create a (static) pressed version of the file on the server, and try to load 'myfile.json.gz' instead (to reduce the loading time).
The request headers seem correct (Chrome 31.0 on Mac) (as stated here and here):
Accept: application/json, text/plain, */*
Accept-Encoding: gzip,deflate,sdch
while the response headers contain:
Connection: close
Accept-Ranges: bytes
Content-Length: 702468
Content-Type: application/x-gzip
Content-Encoding: gzip
However, the content is not automatically depressed by the client browser, as I understand it should be. data.length
is ~700Kb instead of the original unpressed ~3Mb.
Although this one post suggests it needs to be done manually, I understand depression should be automatic and transparent.
My question is, should it be depressed automatically? and why isn't it the case here?
I'm trying to load a json file using angular (v1.2.6):
$http.get('myfile.json').success(function(data) { ... }
This works fine, except when I create a (static) pressed version of the file on the server, and try to load 'myfile.json.gz' instead (to reduce the loading time).
The request headers seem correct (Chrome 31.0 on Mac) (as stated here and here):
Accept: application/json, text/plain, */*
Accept-Encoding: gzip,deflate,sdch
while the response headers contain:
Connection: close
Accept-Ranges: bytes
Content-Length: 702468
Content-Type: application/x-gzip
Content-Encoding: gzip
However, the content is not automatically depressed by the client browser, as I understand it should be. data.length
is ~700Kb instead of the original unpressed ~3Mb.
Although this one post suggests it needs to be done manually, I understand depression should be automatic and transparent.
My question is, should it be depressed automatically? and why isn't it the case here?
Share Improve this question edited May 23, 2017 at 12:32 CommunityBot 11 silver badge asked Dec 31, 2013 at 15:10 Gilles DebunneGilles Debunne 3052 silver badges6 bronze badges1 Answer
Reset to default 6Your content type should not be "application/x-gzip* it should stay : application/json
The content encoding is enough to say to the browser that the content is zipped.
What HTTP server are you running ? You should configure it in order to return the correct mime type, regardless of the .gz extension.