[4] [[Web]] にはいくつかの[DFN[[RUBYB[[[セッション]]]@en[session]]]]があります。

* Web ブラウザーのセッション

[5] [[クッキー]]における[[セッション]]は、 [[Webブラウザー]]を起動してから終了するまでです。

[11] [[利用者エージェント]]によっては、[[セッション]]を越えて[[クッキー]]を保持するかどうかを設定できます [SRC[>>8]]。
[[private browsing]] モードではそのように動作することがあります [SRC[>>8]]。

[10] [[クッキー]]を[[セッション]]を越えて保持するかどうかは、
個別の[[クッキー]]の持続フラグが設定されているかどうかに依存します。

[9] [[クッキー]]の持続フラグは、[CODE(HTTP)@en[[[Expires]]]] [[属性]]や
[CODE(HTTP)@en[[[Max-Age]]]] [[属性]]の有無や、
[[利用者エージェント]]が[[セッション]]を越えて[[クッキー]]を保持するよう設定されているかどうか
[SRC[>>8]] に依存して決まります。
[SEE[ [CODE(HTTP)@en[Expires]] ]]

[2] [DFN[[RUBYB[現在セッションが終わった]@en[the current session is over]]]]時点は[[利用者エージェント]]により定義されます
[SRC[>>1]]。

[3] [[現在セッションが終わった]]ら、持続フラグが設定されていない[[クッキー]]はすべて削除しなければ[['''なりません''']]
[SRC[>>1]]。

[19] [[Webブラウザー]]によっては、一度[[窓][窓 (Web)]]を閉じてから、
それをすぐに復元したり、[[プロセス]]終了後に元の状態を復元したりできることがあります。
元の[[セッション]]が維持されていて復元されるのか、
元の状態に近い新しい[[セッション]]が新規作成されるのかは実装によります。

[20] [[WebDriverセッション]]はこの意味かもしれません。

[21] [CITE[[[Push API]]]]
は[DFN[[RUBYB[閲覧セッション][browsing session]]]]と呼んでいます。


[REFS[
- [1] [CITE@en[RFC 6265 - HTTP State Management Mechanism]] ([TIME[2014-10-12 15:11:47 +09:00]] 版) <http://tools.ietf.org/html/rfc6265#section-5.3>
- [8] [CITE@en[RFC 6265 - HTTP State Management Mechanism]] ([TIME[2014-10-12 15:11:47 +09:00]] 版) <http://tools.ietf.org/html/rfc6265#section-7.2>
]REFS]

* セッションストレージ領域のセッション

[6] [CODE(DOMa)@en[[[sessionStorage]]]] は[[最上位閲覧文脈]]と[[起源]]に関連付けられています。

[16] [[利用者エージェント]]の[[プロセス]]が[[再起動]]したとしても、
その後再開できるなら、それは同じ[[セッション]]が継続していると扱うことができます [SRC[>>15]]。

[REFS[
- [15] [CITE@en-GB-x-hixie[HTML Standard]] ([TIME[2015-05-06 10:42:35 +09:00]] 版) <https://html.spec.whatwg.org/#the-sessionstorage-attribute>
]REFS]

[17] [SEE[ [[閲覧文脈の作成]] ]]

* navigate 間のセッション

[22] 
[CITE[Geolocation API Specification]]
は、
[DFN[[RUBYB[現在閲覧セッション][current browsing session]]]]という言葉を使っています。
その意味は、
[[閲覧文脈]]が他の [[URL]]
に [[navigate]] されるときまで、
と説明されています。
[SRC[>>23]]

[REFS[
- [23] [CITE@en[Geolocation API Specification]], [TIME[2019-11-24 18:38:51 +09:00]] <https://w3c.github.io/geolocation-api/#privacy_for_uas>
]REFS]

* セッション履歴のセッション

[7] [[セッション履歴]]は[[閲覧文脈]]に関連付けられたリストです。

[14] [[タブ]]を開いてから閉じるまでに対応するのが一般的ですが、
最近の [[Webブラウザー]]には閉じた[[タブ]]を復元する機能があり、
閉じたはずの[[閲覧文脈]]が ([[セッション履歴]]や[[文書]]の状態を含めて)
復元されることがあり、[[閲覧文脈を捨てる]]処理や[[セッション履歴]]とどう対応しているのかは必ずしも明確ではありません。

* ダイジェスト認証のセッション

[18] [SEE[ [[ダイジェスト認証]] ]]

* TLS セッション

[SEE[ [[TLSセッション]] ]]

* Web アプリケーションのセッション

[13] [[Webアプリケーション]] ([[鯖側]]にせよ[[クライアント側]]にせよ、
両方で構成されるものにせよ。) には個々で独自の (あるいは利用する [[WAF]]
等の) “[[セッション]]”を実装していることがあります。その意味や実現方法は様々です。

[25] 
[[クライアント]]に[[セッション]]を維持させる方法として、
[[クッキー]]に[[セッションID]]を含める方法がよく使われています。

;;
[26] 他にもいくつかの方法がありました。例えば
[[URL]]
に[[セッションID]]を含める方法が使われましたが、
[[汚いURL]]で危険でした。



[24] 
[[セッション固定攻撃]]の[[セッション]]は、こちらの[[セッション]]です。

[12] [[逆プロキシ]]で使われる [[sticky session]] もこの[[セッション]]です。

* メモ
