0

少し前に、多くの大規模なサイトが、CSS および JS ファイルを驚くほど少数 (単一のファイルであっても) で、奇妙な英数字の名前で提供していることに気付きました。私が考えたのは、これらのファイル名はハッシュであり、次のことを疑うようになりました。

  • それらはキャッシュされました
  • それらは、さまざまな CSS および JS の「ビット」からの HTTP オーバーヘッドの量を削減するために動的に作成されました。

いくつかのインターネット調査は、私が正しく、このアプローチはある程度存在し、価値があることを示しました。私が開発している WAMP/LAMP サイトに実装したいと思います。このサイトは、モジュラー プラグイン構造のため、多くの場合に役立ちます。小規模および中規模の CSS および JS ファイル。


これらは私の質問です:

  1. ファイルの更新時にキャッシュを自動的に更新するにはどうすればよいですか? 私が思いついた解決策は、すべてのページに一種の「署名文字列」を作成し、ファイルパスと最終更新時間を結合してから、MD5 で署名をハッシュし、それをキャッシュにフィードして、ハッシュ/ファイル名が存在します。それは正しいアプローチですか?欠点はありますか?
  2. 次の論理的なステップは縮小です。CSS ファイルの縮小はかなり単純です。JSのミニフィケーションも信頼できますか? インターネットで良いクラスはありますか?
  3. もう 1 つの問題: 既に縮小されたスクリプトについてはどうでしょうか。私が考えた何らかの形式の解析を除いて、唯一の解決策は、縮小前と縮小後のサイズを比較することでした.サイズ後のサイズが前のサイズの場合、PHP-縮小されたフォームを使用します。計算上のオーバーヘッドはキャッシュによって解決されるべきですよね?
  4. 最も重要な問題: CSS イメージ。ここで私は本当に手がかりを持っていません: さまざまな場所でさまざまな CSS を収集すると、すべての相対イメージ リンクが壊れます。絶対パスを使用できません (サイトの再配置可能性を破る)。css/imgファイル名が競合する可能性があるため、CSS 画像に標準のディレクトリ構造を使用しないことをお勧めします (たとえば、すべての CSS 参照画像をディレクトリの下に配置する)。これは、何らかの方法で CSS を解析することも意味します。どうすればこれを解決できますか?
  5. 圧縮: ソフトウェア PHP ベースの GZIP 圧縮を常に実装する必要がありますか、それとも (その分野では非常に無知です) Apache サーバーで自動的に適用できますか?

ご清聴ありがとうございました。

4

1 に答える 1

1

私が使用しているのは、このための非常に優れたライブラリhttps://github.com/mrclay/minifyです。そのライブラリは、cssファイルとjsファイルを自動的に1つのファイルに縮小し、変更ファイルのキャッシュを再構築します。

于 2012-07-26T09:24:37.107 に答える