Java(Tomcat):静的コンテンツを提供するようにCookielessサブドメインを構成する方法

StackOverflow https://stackoverflow.com/questions/2884065

  •  04-10-2019
  •  | 
  •  

質問

GoogleとYahoo!の両方で与えられたヒントの1つWebページの読み込みをスピードアップすることは、Cookielessサブドメインをサーバーの静的コンテンツに構成することです。

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

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

2つの異なるTomcat WebAppsが必要ですか? (1つの「Cookiefull」と1つの「Cookieless」)

2つの異なるサーブレットが必要ですか? (今のところ、ディスパッチャー/コントローラーサーブレットは1つだけです)。

「通常の」リンクは、たとえば、それがメインのWebAppと同じドメインにあるときにCookiefullの方法で呼び出され、サブドメイン上にあるときに「Cookie-Less」方法で呼ばれるのですか?

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

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

役に立ちましたか?

解決

別のドメインをセットアップするだけです。同じWebAppsを指すことができます。この新しいドメインにCookieをドロップしないようにしてください。

たとえば、メインサイトはそうです

  www.example.com

そして、別のドメインを持つことができます

  static.example.com 

クッキーレスの静的リソース用。彼らは同じホストを指して、同じサーブレットに行くことができます。アプリで、これらの静的なコンテンツのCookieをドロップしないことを確認する必要があります。

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

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

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

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

他のヒント

これについてここに投稿しました: url/subdomain rewrites(htaccess)

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

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

['_setDomainName', '[www.valpocreative.com2'],

['_trackPageview']);

`

ここでは、メインドメインをwwwに設定していることがわかります。私の場合、私が間違っている場合は修正します。wwwをwwwサブドメイン以外でリダイレクトする必要があります。これはまた、私のcpanel(cname = "cdn"をwww.domain.comを指しているcnameセットアップでもあります。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top