4

GoogleとYahoo!の両方から提供されたヒントの1つ。ウェブページの読み込みを高速化するには、静的コンテンツをサーバー化するためにCookieなしのサブドメインを構成します。

スタンドアロンモードでTomcatを使用して「Cookielessサブドメイン」を構成するにはどうすればよいですか(この質問は、Apacheを使用してCookielessの方法で静的コンテンツを提供する方法ではなく、Tomcatスタンドアロンモードで行う方法についてです)。

私はgzipをサポートするフィルターも気にしないことに注意してくださいIf-Modified-Since:私が提供している静的コンテンツは永久にキャッシュ可能であり(またはその名前は変更されます)、すでに圧縮されたデータです(したがって、gzipは転送を遅くするだけです) 。

2つの異なるTomcatWebアプリが必要ですか?(1つは「cookiefull」、もう1つは「cookieless」)

2つの異なるサーブレットが必要ですか?(現在、ディスパッチャー/コントローラーサーブレットは1つしかありません)。

たとえば、静的画像への「通常の」リンクは、メインのWebアプリと同じドメインにある場合はCookieを使用して呼び出され、サブドメインにある場合は「Cookieを使用しない」方法で呼び出されるのはなぜですか。 ?

何が起こっているのか正確にはわかりません。クエリにCookieを追加するかどうかを決定するのはブラウザですか。もしそうなら、なぜそれは「クッキーレス」サブドメインの静的クエリにクッキーを追加しないのでしょうか。

舞台裏で何が起こっているかについての例は大歓迎です:)

4

2 に答える 2

3

別のドメインを設定する必要があります。同じWebアプリを指すことができます。この新しいドメインにCookieをドロップしないように注意してください。

たとえば、メインサイトは

  www.example.com

そしてあなたは別のドメインを持つことができます

  static.example.com 

Cookieのない静的リソースの場合。それらは同じホストを指し、同じサーブレットに移動できます。これらの静的コンテンツのCookieをドロップしないようにアプリで確認する必要があります。

編集:静的コンテンツがTomcatのデフォルトサーブレットによって提供されると仮定すると、何もする必要はありません。それはあなたのためにクッキーを落とさないので、あなたの新しいドメインはクッキーフリーでなければなりません。

同じサーブレットで静的コンテンツを処理する必要がある場合は、次のように実行できます。

   if (!request.getServerName().equals("static.example.com")) {
       // Drop cookie
   }

この例では、ルートドメイン(.example.com)にCookieをドロップしないことを前提としています。その場合は、examplecdn.comなどの別のドメインを取得する必要があります。

于 2010-05-21T17:23:26.147 に答える
2

私はこれについてここに投稿しました:URL /サブドメインの書き換え(htaccess)

Cookieのないサブドメインを実装し、ベースURLがwwwである場合は、明確にするために逆方向に持っている可能性があると思います(またはおそらく私はそうします)。少なくともこの場合、Cookieはwwwに設定されます。たとえば、主要なCookieセッターはGoogle Analyticsであるため、私のサイトでスクリプトを設定すると、次のようになります。

`var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'analytics-acc-#],

['_setDomainName', '[www.valpocreative.com] 2 ']、

['_trackPageview']);

`

ここで、メインドメインをwwwに設定していることがわかります。私の場合、wwwをwww以外のサブドメインにリダイレクトする必要があり、その逆ではない場合は修正してください。これは私のcpanelで行われたcname設定でもあります(www.domain.comを指すcname = "cdn")

于 2011-10-13T21:59:03.370 に答える