[解決済み] サブドメインとドメイン間でCookieを共有する
質問
2点ほど質問があります。ドメインを
.mydomain.com
(先頭のドットを含む)クッキーの中で、すべてのサブドメインがクッキーを共有することができます。
可能
subdomain.mydomain.com
で作成されたクッキーにアクセスします。
mydomain.com
(を使用しない)。
www
サブドメイン)ですか?
可能
mydomain.com
(を使用しない)。
www
サブドメイン) で作成された場合、そのクッキーにアクセスします。
subdomain.mydomain.com
?
解決方法は?
2つの異なるドメイン(例
mydomain.com
と
subdomain.mydomain.com
または
sub1.mydomain.com
と
sub2.mydomain.com
で明示的にドメイン名を指定した場合のみ、クッキーを共有することができます。
Set-Cookie
ヘッダがあります。そうでなければ、クッキーの範囲はリクエストされたホストに限定されます。(これはquot;host-only cookie"と呼ばれています。参照
ホストのみのクッキーとは何ですか?
)
例えば、以下のようなヘッダを
subdomain.mydomain.com
この場合、クッキーはそのドメインへのリクエストに対してのみ送信され、他のドメインへのリクエストに対しては送信されません。
Set-Cookie: name=value
しかし、以下のようにすれば、両方のドメインで使用できるようになります。
Set-Cookie: name=value; domain=mydomain.com
domain 属性は " でなければなりません。 ドメインマッチ つまり、同じドメインまたはスーパードメインである必要があります。
上記のクッキーは
いずれか
のようなネストされたサブドメインを含む、mydomain.com のサブドメインです。
subsub.subdomain.mydomain.com
.
で
RFC 2109
の場合、先頭のドットがないドメインはサブドメインで使用できないことを意味し、先頭のドットのみ(
.mydomain.com
は、複数のサブドメインにまたがって使用することができます(ただし、トップレベルドメインでは使用できないため、ご質問の内容は古い仕様では不可能でした)。
しかし、すべてのモダンブラウザは、より新しい仕様を尊重しています。 RFC 6265 つまり、トップレベルドメインだけでなく、サブドメインでもクッキーを使用することができるのです。
まとめると、上記2つ目の例のようなクッキーを
mydomain.com
でアクセスできるようになります。
subdomain.mydomain.com
その逆も同様です。これはまた
sub1.mydomain.com
と
sub2.mydomain.com
を使用してクッキーを共有します。
こちらもご覧ください。
- www vs no-wwwとCookieについて
- クッキーテストスクリプト をクリックしてお試しください。
関連
-
[解決済み] ExpressJSのX-Powered-Byを削除する方法 [重複]。
-
[解決済み] X-Forwarded-Forヘッダーが表示されないブラウザの理由
-
[解決済み] URI、URL、URNの違いは何ですか?
-
[解決済み] HTTP GET(リクエストボディ付き
-
[解決済み] updateとdeleteのHTTPステータスコード?
-
[解決済み] jQueryでクッキーを設定/解除するにはどうすればよいですか?
-
[解決済み] ブラウザのCookieドメインはどのように機能するのですか?
-
[解決済み] Chromeのネットワークデバッガをリダイレクトで使用する方法
-
[解決済み】HTTPのPOSTとPUTの違いは何ですか?
-
[解決済み】ドメインを明示したローカルホスト上のクッキー
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] 要求されたURLの長さが、このサーバーの容量制限を超えていませんか?
-
[解決済み] リソースを "アンキャッシュ" する
-
java.lang.NoClassDefFoundError: クラスを初期化できませんでした エラーの理由
-
[解決済み] HTTPの "Host "ヘッダーとは何ですか?
-
[解決済み] ブラウザによって異なるURLの最大長とは?
-
[解決済み] 検証失敗または重複が無効な場合のREST HTTPステータスコード
-
[解決済み] HTTP DELETE リクエストにエンティティボディは許されますか?
-
[解決済み] Cache-Control: max-age=0とno-cacheの違いは何ですか?
-
[解決済み】AngularでHTTPリクエストにURL引数(クエリ文字列)を渡すには?
-
[解決済み] HTTP GETリクエストにcontent-typeヘッダーは必要ですか?