web-dev-qa-db-ja.com

Webサーバーなしでgzip圧縮されたJavaScriptをロードすることは可能ですか?

次のようなHTMLファイルを使用して、ローカルファイルシステムから外部GZIP圧縮JavaScriptファイルをロードするHTMLページを取得しようとしましたが失敗しました。

<html>
<head>
<script src="test.js.gz" type="text/javascript"></script>
</head>
<body></body>
</html>

このHTMLファイルをブラウザで直接開くと、Javascriptファイルは解凍されず、そのまま含まれます。データが圧縮されていることをブラウザに通知するWebサーバーがないため、このような設定を機能させる他の方法を誰かが知っているかどうか疑問に思いました。 (最終結果はWebサーバーの実行にはなりません)。

22
user150959

ファイルのGZIP(解凍)圧縮はHTTP/1.1プロトコルの一部であり、ブラウザがローカルファイルをロードするために使用することはありません。だから私は短い答えはノーだと思います。ごめんなさい!

圧縮されていないファイルを使用するか、Webページをロードする前にファイルを解凍するか、Webブラウザにファイルを提供するローカルマシンでHTTPデーモン(Webサーバー)を実行することができます。

お役に立てば幸いです

21
Al.

いいえ、ありません。

私はあなたがテストのためにこれをしていると思います—その場合、心配しないでください。適切に構成されたWebサーバーは、ファイルをその場でgzip圧縮します(そしてそれらをキャッシュします)。 .js.gzバージョンにリンクする必要はありません。

5
Quentin

AIが指摘したように、gzip解凍機能はWebブラウザにはありません。ただし、転送用に静的ファイルを圧縮するようにWebサーバーを構成することはできます。 Webブラウザーはファイルを透過的に解凍し、帯域幅を節約する目的を果たします。

Apacheでこれを行う方法のリファレンスは次のとおりです。 http://betterexplained.com/articles/how-to-optimize-your-site-with-gzip-compression/ 他の場合ウェブサーバー、あなたはそれをグーグルすることができます。

1
Jack Cheung