2009-09-16 39 views
16

YSlowのメジャーリーブの1つは、クッキーフリードメインを使用して静的ファイルを提供することです。.htaccess、YSlow、および "Use cookie-free domains"

「ブラウザは静的 画像を要求し、 要求にクッキーを送信すると、サーバは クッキーを無視しますが。これらのクッキーは ネットワークトラフィック不要です。必ず静的 コンポーネントことを確認、この 問題を回避するには クッキーのないリクエストで、サブドメイン を作成し、そこにホストしてをホストすることでリクエストされます。 - ヤフーYSlowの

私はwww.example.com/imagesにstatic.example.com/imagesを移動する場合、私は、パフォーマンスの向上を体感できたことを意味するためにこれを解釈します。

これは簡単ですが、私は自分のコンテンツ管理システム(Joomla/WordPress)で簡単に参照してリンクすることができます。

static.example.com代わりに上のフォルダにwww.example.com上の特定のフォルダのすべての要求をリダイレクトするための.htaccessを使用することが可能ですか?この方法は、画像が自分のドメインのデフォルトの場所に配置されていると考えてCMSに騙されますか?

+0

コンセンサスは、.htaccessを使用してwww.example.com/imagesのリクエストをstatic.example.com/imagesにリダイレクトすることができますが、作業負荷がパフォーマンスを低下させます。単一の要求でcookielessドメインからファイルに直接アクセスする場合にのみ、パフォーマンスが向上します。別のアイデアは、参照を動的に作成するプラグインを使用することでした。アドバイスをいただき、ありがとうございます。 –

答えて

14

ではなく static.example.com上のフォルダにwww.example.com上の特定のフォルダのすべての要求 をリダイレクトするための.htaccessを使用することが可能ですか?

クライアントはHTTP要求を行い、リダイレクト応答を取得し、次に別のHTTP要求を行う必要があります。

これは、保存された1行のクッキーデータ以上のコストです!

この方法は、画像 が自分のドメインのデフォルトの場所に配置されていると考えてCMSに騙されますか?

3

リダイレクトは、はるかに多くのネットワークトラフィックを引き起こし、はるか以上の待ち時間、彼らがそうであるように、単に物事を残すよります。

1

リクエストをリダイレクトしますが、依然としてクライアントはそのCookieをサーバーに送信しているので、実際には何も達成できませんでした。クッキーが保存されていないドメインから直接アクセスする必要があります。

4

これが行うのは簡単ですが、私は 簡単にこれらの画像に とのリンクを参照するために私 コンテンツ管理システム (joomlaの/ワードプレス)内の便利な機能を失うことになります。

あなたがしようとする可能性があるのは、これらの参照をdinamically作成するJoomlaでプラグインを作成することです。

例えば、記事に{dinamic_path path}と入力すると、提供されたパスに 'static.example.com/images'が追加されるプラグインがあります。したがって、サーバーのパスを変更する必要があるたびに、プラグインを変更するだけです。すでにデータベースにあるリンクについては、phpMyAdminを使用してこの構造内でリンクを変更することができます。

TinyMCEではWYSIWYGの脆弱性が失われますが、代替方法です。

+0

GmonCのアイデアをありがとうが、私のスキルを超えているかもしれない。 JoomlaとWordpressの両方の大きなプラグインライブラリには、私はこれらの行に沿って何かを見つけることを軽く期待していました。 –

+0

Joomlaの公式サイトでextensionsディレクトリを検索できます。 "DirectPHP"と呼ばれるプラグインがあります。あなたは5行のPHPスクリプトを書いて記事から呼び出すことができます。しかし、私はときどき、すでに実用的なソリューションを望んでいることに同意します.CSMであるため、既に実装されている機能が必要です。まあ、他の提供されたソリューションと幸運! – GmonC

+0

ATG Dynamoはこれを行う商用(非常に高価!)のWebアプリケーションフレームワークです。 CMSでイメージを操作し、コンテンツを展開すると、イメージを専用のWebサーバーにプッシュし、ページに正しいURLを生成できます。いいアイデアだし、実現するのも難しいことではないので、もっと広く行われていないのは驚きです。 –

0

static.example.com/imagesの代わりにstaticexample.com/imagesを使用して、設定したexample.comドメインのCookieを取得しないようにします。シンプルなApacheサーバーなどで、そのドメインのサーバーイメージがあれば、セッションCookieを返さないようにサーバーを構成できます。

リダイレクトは非常に悪い考えです。 Cookieによってパフォーマンスが低下する場合がありますが、リダイレクトなどのサーバーへのラウンドトリップはパフォーマンス上の問題が深刻です。

3

images.example.comのように、イメージフォルダに直接アクセスする仮想ドメインを作成することは理論的に可能です。次に、あなたのCMS(うまくいけばテーマレイヤー)で、imagesフォルダを指すすべてのパスを、サブドメインへの絶対パスで置き換えることができます。

1

私は以下でしたし、成功を得た:

<FilesMatch "!\.(gif|jpe?g|png)$"> 
    php_value session.cookie_domain example.com 
</FilesMatch> 

それは何を意味することは、あなたがクッキー情報の画像を設定しない場合ということです。 イメージはサーバーでクッキーなしです。

+1

これは、OPが尋ねたことをしません。 – tiago

+0

Nginxにはこれに相当するものがありますか? –

+0

私のウェブサイトに503を表示 –