12

静的コンテンツを自動的に縮小し、キャッシュから自動的に提供する方法はありますか? mod_compress/mod_deflate が機能するのに似ていますか? できれば、圧縮と組み合わせて使用​​できるものを使用できます (圧縮にはより顕著な利点があるため)。

私の好みは lighttpd で動作するものですが、何も見つけることができなかったので、それを実行できる Web サーバーがあれば興味深いでしょう。

4

4 に答える 4

8

nginx のサード パーティの Strip モジュールを試すことができます。

http://wiki.nginx.org/NginxHttpStripModule

使用するモジュールはすべて、空白を削除するだけです。縮小しているものを理解する縮小ツールを使用すると、より良い結果が得られます。例: Google の Closure JavaScript コンパイラ。

変数が何であるかを知り、その名前を短くするのは十分に賢いです。空白リムーバーではそれができません。

サイトのトラフィックが非常に少ない場合を除き、オフラインで縮小することをお勧めします。ただし、ライブ環境で縮小したい場合は、nginx のプロキシ キャッシュを使用することをお勧めします。(申し訳ありませんが、複数のリンクを投稿するのに十分な評判がありません)

または、メモリ内キャッシュについて memcached を調べたり、ディスク バックアップを使用した同じことについて Redis を調べたりすることもできます。

于 2010-05-26T11:11:08.680 に答える
3

私はこれをPHPを介して行うことにしました(主にlighttpdモジュールを作成する気がなかったためです)。

私のスクリプトは、要求されたファイルのタイプ(jsまたはcss)を指定するクエリ文字列を受け取り、次にそれらのファイルの名前を受け取ります。たとえば、私のサイトでは、CSSは次のように追加されます。

<link rel="stylesheet" href="concat.php?type=css&style&blue" ... />

これにより、style.cssとblue.cssが最小化および連結されます

JSMin-PHPcssminを使用します。

また、使用可能な場合はXCacheを使用してファイルをキャッシュします(縮小にはコストがかかるため)。Xcacheが利用できない場合に縮小されないように、実際にスクリプトを変更する予定ですが、Xcacheを使用していて、退屈しています。

とにかく、誰か他の人がそれを望むなら、それはここにあります。私のファイルを使用する場合は、ファイルを一覧表示するように関数を変更する必要がありisAllowed()ます(trueを返すだけでも安全かもしれませんが、許可したいファイルを一覧表示するのは簡単でした)。

于 2010-05-27T04:50:39.427 に答える
2

C# ライブラリに付属するMicrosoft Ajax Minifierを使用して、js ファイルを縮小します。私はサーバー上でそれを使用し、ページごとに最大 2 つの縮小された .js ファイルを提供します (1 つはサイト全体で同じ「静的」ファイルで、もう 1 つはそのページに固有の「動的」ファイルです)。

Yahoo の YUI コンプレッサーも、同様に使用できる単純な Java .jar ファイルです。

重要なことは、ファイルごとに実行しないことだと思います。最大のメリットを得るには、.js ファイルを組み合わせる必要があります。そのため、「自動」ソリューションは実際には機能しません。ファイルごとにのみ機能する必要があるためです。

于 2010-05-26T00:40:45.963 に答える
2

lighttpd の代わりにNginxを使用する場合は、Nginx の組み込み Perl サポートを利用して、Perl モジュールJavaScript-Minifierを利用して JS サーバー側を縮小およびキャッシュできます。

これを実現する方法の詳細は次のとおりです: wiki.nginx.org/NginxEmbeddedPerlMinifyJS

于 2010-09-04T03:03:11.137 に答える