web-dev-qa-db-fra.com

Quel en-tête 'Content-Type' utiliser pour servir des fichiers gzippés?

Je sers des copies gzippées de mes fichiers css/javascript. Selon un tutoriel, j'ai défini le type de contenu sur application/gzip lors du traitement de ces fichiers. Cependant, chrome ne semble pas décompresser ces fichiers, et pour les fichiers javascript, de nombreuses erreurs de type "Caractère illégal" apparaissent. Si je visualise le code source, je vois toujours les fichiers sous la forme compressé plutôt que non compressé.

Ma question est la suivante: que dois-je définir comme type de contenu pour ces fichiers, afin que le navigateur les interprète correctement en tant que fichiers css/js gzipped et les décompresse en gzip? Si je viens de mettre text/javascript ou text/css, le navigateur les interprétera-t-il toujours correctement?

Edit: En-têtes de réponse complets:

HTTP/1.1 200 OK
x-amz-id-2: UIBkZT/MuFxsmn+3nVOzEO63rRY99l3traCbMExUgSdGHUrOIPtNp34h1+ujYKmt
x-amz-request-id: 19346C9B01D8FC62
Date: Mon, 12 May 2014 03:59:51 GMT
Content-Encoding: gzip
Last-Modified: Mon, 12 May 2014 02:24:54 GMT
ETag: "561080b5e19f6daea2e74fd5a0623c79"
Accept-Ranges: bytes
Content-Type: application/x-gzip
Content-Length: 5153
Server: AmazonS3
49
Click Upvote

Le contenu compressé de la réponse est indiqué en Content-Encoding. Le Content-Type devrait rester identique, c'est-à-dire qu'il devrait refléter le type de support sous-jacent compressé.

Content-Type: application/javascript
Content-Encoding: gzip

Voir les sections 14.11 Content-Encoding et .5 Codings de conten de la RFC 2616 pour plus d'informations.

85
Joel Allison