[88] navigate (名詞形 navigation) は、 資源へのアクセスを行い閲覧文脈の表示を切り替えたり、 ダウンロードその他の動作を発生させたりする操作です。ハイパーリンクのクリックやそれに相当する JavaScript の操作などにより呼び出されます。 Webブラウザーを構成する最も基礎的で重要な (しかし複雑で難解な) アルゴリズムの1つです。
[282] navigate は、閲覧文脈の履歴上に新しいエントリーを作成し、 移動することを目的とした様々な一連の処理です。新しいエントリーは新たにネットワークから取得 (fetch) した資源かもしれませんし、現在閲覧文脈で表示中の文書の素片かもしれません。
[283] navigate の結果閲覧文脈の履歴上の移動が発生し表示が更新されるのが基本的な動作ですが、 navigate 先によってはダウンロードなどの処理が起動することがあります。 あるいは現在の閲覧文脈ではなく、新しい閲覧文脈 (新しい窓やタブ) を開いて navigate することもあります。
[16] navigate は、仕様書で規定されている手順により (著者の指示により) 実行される場合もあれば、利用者エージェント依存の方法で (利用者の直接の指示により) 実行される場合もあります。
[17] 前者の例として location.href
の設定が、
後者の例としてアドレスバーからの URL の指定があります。
[41] navigate には、次の入力 (引数) があります。最初の3つは必須です。
embed
/object
の fetch の結果、
ネットワークエラーなど。)[55] navigate の結果表示される navigate の選択肢を利用者が選んだ場合にも、 (再度 fetch するのは無駄なので) fetch 結果付きで navigate を呼び出すべきかもしれません。
[186] ハイパーリンクをたどる場合や は、
URL のかわりにソースやエラーページが指定された navigate が実行されることもあります。window.open
や overridden reload で
[188] iframe
srcdoc
文書では URL
と共にソースが指定されます。
[189] document.open
で追加されるセッション履歴エントリーのエントリー更新では指定されたソースが使われます。
[225] change the encoding は応答を指定して、または URL 等 fetch 条件を指定しての navigate を呼び出すことがあります。その際 a known definite encoding も指定されます。
form-submission
または other
。
既定値は other
。document.open
により破棄された文書を再表示するために使います。iframe
srcdoc
文書iframe
srcdoc
文書かどうかを表します。data
や javascript
の場合に使われる可能性のある起源data:
URL では、
スクリプトによる呼び出しの場合は現職設定群オブジェクトの起源javascript:
URL では、
navigate する閲覧文脈の活性文書の起源download
属性値が設定されます。[310] 次のオプションは廃止されました:
seamless
な iframe
内でのリンクが外側の閲覧文脈の
navigate に読み替えられるべきかどうかの判断に影響します。 (target
による閲覧文脈の選択と navigate は別タスクで行われることがあるため、
その間に seamless
かどうかは変化することがあり、
一般に navigate 呼び出し前に予めその判断を済ませておくことはできません。)javascript:
の処理で設定されることもあります。[116] navigate する閲覧文脈や新しい資源はアルゴリズム内で変更されることがあります。
[121] navigate は unload a document や prompt to unload a document が実行中かどうかにより分岐することがあります。それらが同じ閲覧文脈の navigate と並列に実行されることは無いので、事実上、それらの手続きの内側での呼び出しかどうかを調べるものです。
[120] navigate や traverse the history by a delta や
window.stop
は、
同じ閲覧文脈に関する他の navigate にアクセスすることがあります。
[122] navigate は、取り消しされることがあります (>>123)。 取り消しフラグは取り消されたかどうかを表します。 取り消された場合は理由が設定されます。
[108] 入力ではありませんが、アルゴリズム中で mature フラグを使います。どちらも初期値は偽です。 >>12 時刻起源の初期値は未定義です。
[117] 入力ではありませんが、アルゴリズム内で新しい文書が作成されることがあります。
[42] 始点文書は、navigate 開始時点の始点閲覧文脈の活性文書です。 始点設定群オブジェクトは、 navigate 開始時点の始点文書の環境設定群オブジェクトです。
[226] navigate は次のように複雑に動作します。
[162] URL に基づく処理は、 閲覧文脈について次のようにします >>12。
load
events mode を、
真に設定します。null
でない方,
現職navigateする起源,
活性文書navigateする起源,
砂箱フラグ群について
fetch またはそれに相当するもの (>>145) を実行します。[410] 新しい資源の URL に userinfo が含まれる場合、 Chrome は無視する (認証に使わない) ようです。 Firefox はフィッシングの可能性を指摘する confirm モーダルダイアログを表示し、利用者が拒んだ場合は何もしないこととするようです。
[403] 事前レンダリングが実装されていて本 navigate で利用できる場合には、 fetch のかわりに事前レンダリングへの差し替えが行われるものと思われますが、 明文規定はありません。
[145] fetch やそれに相当する操作は、 要求または応答資源, 現職navigateする起源, 活性文書navigateする起源, 砂箱フラグ群について、 次のようにします。
javascript
の場合、[214] 以前は、 Webブラウザー依存の条件 (>>206) 次第で閲覧文脈外 (>>48) または非文書表示に移れることになっていました。
2016年7月の改訂で条件が明確化されたのですが、それによって、例えば
about:blank
以外の about:
URL
の表示や、一部の http:
URL でアプリが起動される機能が認められない形になってしまいました。
[90] プラットフォームによっては、 (http:
URL も含め)
URL scheme や URL のパターンに対して処理するアプリケーションを登録できるものがあります。
その場合には、候補が1つならそれを起動したり、候補が複数なら候補リストを表示したりできます。
Webブラウザー自身が扱えるものなら、Webブラウザーか外部アプリケーションかも選択できたりします。
[455] Windows は古くから (URL scheme ごとに1つだけ) 実行するアプリケーションのファイル名、コマンドライン引数、 DDE オプションなどをレジストリーに登録できる形を採っています。
[456] Android では古くから URL scheme ごと、あるいは http:
などの URL のパターンに対してアプリケーションを登録でき、
複数ある場合は利用者が一覧から選択したり、既定のものを決定できたりします。
[457] iOS では URL scheme ごとにアプリケーションを登録できる他、
http:
などの URL のパターンに対してアプリケーションを登録できる機能は
Universal Links と呼ばれています。
[91] http:
URL や HTML文書のすべてをそうした形で処理するのは、
Webブラウザーとして実用的では無さそうです。一定期間選択結果を覚えておいたり、
同じ起源からの navigate なら無条件で Webブラウザー自身で処理することにしたりしないと、
頻繁に確認ダイアログを表示することになるかもしれません。
[464] 利用者が結局自 Webブラウザーを使うことを選択した場合、 同じ navigate が処理を継続するのか、 新しい navigate を起動するのかは不明です。 後者の場合、再び候補からの選択を利用者に提示すると永遠に Webブラウザーでは開けないことになってしまいますから、 利用者の意図的な選択かどうかで分岐する必要がありそうです。 著者の指定に基づく navigate であるか、 外部アプリケーションからの起動オプションなどによる指定であるかによって分岐するのが良いでしょうか。 (外部アプリケーションが明示的に Webブラウザーに URL を渡す場合も、 何かのアプリで開くのではなく、 Webブラウザーで開きたいのだと判断できそうです。 例えばニュースアプリの「ブラウザーで開く」機能とか。)
[153] Chrome など一部の Webブラウザーは、 Safe Browsing により URL を検査し、危険と判断すればネットワークエラーの非文書表示に移ります。
[398] navigate fetchの処理は、 要求, 閲覧文脈, 始点閲覧文脈, ナビゲーション型, 現職navigateする起源, 活性文書navigateする起源, 砂箱フラグ群について、 次のようにします >>12。
document
navigate
include
manual
null
でなく、
navigate する閲覧文脈の包含子の閲覧文脈適用範囲起源がある場合、
navigate する閲覧文脈の包含子の閲覧文脈適用範囲起源Blocked
なら、[156] 続きの処理は、 応答について、 次のようにします >>12。
blob
, file
, filesystem
, javascript
GET
で、[489] ここで、HTTPリダイレクトの場合に navigate の一部分を繰り返し (再帰的に) 実行する形になっています。 navigate における HTTPリダイレクトの取り扱いは、 素片識別子の取り扱いなど、細部が微妙に navigate 以外の fetch での取り扱いと異なっています。
[490] URL の範囲の検査 (>>491) もここで行われる必要があります。
[591] HSTS や Mixed Content のような navigate 以外との共通の処理は、 fetch 内部で実行されます。
[26] 要求、応答、閲覧文脈、始点閲覧文脈、 ナビゲーション型、予約済み環境、 砂箱フラグ群に関するnavigate応答の処理は、次のようにします。
[183] Webブラウザーによっては、応答の状態が
4xx
や 5xx
で本体が一定サイズ以下の時、
非文書表示とすることがあります (>>134)。
[408] おそらく既読化もこの段階で行われると思われます。 既読化には新しい資源のURLや応答のURLを引き渡します。
[132] 2016年6月の改訂までは次のような規定がありましたが、削除されました。
[184] TLSクライアント認証のダイアログの処理は fetch 側で規定されています。
401
や 407
のHTTP認証ダイアログの処理は、
以前より明確な規定はありませんが、将来的に fetch 側で規定されるものと思われます。
[54] 改訂前は HTML Standard は HTTP の規定に委ねており、理論上はこれら以外にも HTTPヘッダー等の指示に基づく動作を行う余地が残されていました (が仕様書の注釈で、 他のものは考えつかないと記されていました)。 fetch との統合と明確化により、 そうした曖昧な規定は削除されて動作が明確になりました。
[104]
Chrome は navigate で 401
が返されると空白ページを開いてモーダルダイアログを表示します。
前からこんな挙動でしたっけ?
[44] navigate により fetch (相当) を行い最終的に処理するべき資源が確定したら、 その資源のMIME型によって適切な処理を行います。
[45] ここで MIME型は、 sniffed MIME type を使わなければなりません >>12。
[46] 利用者エージェントは、MIME型と設定に基づき、
閲覧文脈,
型,
要求,
応答,
現職navigateする起源,
活性文書navigateする起源,
砂箱フラグ群について、
次のいずれかの処理を行わなければなりません >>12。
[50] いずれを選択するかは実装や設定に依存します (>>206)。 HTML Standard
仕様上「設定により」となっており、完全には規定されていませんが、
実際上は任意の動作が許されているわけではありません。例えば
text/html
を常にダウンロードとして扱うような実装は
Web互換とは言えません。
[68] 著者は、Webブラウザーの実装や設定によって挙動が変わり得る MIME型を使わないよう、使う場合は特定の挙動を仮定しないよう注意するべきでしょう。
[69] 例えば PDF がプラグインにより表示されるか、外部アプリケーションにより表示されるか仮定するべきではありません。
[399] この段階に達した時点で、 webNavigation
API の
onCommitted
を呼び出せるものと思われます。
遷移型と遷移修飾子群と現在時刻を引き渡します。
[30] 閲覧文脈内に内容をレンダリングする方法は、
次の各 MIME型について規定されています。
[36] HTML Standard では
multipart/x-mixed-replace
の処理方法も規定されています >>12 が、
最近の Webブラウザーの多くからは削除されています。
(画像形式としての MJPEG over HTTP には対応していますが、 navigate
では対応しないようになっています。)
[70] navigate の結果として閲覧文脈で表示する文書は、 閲覧文脈, 要求, 応答, 現職navigateする起源, 活性文書navigateする起源, 砂箱フラグ群について、 次のように作成します。 HTML文書 (an HTML document is to be loaded の処理) や平文の場合は、次のようなタスクをネットワークタスク源でキューに追加しなければなりません >>12。 XML文書の場合も、次のように行います >>12。 媒体やプラグインの場合も、次のようなタスクをネットワークタスク源でキューに追加するべきです >>12。 非文書表示の場合 (>>47) も、 要求、 応答、 取り消しなどについて、 次のように行うべきです。
iframe
srcdoc
文書が設定されていれば、
文書をiframe
srcdoc
文書とします。[79] XML文書の場合タスクキューに追加しなければならないと仕様書には明記されていませんが、 おそらくそうすることが想定されていると思われます。もっともそうしないとしても著者から違いを観測できるのか不明です。できたとしても困難と思われます。
[75] MIME型の設定においては、XML文書以外の時は新しい文書の
HTML文書フラグを設定しなければなりません >>12。
プラグインの時はプラグイン文書フラグを設定するべきです >>12。
また新しい文書の内容型を HTML文書なら text/html
に、
平文なら sniffed MIME type に設定しなければなりません >>12。
媒体やプラグインなら sniffed MIME type に設定するべきです >>12。
[235] 更に sniffed type が image/svg+xml
であれば、
その旨のフラグ (SVG navigate フラグ) を設定する必要があります。
getSVGDocument
で参照されます。[593]
文書オブジェクトの作成と初期化は、
型型,
MIME型内容型,
要求,
応答,
閲覧文脈,
現職navigateする起源,
活性文書navigateする起源,
環境またはnull
予約済み環境,
砂箱フラグ群について、
次のようにします >>12。
about:blank
」文書初期文書のセッション履歴エントリーしか含まないnull
でない場合、[185] リダイレクトを辿った場合には、最終的な URL に設定されます。
[329] view-source:
も参照。
Referrer-Policy:
ヘッダーを構文解析した結果たる参照元ポリシーに設定します。Document
のCSPリストの初期化をします。no-referrer
でない場合、Refresh:
ヘッダーの値に設定します。null
以外の場合、[77] 表示する文書木を構築するために使う構文解析器構文解析器は、 HTML文書ならHTML構文解析器、XML文書ならXML構文解析器です。 ただし平文の場合はテキストファイルのDOM構築方法を使います。 媒体の場合は構文解析器のかわりに媒体文書のDOMを構築し、 プラグインの場合は構文解析器のかわりにプラグイン文書のDOMを構築します。 非文書表示の場合は構文解析器のかわりに任意の DOM を構築できます (>>84)。
[71] process response body は、次のようにしなければなりません。
[73] process response end-of-file は、次のようにしなければなりません。
[316] process response body と process response end-of-file
を実行するネットワークタスク源のタスクの実行可否判断は、
次のようにしなければなりません。
[74] 構文解析器は、構文解析中のいずれかのタイミングで文書の文字符号化を設定します。
[78] 構文解析器やプラグイン文書の構築処理は、 文書要素を文書に挿入するタイミングで AppCache選択アルゴリズムを実行します >>12。
[222] Webブラウザーによっては、ブラウザー拡張の内容スクリプトを文書要素の最初の挿入時点で実行するものもあります。
[33] XML文書の場合、文書要素の名前空間によっては他の方法 (>>47、>>48) で表示することにしても構いません >>12。
xml-stylesheet
処理指令の fetch
が行われていたら、 abort a document により取り消されます。)application/atom+xml
や
application/rss+xml
をフィードビューアーで表示するのに加え、
text/xml
の時にバイト列を sniffing してフィードかどうか判定し、
フィードビューアーで表示します >>170。 Firefox
も同様に sniffing を行います >>172。厳密には HTML Standard
に沿った動作ではありません。[229] xml-stylesheet
により XSLT
スタイルシートが指定されているときは、 XSLT によって変換したものを
DOM として表示することになります。
[231] >>143 を Chrome は XSLT スタイルシートにより表示しますが、
Firefox と IE はフィードとして表示するようです。 text/xml
で、
<?xml version="1.0" encoding="UTF-8" ?> <?xml-stylesheet type="text/xsl" href="http://blogs.technet.com/utility/feedstylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>日本のセキュリティチーム</title>... から始まっています。
[173] CSS などのない XML文書 (unstyle document)は、 その木構造が表示されます。
[94] 媒体、プラグイン、 >>33 により非 DOM 表示に切り替える場合には、
仕様書上は navigate による fetch はそのまま放置され、
改めて img
要素などで fetch が発生することになっています。
実際には Webブラウザーのキャッシュにより、あるいは何らかの特別な仕組みにより、
navigate による fetch の結果あるいは経過が媒体の表示処理やプラグイン等に引き渡される可能性もあります。
[267] 最上位閲覧文脈の場合、 favicon の取得も行われます。
[249] 仕様書では明確なタイミングは規定されていないのですが、
link
要素で指定されていればそれを使い、
指定されていない場合は /favicon.ico
にアクセスするため、
どちらを使うか判定できる十分な構文解析が進んだ段階ということになります。
[301] 非文書表示の場合、特にネットワークエラーの場合は
/favicon.ico
へのアクセスは行わないのが適切と思われます。
[47] 閲覧文脈内であっても DOM をレンダリングするのではなく、 専用ビューアーやエラーメッセージなど特別なものを表示する場合があります。
[59] fetch (相当) を行う前にこちらの処理方法に移行する場合と、 fetch 結果をこちらの方法で処理する場合があります。
[23] 例えば URL scheme に対応していないエラーを表示部に示す場合や、 登録済みプロトコル取扱器を利用者に選択する画面を表示部に示す場合があります。 (選択した取り扱い器を実行する場合は、 navigate を改めて実行することになります。) >>12
[60] 例えば大多数の about:
URL のように fetch
ではアクセスできない特別な Webページを表示させる場合が該当するかもしれません。
[131] http:
URL からリダイレクトで about:
URL が示された場合や http:
ページのハイパーリンクからの
file:
への navigate やフレームによる navigate のように、
特別なページの表示は文脈によって認められないこともあります。
>>174 も参照。
[39] 例えば内容を (DOM ではなく) 専用の方法で表示する場合、
MIME型に対応していないエラーを表示部に示す場合や、
registerProtocolHandler
で登録された取り扱い器を利用者に選択する画面を表示部に示す場合があります。
(選択した取り扱い器を実行する場合は、 navigate を改めて実行することになります。)
[93] 本来の内容の代わりに Safe Browsing エラーが閲覧文脈内に表示されることもあります。
[394] Firefox は MIME型 application/http-index-format
の表示に対応しています。
FTP のディレクトリーの表示に使われていますが、それ以外でも使うことができます。
[83] 非 DOM の行内内容を閲覧文脈に表示する場合でも、文書の作成は DOM の表示の場合と同じく行います (>>77)。
[84] DOM の構築の段階では、任意のDOM木を作成して構いません
(Document
のみ でも構いません)。いずれにしても
AppCache選択アルゴリズムをマニフェスト無しで実行しておかなければなりません。
また完了時に stop parsing を実行しなければなりません >>12。
[85] レンダリングは通常の規則で DOM を表示しても構いませんし、 特別な方法を使っても構いません >>12。
[96] 仕様書上は navigate による fetch が行われた場合、そのまま放置されています。 実際には Webブラウザーのキャッシュにより、あるいは何らかの特別な仕組みにより、 navigate による fetch の結果あるいは経過が非 DOM 表示の処理へと引き渡される可能性もあります。
[307] 次のような URL scheme について非文書表示が使われています。
[134] Webブラウザーによっては、応答の状態が
4xx
や 5xx
で本体が一定サイズ以下の時、
本体を文書として表示するかわりに、
Webブラウザー側のエラーを非文書表示することがあります。
Webブラウザー側としては、サーバーソフトウェアから自動生成されたような (しばしばローカライズされていない) 不親切な定形エラーメッセージを表示するくらいなら、 より利用者にわかりやすいエラーをかわりに表示したいということなのでしょう。 これを不服に思う著者やサーバーソフトウェアの開発者も少なく無いようで、 そのような判定をされないように本体に余分な詰めデータを付け足すことがあります。
[375] 通常の DOM ではなく非文書表示とするのは、実装上の都合の他に、 セキュリティー上の理由もある場合があります。例えば、 ネットワークエラーの詳細はプライバシーに関わる情報を含むことがありますから、 たとえ同じ起源の他の通常の文書のスクリプトであっても、 アクセスできるべきではなさそうです。 (実際には、状況に応じて、 単に非文書表示であるだけでなく、不透明起源を持つものと扱うのがより安全かもしれません。)
[376] 場合によってはそれ以上の制約が必要かもしれません。例えば閲覧文脈が開かれた後、
利用者がそこで Webブラウザーの設定ページを開いたら、
外部のスクリプトからその location.href
への値の設定は無視するべきかもしれませんし、
postMessage
も
(設定ページ内のスクリプトが無視するだけでなく、Webブラウザーレベルで)
完全に無視するべきかもしれません。
[271] 非文書表示は、 navigate 開始以外でも生じることがあります。
例えば、 navigate の fetch の途中で RST
を受信した場合や、
応答の受信中に接続が閉じられてネットワークエラーとして扱われる場合、
あるいは navigate に限らず Safe Browsing で陽性の fetch が実行された場合に、
表示中の文書が破棄されて非文書表示に差し替えられることになります。
[163] 素片識別子への navigate は、次のように行わなければなりません >>12。
webNavigation
API の onReferenceFragmentUpdated
を呼び出します。
遷移型、遷移修飾子群、現在時刻を引き渡します。 仕様書なし[95] 閲覧文脈内に何らかの表示を行う場合には、ある程度処理が進んだ段階で、 セッション履歴を新しいページで更新します。
[97] セッション履歴を新しいページで更新するには、 次のようにします。 >>12
[99] タスクの処理は、 旧文書について、 次のようにします。 navigate の引数である navigate する閲覧文脈、新しい資源、 置換有効、エントリー更新するエントリーと navigate によって作成された新しい文書を参照します。 また navigate の mature フラグを設定します。
load
events mode フラグが設定されている場合は、
これを削除します。 >>12window.open
)、その場合のセッション履歴エントリーがどうなるかは不明です。
about:blank
または Webブラウザー依存のエラーページの URL
でしょうか。[100] 閲覧文脈に文書が表示されると、 素片識別子にスクロール、 つまり URL の素片が viewport に表示されるように適宜スクロールされます。 仕様書では、これは文書について try to scroll to the fragment する処理として記述されています >>12。
[101] かつては、長らく、 仕様書上はイベントループのスピンとして記述されていました。 セッション履歴を新しいページで更新自体も素片識別子にスクロールする操作も任意のタイミングで行えるため、 実はスピンを使わない形に等価に置き換えられます。 仕様書がスピンにより記述していたのは、 「適切と認められるタイミング」を厳密に表現するためでしょうか。
[574] この処理は、 セッション履歴を新しいページで更新し終わってから、 文書の構文解析器 が stop parsing するまでの間で、 利用者エージェントが適当と認めるタイミングで、 結果が失敗でなくなるまで、 任意の回数実行されます。 文書の構文解析器がないとき、何もしません。 >>12
[89] 結果が失敗でなくなるか、 この処理を実行しないと判断した時点で、 navigate としての処理は完了です >>12。後片付け (>>109) に移ります。
[581] この処理は、 navigate された新しい文書を読み込みながら表示する途中に、 素片識別子で示された要素にスクロールするためのものです。 Webブラウザーは文書の表示が完了するまで待たずにスクロールできます。 素片識別子が参照する要素はいつ出現するかわからないので、 Webブラウザーは適当なタイミングで探し続ける必要があるのです。
[582] また、 素片識別子の参照する要素が見つかってスクロールするより前に、 利用者がスクロールバーを操作するなど相反する状態に変化させることがあります。 Webブラウザーは利用者の意図を推測し、 素片識別子にスクロールする処理をキャンセルすることが認められているのです。
[159] 媒体文書やプラグイン文書として表示される場合には、
素片識別子が付いた URL が src
属性に設定されることになりますから、
その要素の処理の一部として素片識別子が適用されることがあります。
[48] 閲覧文脈に影響せずに新しい資源を処理する場合もあります。
[133] 取り消しされていれば、何もしません。取り消しされていなければ、
次の通り何らかの処理を実行します。
[29] 例えば fetch 前の時点で URL scheme に対応していないので無視する場合があります >>12。
[86] MUA が利用できない状態での mailto:
への navigate や、
特権を持たないページからの about:
や chrome:
や file:
への navigate で何もせずに無視する実装があります。
[324] プラットフォームによっては、 (http:
URL も含め)
URL scheme や URL のパターンに対して処理するアプリケーションを登録できるものがあります。
詳しくは >>90 参照。
[62] 利用者エージェントは、外部アプリケーションに引き渡す場合は、 著者による対象ソフトウェアの悪用を防ぐよう努力するべきです >>12。
[64] 特に、
始点閲覧文脈の
WindowProxy
の
Window
の過渡活性化が偽の場合、
事前の利用者の確認無しで外部ソフトウェアを起動するべきではありません >>12。
[66] 実行可能ファイルなど、 fetch 完了後の実行には特に注意しなければならない場合もあります。
[331] ダウンロードに移行する場合、navigate 開始元の起源を処理に使います。 これが何なのかは不明瞭ですが、始点文書の起源が適切そうです。
[338] ダウンロードの際は、提案ファイル名を引き渡します。
[128] いずれにせよ、閲覧文脈外の処理を開始したら、 (その完了を待たずに) navigate としての処理は完了です。その時点で後片付け (>>109) に移ります。
[239] 新しい最上位閲覧文脈の場合で、
navigate の結果が閲覧文脈外となった場合には、
使われない閲覧文脈が残ることになります。
古い Webブラウザーでは空白 (about:blank
)
のままのタブや窓が表示された状態でしたが、現在の
Webブラウザーでは自動的に閉じられるのが普通です。
window.open
が返した
Window
オブジェクトは window.open
直後時点では初期about:blank
文書ですが、 navigate
後には異なる起源にアクセスした時のような (ほとんど何の情報にもアクセスできない)
状態になっているようです (同じ起源への navigate であっても)。 [391] Chrome は新しい URL scheme が完全に未知のものである時、 何もしないようです。
[393] Firefox は FTP への navigate でサーバーが予期せぬ返答を返した時、 それをモーダルダイアログで表示します。
[406] 何らかの問題 (セキュリティー制限違反など) が原因で何もしないことを選択した場合は、
webNavigation
API の onErrorOccurred
を、
エラーの説明の文字列と現在時刻と共に実行します。 仕様書なし
[206] 登録済みプロトコル取扱器や登録済み内容取扱器で適用可能なものがあれば、
それが使われることがあります。
ただしどの条件で使われるかや、使われる場合にどのような navigate
が行われるかの詳細は、 HTML Standard では規定されていません。
[429] URLと閲覧文脈に関するnavigate URL schemeの処理は、
次のようにします >>12。
[432] 取扱器に委ねる場合は、新しい navigate を実行します >>12。
[207] 多くの Webブラウザーは、 URL URL の処理方法を次のように決定するようです。
[354] Windows では、 URL scheme を処理するアプリケーションをレジストリーに登録できます。
[356] network scheme の場合に OS の処理器を使うのは、 navigate する閲覧文脈が入れ子閲覧文脈や補助閲覧文脈のとき不適切そうで、 抑制するべきだと思われます。
[209] 多くの Webブラウザーは、 MIME型依存の処理方法を次のように決定するようです。
[436] 登録済みプロトコル取扱器や登録済み内容取扱器は、
新しい資源の要求のメソッドが
GET
でなければ使えません。
多くのプラットフォームの取扱器も、 GET
しか扱えないと思われます。
[208] Chrome では、登録済みプロトコル取扱器への navigate が行われたら、元の文書の番地が文書のreferrerになるようです。 Firefox では、文書のreferrerは設定されないようです。
[138] 利用者エージェントは、利用者が (取り消しフラグが設定されていない) navigate を取り消しする手段を提供しても構いません >>12。 あるいは利用者が他の navigate を開始できるようにしても構いません >>12。 その場合の取り消しの reason は end-user abort と思われます。
[139] navigate は、他の navigate や traverse the history by a delta により取り消しされることもあります。
[539] navigate される過程にあるかどうかは、
document.open
で参照されることがあります。
[166] navigate は、文書読み込みを停止により取り消されることがあります。
[123] navigate を取り消す場合は、次のように処理しなければなりません >>12。取り消しは、引数として事由 reason と共に行います。
[140] navigate が開始してから停止するまでの間、 Webブラウザーは何らかの形で navigate 中であることやその進捗を表示するのが普通です。
[218] navigate の結果は利用者エージェントや OS の実装や利用者の設定に依存することがあります。 これは fingerprinting vector です。 特に媒体文書、プラグイン文書、エラー文書の違いはスクリプトからも検出しやすいので利用者エージェントの実装者は注意するべきかもしれません。
[219] エラー文書の DOM に詳細なエラー情報を含めてしまうと、 不必要に著者に情報を流出させてしまうことがありますから、注意が必要です。
[534] navigate に相当するものは Web の誕生と同時に出現したといえますが、 これが仕様書の形で明文化されたのは、それから十数年が経過した後の HTML5 (現在の HTML Standard) においてでした。
[1] Web Applications 1.0 r5685 Make form submission via .submit(), and page navigation via location.href, when either is done before the page has completely loaded, result in a history replacement (like a redirect) rather than a regular load. ( ( 版)) http://html5.org/tools/web-apps-tracker?from=5684&to=5685
[2] Web Applications 1.0 r5686 Change pushState() and replaceState() so that they update the pending state object as well (otherwise, pushState vs pushState;back;forward would result in different state objects in the initial popostate which is just silly). ( ( 版)) http://html5.org/tools/web-apps-tracker?from=5685&to=5686
[3] [whatwg] pushState and session history issues ( ( 版)) http://lists.whatwg.org/htdig.cgi/whatwg-whatwg.org/2010-November/029234.html
[8] Web Applications 1.0 r6630 Define navigating to video and audio resources ( ( 版)) http://html5.org/tools/web-apps-tracker?from=6629&to=6630
[9] リンクのクリック時に click
で img
を使って fetch
を行うと、 IE10 ではアクセスが発生しますが、 Firefox と Chrome ではアクセスが来ません。
mousedown
だと Chrome はアクセスが来ますが、応答を受け取ったり受け取れなかったりするようです。
Chrome の場合 navigation によってアクセスが中断され、そのタイミングによって要求が送られたり送られなかったり、
応答を処理できたりできなかったりするようです。
[10] [whatwg] scrdoc and session history don't play along in the spec ( ( 版)) http://lists.whatwg.org/pipermail/whatwg-whatwg.org/2013-July/040059.html
[11] [whatwg] Avoiding synchronous iframe load ( ( 版)) http://lists.whatwg.org/pipermail/whatwg-whatwg.org/2013-October/041281.html
[4] [whatwg] Navigation and history traversal issues ( ( 版)) http://lists.whatwg.org/pipermail/whatwg-whatwg.org/2012-September/037325.html
[5] Window Object 1.0 ( ( 版)) http://www.w3.org/TR/Window/#dfn-navigate
[6] Web Applications 1.0 r8555 Be more explicit about handing off to external software during navigation. ( ( 版)) http://html5.org/tools/web-apps-tracker?from=8554&to=8555
[7] Web Applications 1.0 r8799 Stop using the word 'asynchronously', and reduce usage of the word 'synchronous'. ( ( 版)) https://html5.org/r/8799
[227] » 想定外のスキームと脆弱性 TECHSCORE BLOG ( 版) http://www.techscore.com/blog/2015/04/25/scheme-security/
[234] URLスキーム・独自ディープリンク実装に代わる、Universal Links(iOS 9で導入)でより良いUXを実現 - Qiita ( 版) https://qiita.com/mono0926/items/2bf651246714f20df626
[270] Integrate Fetch into HTML · whatwg/html@7c5555a ( 版) https://github.com/whatwg/html/commit/7c5555a16f2920c02244c10756bb2f1a11e87a22
[278] Add 'HTTPS state' to settings objects · whatwg/html@6de5241 ( 版) https://github.com/whatwg/html/commit/6de524157fcf341e10efb3eec634bcf7325e6ee4
[217] Fix #124: make more types follow text/plain navigate logic · whatwg/html@f94f3c4 ( 版) https://github.com/whatwg/html/commit/f94f3c4595fbc5fecb747ef52f46cdc5f2b3feec
[280] Define additional request parameters for navigate · whatwg/html@80f052b ( 版) https://github.com/whatwg/html/commit/80f052b44f3842084221b1104d1fecb02228699a
[281] 338621 – Feed View overrides XSLT stylesheet defined in XML document ( 版) https://bugzilla.mozilla.org/show_bug.cgi?id=338621
[142] Add and populate global object's "CSP list" · whatwg/html@479dfbf ( 版) https://github.com/whatwg/html/commit/479dfbf1ff68b746ed3f81cc7415165e3342709e
[232] Add scroll restoration preference to history traversal · whatwg/html@dd6a34e ( 版) https://github.com/whatwg/html/commit/dd6a34ec3c191ee1968a0fc8d174b4ce3b615916
[299] Remove the storage mutex due to lack of implementation · whatwg/html@1b918cf ( 版) https://github.com/whatwg/html/commit/1b918cf72fcbba011f83b92ab5d1f483fb1cafa3
[300] Rewrite global object initialization to delegate to ES · whatwg/html@cf0355d ( 版) https://github.com/whatwg/html/commit/cf0355d7e0e229b98f7fbd51b8c7608010c787f5
[303] Rewrite script execution on top of ES · whatwg/html@4891d18 ( 版) https://github.com/whatwg/html/commit/4891d18aaf2df1d40aa61f467a5a10cfc19dd85d
[308] Remove <iframe seamless> · whatwg/html@1490eba ( 版) https://github.com/whatwg/html/commit/1490eba4dba5ab476f0981443a86c01acae01311
[309] Remove <iframe seamless> · whatwg/html@1490eba ( 版) https://github.com/whatwg/html/commit/1490eba4dba5ab476f0981443a86c01acae01311
[311] Replace sniffed MIME type with computed MIME type · whatwg/html@2f58d1e ( 版) https://github.com/whatwg/html/commit/2f58d1eb6a5eab442a7d31716c7fed7f8eb3f16f
[322] Align with URL spec's terminology: "fragment identifier" => "fragment" · whatwg/html@472bd07 ( 版) https://github.com/whatwg/html/commit/472bd07726db580b97b9d775996e9d895cda8be0
[323] Define security around Window, WindowProxy, and Location properly · whatwg/html@acae3df ( 版) https://github.com/whatwg/html/commit/acae3df652b382e9f4f1d1b4dc7e08e2b00df821
[325] Remove the origin aliasing concept · whatwg/html@438155d ( 版) https://github.com/whatwg/html/commit/438155d2a2255aa5ea84ae390744d8a8662ebec2
[332] Define the origin of non-initial about:blank documents · whatwg/html@baad9fd ( 版) https://github.com/whatwg/html/commit/baad9fd10e5a49c1c72fc89426ffa2a26e0b72e4
[335] Fix navigation to create a new realm and environment settings object · whatwg/html@862afa4 ( 版) https://github.com/whatwg/html/commit/862afa4d768cb01e9a020e0562bc465e7f8bacfe
[305] Define "server-based naming authority" in terms of URL · whatwg/html@da7b5ba ( 版) https://github.com/whatwg/html/commit/da7b5baf5815754cc40387452ae41e989848032f
[306] Merge effective script origin into origin · whatwg/html@8a843f2 ( 版) https://github.com/whatwg/html/commit/8a843f2169a6864a3024c4329528dccb2051d275
[357] Detail how javascript: return values become response bodies · whatwg/html@9997cd9 ( 版) https://github.com/whatwg/html/commit/9997cd93c65a9f4a640a593c02f01c2c58924457
[358] Editorial: mark up the primary variables in the navigate algorithm · whatwg/html@c08c0a0 ( 版) https://github.com/whatwg/html/commit/c08c0a0d12cf8c4f12dee2593be10eb971e0eb65
[359] Make navigate use "in parallel" · whatwg/html@77b1e02 ( 版) https://github.com/whatwg/html/commit/77b1e021bcb9229c60fc90dc72bbb0e0d1cff7e4
[360] Assign document's origin during creation · whatwg/html@b94d600 ( 版) https://github.com/whatwg/html/commit/b94d600e0e4de5ddea2215078611d6dfd0800391
[361] Navigate cannot use a non-GET-non-POST method ( (annevk著, )) https://github.com/whatwg/html/commit/5c67104e6825ee0fafac1b2dc8892f0d42566649
[371] Editorial: turn "exceptions enabled" into a flag ( (annevk著, )) https://github.com/whatwg/html/commit/879edbfcb25586caec8df93f303a434a700a18bc
[372] Editorial: turn "exceptions enabled" into a flag ( (annevk著, )) https://github.com/whatwg/html/commit/879edbfcb25586caec8df93f303a434a700a18bc
[380] Integrate with the Referrer Policy spec, part 2 of n ( (domenic著, )) https://github.com/whatwg/html/commit/176e74243c649b709b9959b7d08b327290c2f403
[381] Navigate: use URL's equals concept to compare URLs ( (annevk著, )) https://github.com/whatwg/html/commit/f3c2a307658b21dc129ec5b11368e16048238fb8
[388] Block redirects to non-HTTP schemes · Issue #309 · whatwg/fetch ( ()) https://github.com/whatwg/fetch/issues/309
[389] Make navigate's resource handling more explicit ( (annevk著, )) https://github.com/whatwg/html/commit/806bc62caaee78a696a6c929558a5b801cceeec4
[129] Define the document's referrer in terms of Fetch ( (annevk著, )) https://github.com/whatwg/html/commit/148dcd7d8214433b80de92b19d27cc5de128f849
[392] Cleanup "create a new browsing context" ( (annevk著, )) https://github.com/whatwg/html/commit/f139279fb116bbde5d5ee3d257d21778cd774144
[395] [] (0) Placeholder for beforeunload/unload; interaction of document.o… ( (Hixie著, )) https://github.com/whatwg/html/commit/c1994a485446ab0fbfb7048df10bb081947f6405
In Firefox, you can't open (using tabs.create), or navigate to (using tabs.update) privileged URLs:
chrome: URLs
javascript: URLs
data: URLs
privileged about: URLs (for example, about:config, about:addons, about:debugging)
webNavigation
Firefox does not support:
onCreatedNavigationTarget
onTabReplaced
Filtering
transition types and qualifiers until Firefox 48
In Firefox, before Firefox 47, onReferenceFragmentUpdated also triggers for pushState.
[418] Define initial about:blank document better ( (annevk著, )) https://github.com/whatwg/html/commit/8edc92d6e42878662c7f9f75a43352bd341ae01d
[419] Use fullscreen logic for initial about:blank documents too ( (annevk著, )) https://github.com/whatwg/html/commit/c2a8d605e0115c80d1ccb4b15371ecaa56a33e30
[252] Plz Navigate: moving the navigation logic to the browser process - Google グループ () https://groups.google.com/a/chromium.org/forum/#!topic/chromium-dev/sOs05JfmPFw
[420] Issue 368813 - chromium - [META]: Navigation network requests should be made by the browser process (aka PlzNavigate) - Monorail () https://bugs.chromium.org/p/chromium/issues/detail?id=368813
[421] Navigate: remove "gone async" and define redirect handling (annevk著, ) https://github.com/whatwg/html/commit/8b630f5e4fa2ec8b0999470d09490bffe6e9a1e3
[433] Navigate: narrow down requirements for fragment handling (annevk著, ) https://github.com/whatwg/html/commit/10379142cbb138a814d94e24f3e6b14c2439d614
didReceiveServerRedirectForProvisionalNavigationはデフォルトでは、http~とhttps~のみをリダイレクト対象として呼び出されるようでした。どのURLをリダイレクトとして扱うかのハンドリングをしている関数が、func webView(webView: WKWebView, decidePolicyForNavigationAction navigationAction: WKNavigationAction, decisionHandler: (WKNavigationActionPolicy) -> Void)です。
[438] Add another navigation hook for 'form-action'. (mikewest著, ) https://github.com/w3c/webappsec-csp/commit/ad8c11702561db911baab316659de28de1cb00d0
[439] Upstream navigation hooks from CSP (mikewest著, ) https://github.com/whatwg/html/commit/2083b0053a059f692a0a95547ba9b6bd0c511094
[447] Treat 'data:' documents as unique, opaque origins (#1756) (mikewest著, ) https://github.com/whatwg/html/commit/00769464e80149368672b894b50881134da4602f
[449] Disallow *all* navigations during unload, not just cross-origin (domenic著, ) https://github.com/whatwg/html/commit/2a11eef8f92b0335328890dc2cb1e281d18553eb
[459] navigation: refactor waiting for navigation and response checks (andreastt著, ) https://github.com/w3c/webdriver/commit/321fff4e12d80a745828f7c711fdc18932cca244
[460] Improve navigate for service worker hooks (jungkees著, ) https://github.com/whatwg/html/commit/2b93f9ec35b152e58d3e181bea8c45d789bac949
[470] Add environment's execution ready flag (jungkees著, ) https://github.com/whatwg/html/commit/d358c7814de8a053dcb8615a5d87e8c2e0e19257
[472] Handle navigation to `javascript:` URLs as inline script. (#142) (@bzbarsky著, ) https://github.com/w3c/webappsec-csp/commit/479bf6c6e891db0bb1cd7f71be764f3aff6a1a33
[473] Apply CSP to javascript URLs in navigate (mikewest著, ) https://github.com/whatwg/html/commit/9daeebfbdd068357257fcb69486d47a893c36f63
[474] Editorial: Fix markup in “Initializing a new Document object” (sideshowbarker著, ) https://github.com/whatwg/html/commit/0495be19cdfebf34fd3b95786c271319db0ceed6
[475] Fetch: remove omit-Origin-header flag (annevk著, ) https://github.com/whatwg/html/commit/1d3dd5da311ce51eeaac027cb053cf482476099a
[272] Make same-URL-navigation replace the current entry (annevk著, ) https://github.com/whatwg/html/commit/4f3061ec9a2c3bd868c73edebd14ab751f8f29ea
これらの第 1 レベルのサブフォルダーは、他の第 1 レベルのサブフォルダー内のコンテンツから分離されます。 たとえば「ms-appdata:///temp/folder1/file.html」に移動はできますが、そのファイル内のリンクに「ms-appdata:///temp/folder2/file.html」は指定できません。 ただし、ms-appx-web スキームを使ってアプリ パッケージの HTML コンテンツにリンクしたり、http または https の URI スキームを使って Web コンテンツにリンクしたりはできます。
Web ビュー コントロールでは、ナビゲーションやコンテンツの読み込みの状態に対する処理に使うことができるイベントがいくつか用意されています。 ルートとなる Web ビューコンテンツについて、イベントは次の順番で発生します。NavigationStarting、ContentLoading、DOMContentLoaded、NavigationCompleted
NavigationStarting - Web ビューが新しいコンテンツに移動する前に発生します。 WebViewNavigationStartingEventArgs.Cancel プロパティを "true" に設定することで、このイベントのハンドラーで移動をキャンセルできます。
NavigationCompleted - Web ビューが現在のコンテンツの読み込みを完了したとき、またはナビゲーションに失敗したときに発生します。 ナビゲーションが失敗したかを判断するには、WebViewNavigationCompletedEventArgs の IsSuccess プロパティと WebErrorStatus プロパティを確認します。
Web ビュー コントロールは、任意のファイルの種類をホストすることができません。 Web ビューがホストできないコンテンツを読み込もうすると、UnviewableContentIdentified イベントが発生します。 このイベントを処理してユーザーに通知することも、Launcher クラスを使ってファイルを外部のブラウザーまたは別のアプリにリダイレクトすることもできます。
同様に、fbconnect:// や mailto:// といったサポートされていない URI スキームが Web コンテンツで呼び出されると、UnsupportedUriSchemeIdentified イベントが発生します。 既定のシステム起動プログラムに URI を起動させるのではなく、このイベントを処理してカスタム動作を定義してもよいでしょう。
[483] Snapshot allowpaymentrequest and allowusermedia attributes (zcorpan著, ) https://github.com/whatwg/html/commit/b3224a8457e32015153ed91f26b6212e25df1d6b
[485] Merge pull request #62 from w3c/user-abort (igrigorik著, ) https://github.com/w3c/navigation-timing/commit/17567f5ef7c1ab79795365e33a86c52716fbcbf4
[494] Do not always set the recursive flag in HTTP-redirect fetch (annevk著, ) https://github.com/whatwg/fetch/commit/869ec2c2224200988bbc604f7f5181b6bb9df2c3
[496] Call out issues with source browsing context more explicitly (annevk著, ) https://github.com/whatwg/html/commit/a559e721760817dbaffd7e19856993e8b5a20e3b
[497] Make window.open() throw for URL parser failures (annevk著, ) https://github.com/whatwg/html/commit/ea52bf4d50cfb4ef88489bff76276b660b40781b
[498] Navigate improvements · Issue #1352 · whatwg/html () https://github.com/whatwg/html/issues/1352
[499] Avoid using same variable for different purposes (annevk著, ) https://github.com/whatwg/html/commit/0dab3b81edcfb029f4c60dc55b53c2b848d9553f
[500] Editorial: cleanup close a browsing context and prompt to unload (annevk著, ) https://github.com/whatwg/html/commit/b714a7bc124bf0e8828b2adc2aa0b672d96a1dbd
[501] Centralize setting the active document (annevk著, ) https://github.com/whatwg/html/commit/4257a9bf03f8ebbd6cc8b41933b6c5b619611662
[465] Only wait for navigation to complete if it can. (shs96c著, ) https://github.com/w3c/webdriver/commit/79aa7b3e5caff716d42f1474096efe40348a08e3
[466] Deprecations and Removals in Chrome 60 | Web | Google Developers () https://developers.google.com/web/updates/2017/06/chrome-60-deprecations
[467] 684011 - Remove: Top frame navigations to data URLs - chromium - Monorail () https://bugs.chromium.org/p/chromium/issues/detail?id=684011&desc=2
[468] スマホで見ているWebページを瞬時にPCで開くWindowsの新機能を試してみた - PC Watch (株式会社インプレス著, ) http://pc.watch.impress.co.jp/docs/news/1072892.html
[469] Fix mismatched variable names in 'process a navigate fetch' (jyasskin著, ) https://github.com/whatwg/html/commit/f63cc2cd461e5902c305c060bad6e937987af81e
[471] Fix mismatched variable names in 'process a navigate fetch' by jyasskin · Pull Request #2868 · whatwg/html () https://github.com/whatwg/html/pull/2868
[502] Fix some variable usage in navigate (annevk著, ) https://github.com/whatwg/html/commit/fcf344c28e1d6e39ef35dc9940eabc72867bac1b
[503] Fix some variable usage in navigate by annevk · Pull Request #2864 · whatwg/html () https://github.com/whatwg/html/pull/2864
[504] 122022 - (file://) [ISSUE] file:// URLs in a http | https page do not work (clicking does nothing, do not auto-load, etc.) [dupe to bug 84128] ( ()) https://bugzilla.mozilla.org/show_bug.cgi?id=122022
[505] Fragment navigation should use replacement enabled (annevk著, ) https://github.com/whatwg/html/commit/cf02423dc52686d084a3191833d939919b5907fd
[507] Bug in hash change algorithm with replace flag · Issue #2796 · whatwg/html () https://github.com/whatwg/html/issues/2796
[508] Fragment navigation should use replacement enabled by annevk · Pull Request #2869 · whatwg/html () https://github.com/whatwg/html/pull/2869
[509] Define the HTTP Refresh header (annevk著, ) https://github.com/whatwg/html/commit/7e9f6b6ffe2119f43f909f71773a25a7e8a61ca7
[513] Clarify that Link header processing only happens after the Document i… (yoavweiss著, ) https://github.com/w3c/preload/commit/609ecfa8cdb9cc582a11f87eff290e69e76b3346
[514] How do we fetch resources specified in `Link` headers? · Issue #101 · w3c/preload () https://github.com/w3c/preload/issues/101
[515] Remove registerContentHandler() and several friends (annevk著, ) https://github.com/whatwg/html/commit/b143dbc2d16f3473fcadee377d838070718549d3
[516] 744499 - Consider downloading `ftp://` resources rather than rendering them. - chromium - Monorail () https://bugs.chromium.org/p/chromium/issues/detail?id=744499
[517] Incorrect indentation of the navigation check algorithm. (mikewest著, ) https://github.com/w3c/webappsec-csp/commit/98bea96e4d55fcd98d8648cef16416a462516cc1
[518] Clarify navigation behavior for 'script-src'. (mikewest著, ) https://github.com/w3c/webappsec-csp/commit/7a4577c7975c8afdac0c0fc5a5493059b5660742
[519] interface: use Web IDL's new-ish interface mixins concept (#1176) (romandev著, ) https://github.com/w3c/webdriver/commit/d50bdf0c0d6cac5e54cdedc263df3cc2cba173f9
[520] Introduce reload-navigation flag by yutakahirano · Pull Request #685 · whatwg/fetch () https://github.com/whatwg/fetch/pull/685
[521] Set request's reload-navigation flag when the navigation is reload-trigerred by yutakahirano · Pull Request #3592 · whatwg/html () https://github.com/whatwg/html/pull/3592
[522] Proposal: FetchEvent.navigationLoadType · Issue #1167 · w3c/ServiceWorker () https://github.com/w3c/ServiceWorker/issues/1167
[523] Ignore a URL with an unsupported scheme (#447) (tomoyukilabs著, ) https://github.com/w3c/presentation-api/commit/fcb49fd5c7bcc1e0809b04037ea11be4d649cb55
[524] Multiple presentation URLs including non-http/https URL · Issue #446 · w3c/presentation-api () https://github.com/w3c/presentation-api/issues/446
[525] Ignore a URL with an unsupported scheme by tomoyukilabs · Pull Request #447 · w3c/presentation-api () https://github.com/w3c/presentation-api/pull/447
[526] Add "environment discarding steps" hook (mattto著, ) https://github.com/whatwg/html/commit/9592eb5e25acde62b8832ca5fd47d87805a2acbc
[528] Discard the environment after a failed navigation or worker start. by mattto · Pull Request #3723 · whatwg/html () https://github.com/whatwg/html/pull/3723
[529] Set request's history-navigation flag for history traversal (yutakahirano著, ) https://github.com/whatwg/html/commit/437ae8e13bd1b27b951567905e192f78924819d5
[530] Proposal: FetchEvent.navigationLoadType · Issue #1167 · w3c/ServiceWorker () https://github.com/w3c/ServiceWorker/issues/1167
[531] Set request's history-navigation flag for history traversal by yutakahirano · Pull Request #3674 · whatwg/html () https://github.com/whatwg/html/pull/3674
[532] Integrate Feature Policy concepts into HTML (clelland著, ) https://github.com/whatwg/html/commit/78741b7b5471ba213c68a22caff1a53c56d35ce8
[533] Integrate Feature Policy concepts into HTML by clelland · Pull Request #3287 · whatwg/html () https://github.com/whatwg/html/pull/3287
[535] Fix calls to InitializeHostDefinedRealm (TimothyGu著, ) https://github.com/whatwg/html/commit/39c948ba5ec55677e209bc4fc631636f1e8e2baf
[536] document.open() simplifications, part 1 (TimothyGu著, ) https://github.com/whatwg/html/commit/6f769b8089a843066aa19f5991405bf4c84458b3
[537] Editorial: use "isomorphic decode" for Refresh header steps (irrationalRock著, ) https://github.com/whatwg/html/commit/bef6f783084cdb6e591f2a9d8c731180413e8ef2
[538] Remove overridden reload concept (TimothyGu著, ) https://github.com/whatwg/html/commit/6440ccae7340ea41d3eb5bf8ff0b3b27363eda85
[180] Rename target client id to replaces client id (jungkees著, ) https://github.com/whatwg/html/commit/951f9b0d62a5186adcdf0d7a37f4586508fbe17b
[540] document.open(): only abort when there is a navigation (TimothyGu著, ) https://github.com/whatwg/html/commit/1ca520a308ffd6a3c5f7fc26a67338c145af8376
[541] document.open(): only abort when there is a navigation by TimothyGu · Pull Request #3999 · whatwg/html () https://github.com/whatwg/html/pull/3999
[542] Fixed navigation checks running on URL instead of current URL (#347) (andypaicu著, ) https://github.com/w3c/webappsec-csp/commit/91a0f8361c75635babbedc295f88b9403ece468c
[543] Fixed navigations running on URL instead of current URL by andypaicu · Pull Request #347 · w3c/webappsec-csp () https://github.com/w3c/webappsec-csp/pull/347
[544] `navigation request’s URL` is unclear · Issue #343 · w3c/webappsec-csp () https://github.com/w3c/webappsec-csp/issues/343
[545] Modify initialize document's CSP list to match changes in CSP (andypaicu著, ) https://github.com/whatwg/html/commit/513431013267647999f0438b4a8f73031ba3da2e
[546] Initialize document CSP in html needs to be updated · Issue #364 · w3c/webappsec-csp () https://github.com/w3c/webappsec-csp/issues/364
[547] Modified initialized document's CSP to match changes in CSP spec by andypaicu · Pull Request #4190 · whatwg/html () https://github.com/whatwg/html/pull/4190
[548] Handle a null request in init document csp algorithm (#372) (andypaicu著, ) https://github.com/w3c/webappsec-csp/commit/b294bec3b1cb4d48feb616a80cc988dff9b6da83
[549] Handle a null request in init document csp algorithm by andypaicu · Pull Request #372 · w3c/webappsec-csp () https://github.com/w3c/webappsec-csp/pull/372
[550] Initialize document CSP in html needs to be updated · Issue #364 · w3c/webappsec-csp () https://github.com/w3c/webappsec-csp/issues/364
[551] Consider downloading rather than rendering resources delivered over FTP. · Issue #4178 · whatwg/html () https://github.com/whatwg/html/issues/4178
[552] Specify a navigated-to new document's URL (jyasskin著, ) https://github.com/whatwg/html/commit/f2c7ea37eed6346affa6f8d336eb63173e39ac45
[182] Setting the document's address doesn't seem to be correct · Issue #3953 · whatwg/html () https://github.com/whatwg/html/issues/3953
[557] Consider not special casing document's address handling when loading javascript: · Issue #1565 · whatwg/html () https://github.com/whatwg/html/issues/1565
[558] Specify a new document's URL by jyasskin · Pull Request #4205 · whatwg/html () https://github.com/whatwg/html/pull/4205
[559] Remove XML loading's namespace-based dispatching (annevk著, ) https://github.com/whatwg/html/commit/38cac772c17218cb01ef92e8a8f5aec2c386b127
[561] Does any browser still implement namespace-based dispatching? · Issue #2656 · whatwg/html () https://github.com/whatwg/html/issues/2656
[562] Remove XML loading's namespace-based dispatching by annevk · Pull Request #4384 · whatwg/html () https://github.com/whatwg/html/pull/4384
[563] Editorial: initialize feature policy before document creation (dtapuska著, ) https://github.com/whatwg/html/commit/2a397f6a8fce75855fa84785b3b952f9e6fce2d9
[565] Expose new algorithms to create a Feature Policy before document is c… by dtapuska · Pull Request #324 · w3c/webappsec-feature-policy () https://github.com/w3c/webappsec-feature-policy/pull/324
[566] Use the newly exposed methods to initialize feature policy. by dtapuska · Pull Request #4772 · whatwg/html () https://github.com/whatwg/html/pull/4772
[570] Make fragment loop not depend on spin the event loop (annevk著, ) https://github.com/whatwg/html/commit/e62a7be6f3161993b82e9d8469ba2e64a3c6a2a6
[583] Make fragment loop not depend on spin the event loop (annevk著, ) https://github.com/whatwg/html/commit/e62a7be6f3161993b82e9d8469ba2e64a3c6a2a6
[584] Make fragment loop not depend on spin the event loop by annevk · Pull Request #4440 · whatwg/html () https://github.com/whatwg/html/pull/4440
[587] Editorial: factor out and clean up javascript: URL processing (domenic著, ) https://github.com/whatwg/html/commit/e13762fb626dfd64e7639b79cb61a766d66bd72f
[588] Editorial: factor out and clean up javascript: URL processing by domenic · Pull Request #4396 · whatwg/html () https://github.com/whatwg/html/pull/4396
[589] Fix document URL setting for javascript: URLs (TimothyGu著, ) https://github.com/whatwg/html/commit/06aa2d682b731e5ebc72169c63744e8608418dd8
[590] Fix document URL setting for javascript: URLs by TimothyGu · Pull Request #4698 · whatwg/html () https://github.com/whatwg/html/pull/4698
[592] Editorial: move navigation document initialization (domenic, , ) https://github.com/whatwg/html/commit/91902bd54391f4eb71547e33d14e4bc552040b1c
[594] Move stuff out of the middle of "process a navigate response" · Issue #3327 · whatwg/html () https://github.com/whatwg/html/issues/3327
[595] Editorial: move navigation document initialization by domenic · Pull Request #4397 · whatwg/html () https://github.com/whatwg/html/pull/4397
[596] Refactor the navigation algorithm (dtapuska, , ) https://github.com/whatwg/html/commit/061e782437c6cff600f18bc96c1a11489e09c3ab
[103] Refactor navigation algorithm. by dtapuska · Pull Request #4664 · whatwg/html () https://github.com/whatwg/html/pull/4664
[119] Snapshot sandbox at the start of navigation (clelland, , ) https://github.com/whatwg/html/commit/eb13fece2cadc45863dc61079358b72478756f8b
[247] Snapshot sandbox at start of navigation. by clelland · Pull Request #5098 · whatwg/html () https://github.com/whatwg/html/pull/5098
[255] Editorial: nested browsing context is a member, not a type (annevk, , ) https://github.com/whatwg/html/commit/6b737bbc428facf34ec3728c0912cf9e172d0ea4
[256] Revamp the user activation model (mustaqahmed, , ) https://github.com/whatwg/html/commit/8f8c1f50158736b3cf16188377a0974a20367c8b
[259] Make "triggered by user activation" match browser behavior · Issue #1903 · whatwg/html () https://github.com/whatwg/html/issues/1903
[261] Chapter 35 -- Adding Additional Protocols to HotJava, , https://web.archive.org/web/20020430221538/http://docs.rinet.ru:8083/JSol/ch35.htm
[260] A Browser Front End For CORBA Objects - 1127.pdf, , http://www10.org/cdrom/posters/1127.pdf