[42] [[Webブラウザー]]は、[DFN[[F[既読URLリスト]]]]を持ちます。その挙動は明文化されておらず、
完全に[[実装依存]]ですが、大まかな動作は共通しています。

* 既読化

[43] [[navigate]] がある程度の段階まで進行すると、 [[URL]] を[F[既読URLリスト]]に追加します
([DFN[既読化]])。

;; [[navigate]] も参照。

[44] [[HTTPリダイレクト]]や [[HSTS]] などで [[URL]] が書き換わる場合には、
両方が追加されるのが一般的なのではないかと思われます。

[HISTORY[
[45] かつての [[IE]] は [[URL]] の[F[素片][素片識別子]]を無視していました。
この動作は [[Web互換]]とは断言できません。
[SEE[ [[素片識別子]], [[朝日奈クエリ]] ]]
]HISTORY]

[48] [CODE(DOMm)@en[pushState]]/[CODE(DOMm)@en[replaceState]] が影響するのかは不明です。

[11] [[private browsing]] での動作は実装依存です。
[[既読化]]が何も行わず、 [CODE[:visited]] に何も一致しない実装もあるようです。

-*-*-

[6] [[ブラウザー拡張]]の [CODE[history]] API から追加することもできます。

[3] [[既読化]]された際、 [CODE[history]] API の [CODE[onVisited]] が呼び出されます。

* 参照

[46] [CODE(CSS)@en[:visited]]/[CODE(CSS)@en[:link]] の[[レンダリング]]には、 [F[既読URLリスト]]に[[リンク先]]の
[[URL]] が含まれているか否かを利用します。

;; [CODE(CSS)@en[:visited]] 参照。

[13] [[レンダリングの更新]]でほぼ[[リアルタイム]]に反映されるのが普通です。

* 削除

[47] [F[既読URLリスト]]の項目は、古くなったら自動的に削除されます。

[10] 昔の [[Webブラウザー]]には、何日経ったら削除するかの[[設定]]項目が用意されていました。

-*-*-

[4] [[ブラウザー拡張]]の [CODE[history]] API から削除もできます。

[5] 削除時には [CODE[history]] API の [CODE[onVisitRemoved]] が呼び出されます。

* ブラウザー拡張の [CODE[history]] API

[2] [[Chrome拡張]]の API [DFN[[CODE[chrome.history]]]] は、訪問履歴にアクセスできるものです。
[[URL]] のみならず、訪問方法・日時などの情報も保持しているようです。

[REFS[
- [1] [CITE[chrome.history - Google Chrome]] ([TIME[2016-06-18 12:51:04 +09:00]]) <https://developer.chrome.com/extensions/history>
]REFS]

* プライバシー

[7] 閲覧履歴は[[プライバシー]]に関わる情報であり、 [[fingerprinting vector]]
でもあります。

[8] [CODE(CSS)@en[:visited]]/[CODE(CSS)@en[:link]] は[[レンダリング]]にこそ反映されますが、
[[著者]]の[[スクリプト]]からはアクセスできません。

;; [CODE(CSS)@en[:visited]] 参照。

[12] [[同じ起源]]の[[Webページ]]を閲覧したことがあるかどうかは、
[CODE(DOMa)@en[localStorage]] に保存するなど、他のページと協調することで、
知れるようにすることができます。[[同じ起源]]でなくとも、
[CODE(DOMm)@en[postMessage]] などで情報交換の方法を予め用意しておけば、
知ることはできます。
しかし、完全な第三者の [[Webページ]]を閲覧したことがあるかどうかは、取得できません。

* 関連

[9] [[閲覧文脈]]の[[セッション履歴]]と直接の連動関係にはありません。

[14] [[private browsing]] の場合など、[[セッション履歴]]中にあっても[[既読URLリスト]]にはないことがあります。