[1] URL は起源を持ちます。多くの場合、 URL の起源は URL scheme と authority から決まります。
[8] URL の起源は、文書の起源などの定義に使われる、 起源の基礎となるものです。
[301] URL URL の起源は、次の手順が返す値です >>300。
[15] https://www.example.com/path
の起源は、
項組起源 (https
, www.example.com
, null) です。
[28] about:blank
の起源は、
新しい不透明起源です。
[9] 例えば http://foo.example/hoge/fuga
の起源は、
http://foo.example
(= (http
, foo.example
, 80
))
です。
[11] 例えば about:blank
の起源は、新しい大域的に固有な識別子です。
file:
URL の起源[31] 仕様上 file:
URL の起源は実装定義となっています。
古い利用者エージェントは file:
URL に対して緩い制限しかかけていませんでしたが、
セキュリティー上の問題から最近の利用者エージェントでは細かい単位で起源を設定していたりします。
例えば、ディレクトリー単位でアクセスを制限したり、ファイルごとに完全に別の起源として扱ったりしています
>>23 4.。
file:
参照。[29] URL Standard には明記されていませんが、実際には、 各Webブラウザー固有の URL scheme では実装依存の方法で決定された起源が用いられることがあります。
[12] Chrome は、
chrome://version/
では
Origin: chrome://version
といったように、
chrome:
URL でも URL scheme と authority
で起源を構成しているようです。
[32] Chrome は、 chrome://settings/
や
chrome://extensions/
や chrome://chrome/
では、
chrome://chrome
を起源としているようです。
[33] Chrome は、 chrome-devtools://devtools/bundled/inspector.html?...
のような URL のページで、 document.origin
として
chrome-devtools://devtools
を返します。
[13] Firefox は、 about:mozilla
から要求を送信させると Origin: null
を送ります。
[14] Firefox は、 chrome:
URL では
Origin: chrome://global
のように URL scheme
と authority で起源を構成するようです。
[34] Chrome は view-source:
URL
の URL
の origin
を view-source://
とします。 view-source:
URL に navigate したとき
location.href
は view-source:
を削った URL
となり、 location.origin
はそのURLの起源となり、
document.origin
や fetch の Origin:
は null
となります。
[7] HbbTV 2.0 は次のように規定しています。 For resources loaded via DSM-CC object carousel, the origin shall be the DVB URI in the form (as defined in
TS 102 851 [10] clause 6.3.1): "dvb" ":" "//" original_network_id "." transport_stream_id "." service_id "." component_tag
[3] URLの起源ははじめ HTML5 (現在の HTML Standard) で規定されましたが、 後に RFC 6454 に移動しました。その後更に URL Standard へと移動しました。
[18] Clarify that "new globally unique identifier" is intentional. Fixes #56. · whatwg/url@330e090 ( 版) https://github.com/whatwg/url/commit/330e090c53e9bebc9752757cd237a0bd71877e03
[19] Merge effective script origin into origin · whatwg/html@8a843f2 ( 版) https://github.com/whatwg/html/commit/8a843f2169a6864a3024c4329528dccb2051d275
[20] Align with origin changes in HTML · whatwg/url@b0e4def ( 版) https://github.com/whatwg/url/commit/b0e4def5b62e0be2d75b4b7b5720a5e0ea879596
If you're writing JavaScript for Chrome extension, the origin is the directory structure inside the zipped up file of the extension itself.
[35] Use File API to resolve blob: URLs and their origins (mkruisselbrink著, ) https://github.com/whatwg/url/commit/d2ef633869b3f31d8c7e3bb76602400e4d2c126c
[39] Origin of blob URLs doesn't match what implementations do · Issue #127 · whatwg/url () https://github.com/whatwg/url/issues/127
[40] Fix Blob Origin · Issue #20 · w3c/FileAPI () https://github.com/w3c/FileAPI/issues/20
[41] "origin of a blob URL" is redundant/confusing · Issue #63 · w3c/FileAPI () https://github.com/w3c/FileAPI/issues/63
[42] Use definitions in FileAPI spec to resolve blob URLs and their origins. by mkruisselbrink · Pull Request #371 · whatwg/url () https://github.com/whatwg/url/pull/371
[44] Remove gopher case from origin algorithm (rmisev著, ) https://github.com/whatwg/url/commit/7ae1c691c96f0d82fafa24c33aa1e8df9ffbf2bc
[45] Remove gopher from list of special schemes by achristensen07 · Pull Request #453 · whatwg/url () https://github.com/whatwg/url/pull/453