0

私は.NETを使用していますが、簡単な質問は次のとおりです。

Webブラウザにそのことをどのようにまたはどのように知らせることができますか

<script type="text/javascript" src="/Scripts/myjsfile.js"/>

gzipで圧縮されていますか?

.gzソースに追加できますか?

この記事は非常に優れており、Response.Filterストリームオブジェクトにプラグインしてgzip圧縮されたコンテンツを返すことでダイナミックHTMLを圧縮する方法を示しています。しかし、私のcss / jsは動的ではないので、すべてのリクエストに対してcpuサイクルを無駄にしてzipする意味がわかりません。

では、どのようにすれば、それが圧縮されたコンテンツであることをWebブラウザーに伝えることができますか、それともすでに知っていますか?

4

2 に答える 2

0

ヘッダー付きのタグ応答:

Content-Encoding: gzip

更新:私はあなたの文字通りの質問に答えたことに気づきました-クライアントがどのように知るか-しかし、それを送信させるためにサーバー上で何をする必要があるかではありません。残念ながら、私はIISを使用していないため、賢明な答えを出すことはできません。

誰もあなたに答えない場合、あなたは自分でダイナミックなことをすることができます、そしてそれはそれほど遅くはありません。基本的にApacheが行っていることはこれです:

  • リクエストのAccept-Encodingヘッダーにが含まれているかどうかをテストしますgzip
  • 含まれている場合は、filename + ".gz"ファイルがあるかどうかを確認します
  • Content-Encoding: gzip含まれている場合は、それを送信し、適切なタグを付けますContent-Type
  • そうでない場合は、存在するかどうかを確認し、存在filenameする場合は送信します
  • それが失敗した場合、404

また、その場でファイルをgzipで圧縮するように指示することもできます。これは、ファイルの2つのバージョンをディスクに保持しないため、スペースでより経済的ですが、速度は遅くなります(要求ごとに圧縮する必要があるため)。

于 2010-06-28T04:38:56.917 に答える
0
#####################################################
# CONFIGURE media caching
#
Header unset ETag
FileETag None
<FilesMatch "(?i)^.*\.(ico|flv|jpg|jpeg|png|gif|js|css)$">
Header unset Last-Modified
Header set Expires "Fri, 21 Dec 2012 00:00:00 GMT"
Header set Cache-Control "public, no-transform"
</FilesMatch>
#
#####################################################

「FilesMatch」をgzipで圧縮したいものに変更します。サーバーは圧縮されていないファイルを自動的にgzipに圧縮し、ブラウザに送信します。ブラウザはファイルを解凍して元の形式に戻します。

于 2010-06-28T04:43:07.473 に答える