

JavaScriptの`window.open()`で新しくウィンドウを開いた場合、セッションが引き継がれるかどうか、というものは、何か標準仕様が決まっているのでしょうか。  
それともブラウザ毎に独自に決めてしまっているのでしょうか。

「セッションが引き継がれるか」をもう少し具体化しますと：

  1. セッションCookieが、親ウィンドウのものと同じになるか
  2. SessionStorageが、親ウィンドウと共有されるか

手元のChrome51とIE11で確認した限りでは、どちらも以下の結果でした。

  1. Yes
  2. Yes/No, window.openした時点でのSessionStorageの内容は子ウィンドウにコピーされるが、それ以降は独立しており、同期されない

この挙動を前提としたアプリケーションを作ろうとしているのですが、これが個別のブラウザの独自仕様だとすると、近い将来に挙動が変わってしまいそうで、二の足を踏んでいる状況です。


CC BY-SA 3.0
2016-03-07T10:23:39.557
22887
2016-03-07T23:16:36.717
8078
question
javascript
window.open()でセッションは引き継がれるか


> window.openした時点でのSessionStorageの内容は子ウィンドウにコピーされるが、それ以降は独立しており、同期されない

については、ブラウザの独自仕様ではないようです。

<https://html.spec.whatwg.org/multipage/webstorage.html#the-sessionstorage-
attribute>

> When a new top-level browsing context is created by a script in an existing
> browsing context, or by the user following a link in an existing browsing
> context, or in some other way related to a specific Document, and the
> creation is not a new start for session storage, then the session storage
> area of the origin of that Document must be copied into the new browsing
> context when it is created. From that point on, however, the two session
> storage areas must be considered separate, not affecting each other in any
> way.

* * *

> セッションCookieが、親ウィンドウのものと同じになるか

Cookie はサーバから渡すものなので、サーバの挙動に依存するのではないでしょうか？  
もし`window.open('http://google.com')`としたら、cookie の値は引き継がれないですよね？

[HTTP State Management Mechanism](http://httpwg.org/specs/rfc6265.html#domain-
attribute)


CC BY-SA 3.0
2016-03-07T13:14:17.937
22890
2016-03-07T23:16:36.717
2016-03-07T23:16:36.717
8000
7471
22887
answer