web-dev-qa-db-ja.com

gzip圧縮されたファイルを提供するときに使用する「Content-Type」ヘッダー

Css/javascriptファイルのgzipコピーを提供しています。チュートリアルに従って、これらのファイルを提供するときにcontent-typeをapplication/gzipに設定します。ただし、chromeはこれらのファイルをgzipで解凍していないようであり、javascriptファイルの場合、多くの「不正な文字」エラーが発生します。ソースを表示すると、非圧縮ではなく、圧縮されています。

私の質問は、ブラウザがそれらをgzip圧縮されたcss/jsファイルとして正しく解釈し、それらを解凍するために、これらのファイルのコンテンツタイプとして何を設定すればよいですか? text/javascriptまたはtext/cssを設定しただけでも、ブラウザはそれらを正しく解釈しますか?

編集:完全な応答ヘッダー:

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

応答の圧縮されたコンテンツは、Content-EncodingContent-Typeは同じままである必要があります。つまり、圧縮される基本的なメディアタイプを反映する必要があります。

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

詳細については、RFC 2616のセクション 14.11 Content-Encoding および .5 Content Codings を参照してください。

85
Joel Allison