2
  1. 私は新しい Web サイトを開始し、いくつかの JS ライブラリを含める予定です。.htaccessファイル テンプレートがメディアと JS ファイルのキャッシュでどのように見えるか知りたいですか?

  2. 圧縮には、 GZipまたはDeflateのどちらが適していますか?

  3. これらの JS ライブラリを Google CDN からローカルで提供する方が、より良い/より高速なソリューションですか?

GoogleCDN から提供されるスクリプトの一部が更新され、最終的にウェブサイトのレイアウトが壊れる可能性があるため、CDN に質問しています。同じ/近くで動作する場合は、それらをローカルでホストし、ウェブサーバーを介してキャッシュする方がよいと考えました。 -同じ速度。

4

1 に答える 1

0

(申し訳ありませんが、コメントを投稿するには担当者が低すぎます)

いくつかのjsファイルを含めるという点で、サイトを再構築する際に留意すべきことがいくつかあります。まず、これらの各ファイルはリクエストであり、それらを提供するとサーバーにオーバーヘッドが発生します。CDNでも、クライアントが行う必要のあるリクエストになります。たとえばCookieを使用してサイトを設定している場合、そのため、すべてのリクエストのオーバーヘッドが少し増えます。あなたがCDNについて尋ねたので、あなたのキャッシングのためにこれに言及します。つまり、最初にコンテンツを提供する場所を検討してから、キャッシュする必要があります。個人的には、このタイプのコンテンツを提供するために2番目のサブURLを設定しているので、static.website.comです。このようにして、コンテンツのリクエストのオーバーヘッドが少なくなり、並列ダウンロードを利用できます。だから、グーグルCDNを再確認してください、ええ、あなたがそこにほとんどのものを持っているかどうかは確かです。

それは私にキャッシングと圧縮をもたらします。多くのファイルがある場合は、それらをすべて1つにまとめて、それを提供することを検討することをお勧めします。私がやっていることは、私たちが使用する15個ほどのjsファイルを取得し、それらをすべて1つのファイルに入れてハッシュし、ハッシュをファイル名にすることです。(これは、デプロイ前のビルドステップ用に書いた小さなものです)。このように、ファイルのいずれかが変更されると、ハッシュが変更され、新しいコンテンツがすぐに提供されます。たとえば、jsファイルを1年間キャッシュすることの難しさは、名前を変更しない限り、クライアントマシンを制御して新しいファイルを取得することはできないということです。これらは、キャッシングとcdnおよび複数のjsファイルを再設定する際に覚えておくべきことの一種です。

個人的には、私が言ったように、すべてのjsファイルを1つに結合してから、それらをminファイル(ajaxミニファイア)に圧縮して使用します。私はcssファイルについても同じことをします。これはサブドメイン上にあり、そこで提供されます。

アパッチでは、私は次のものを持っています:

# Enable memory caching
CacheEnable mem /
# Limit the size of the cache to 50 Megabyte
MCacheSize 51200
AddOutputFilterByType DEFLATE application/x-javascript
ExpiresActive On
ExpiresDefault "access plus 1 second"
# hashed file so safe for long out cache
ExpiresByType text/javascript "access plus 1 years"

がらくたの負荷と一緒にもっと...しかし、あなたはアイデアを得る

最後に、モバイルサイトを構築する場合は、帯域幅のコストを低く抑えることが重要であることを覚えておく必要があります。これは答えにどのように影響しますか?私のモバイルサイトの場合、同じ方法で提供するカスタムjsファイルは2〜3個しかありませんが、jquery-mobileの場合は、公式リポジトリからこれを提供します。なんで?クライアントのモバイルにはすでにキャッシュされているため、クライアントの帯域幅が節約されます。デスクトップの場合、私はそれほど気にしませんが、これはモバイルの世界に大きな違いをもたらします。

私はこの助けを願っています、あなたが何かについてもっと情報が必要な場合は私に知らせてください、

乾杯

ロビン

于 2012-10-13T22:52:10.407 に答える