2009-12-02 12 views
31

私は単純な速度ベンチマークツールとしてYslowを使用しています。電子タグe-タグを設定する

したがって、主な問題は次のとおりです。どのようにしてEタグを設定できますか? YSlowの中に私のグレードは言う:

がありますが、私はまだ私が実際に電子タグを持つことを理解することができないウェブサイトの最適化にdeveloper.yahoo.comガイドラインを通じて閲覧

* http://thehotelinventory.com/media/js/jquery.min.js 
* http://thehotelinventory.com/media/js/jquery.colorbox.min.js 
* http://thehotelinventory.com/media/js/easyslider.min.js 
* http://thehotelinventory.com/media/js/jquery.tools.min.js 
* http://thehotelinventory.com/media/js/custom.min.js 
* http://thehotelinventory.com/media/js/jquery.validate.min.js 
* http://thehotelinventory.com/media/images/colorbox/loading_background.png 
* http://thehotelinventory.com/media/images/productheaderbg.jpg 
* http://thehotelinventory.com/media/images/buttons/field-bg. //etc 

誤って設定てETagと19個のコンポーネント

+2

あなたはおそらくより良い答えを得るだろうし、どのようなOSは何と同様である:

.htaccessにこれらの行を追加します。サイトに使用しているプログラミング言語があればその情報がなければ誰もあなたに設定を変更する方法を伝えることができず、一般的な情報を得るだけです。 –

答えて

26

This pageは、IIS用のETagを無効にする方法を示し、this pageはApache用の方法を示しています。

+1

Apacheの場合、最初にmod_headersをオンにして、次のコマンドを実行してください。 'a2enmod headers' – Malachi

+1

正しいですが、Headerディレクティブはmod_headersモジュールの一部であり、モジュールを最初に有効にする必要があります。 http://www.askapache.info//2.3/mod/mod_headers.html#header –

+1

Apacheの場合、AskApache.comはリダイレクトを追加せずにサイト構造を変更しました。新しいURLは次のとおりです。http://www.askapache.com/htaccess/apache-speed-etags/ –

0

エンティティタグは、HTTPプロトコルの機能であり、参照http://www.ietf.org/rfc/rfc2616.txt

エンティティタグは同じから二つ以上のエンティティを比較するために使用されています要求されたリソース。 HTTP/1.1ではETag(セクション 14.19)、If-Match(セクション14.24)、If-None-Match(セクション14.26)、および If-Range(セクション14.27)ヘッダーフィールドのエンティティタグが使用されます。 がどのように使用され、キャッシュバリデータとして比較されるかの定義は13.3.3項にあります。 エンティティタグは不透明な引用符付きの文字列で構成され、おそらく接頭辞は という弱点です。

7

E-Tagsをハッシュの一種と考えてください。ブラウザがリソースを要求すると、ブラウザはキャッシュしたファイルバージョンのEタグを送信します。サーバがファイルが十分に似ていると判断した場合(E-タグの「強」と「弱」バージョンがあるため、常に単純な比較チェックではない)、クライアントに「304 Not Modified」レスポンスを送信します。リソースそのもの。これは、変更されていないファイルで帯域幅が無駄になるのを防ぐため、速度の向上につながります。

EタグはHTTPヘッダーを介して送信されます。

ここ(Apacheのためにそれらを無効にする方法をもと)E-タグの良い例が仕事でありますあり: http://www.askapache.com/htaccess/apache-speed-etags.html

+0

AskApache.comはリダイレクトを追加せずにサイト構造を変更しました。新しいURLは次のとおりです。http://www.askapache.com/htaccess/apache-speed-etags/ –

3

ソースに直進し、YSlowのは、それのすべての指針をどのように提供するかを含めて、アドバイスですconfigure ETags

0

ウィキペディアは男の親友:) SHZが言ったようにhttp://en.wikipedia.org/wiki/HTTP_ETag

は基本的にハッシュが、それはユニークな、またはほとんどのファイルのためにあるべきです。

1

ETagを設定する最も良い方法は、それらを削除することです。静的ファイルの場合、遠い将来の有効期限ははるかに良い方法です。

削除方法は、使用しているWebサーバーによって異なります。 IIS 7の場合、単純なHttpModuleを使用して行うことができます。

+0

将来の有効期限はなぜより良い方法ですか?どんな状況で? – starbeamrainbowlabs

8

Apacheを実行していると仮定します...

あなたは、このような単純なETagを設定することができます:あなたは、複数のサーバーを持っている場合は、あなたがてETagを無効にしたい

FileETag MTime Size 

を。

FileETag None 

(あなたがアクセス権を持っている場合)、そうでなければ、.htaccessにそれを置くことができ、あなたのhttpd.confに上記のコードを入れてください。

+0

.htaccessの "FileETag MTime Size"を私の場合は助けてくれませんでした。しかし、それをhttpd.confに置き、Apacheを再起動すると動作しました。 https://studio.tellme.com/vxml2/ovw/perf/cache_apache13.html#inode_etags – Haluk

+0

httpd.confはより良い解決策ですが、AllowOverrideをオンにしていると.htaccessは正常に動作するはずです。 – philfreo

+0

複数のサーバがある場合、なぜETagを無効にするのですか? ETagsの最初の構成を指定すると、ETag生成のためにinode番号が考慮されないため、複数のサーバーであっても安全です。 – dragosb

6

ETagヘッダーを削除すると、キャッシュとブラウザーがファイルを検証できないようにするので、Cache-ControlヘッダーとExpiresヘッダーに依存することになります。あなたはあなたがあなたのサーバーを管理できるかどうかなど、変更することができますどのような投稿場合

<ifModule mod_headers.c> 
Header unset ETag 
</ifModule> 
FileETag None 
関連する問題