自身のアウトプットも兼ねてつれづれと書き続けるブログ。
HTML解体新書ー仕様から紐解く本格入門 [ 太田 良典 ]
前回からの続きです。
URLの応用-絶対URLと相対URL[03]
スキームから始まる形式のURLを絶対URL(absolute URL)といい、スキーマから始まらない形式のURLを相対URL(relative URL)といいます。
・絶対URL
<a href="https://program-html.hatenablog.com/entry/2023/09/21/235208">
・相対URL
<a href="../2023/09/21/235208">
相対URLには以下のような種類があります
- スキーム相対URL(scheme relative URL)
- パス絶対URL(path absolute URL)
- パス相対URL(path relative URL)
【スキーム相対URL】
スキーム相対URLは、絶対URLからスキームと:を取り除いたものです。先頭が//で始まり、ホスト名が続く記述になります。
・スキーム相対URL
//program-html.hatenablog.com/entry/2023/09/21/235208
【パス絶対URL】
パス絶対URLは、スキーム相対URLから//とホスト名を取り除いたものです。先頭が/で始まり、パスの記述が続きます。
・パス絶対URL
/entry/2023/09/21/235208
【パス相対URL】
パス相対URLは、先頭が/で始まらないパスです。
・パス絶対URL
entry/2023/09/21/235208
URLに使える文字とパーセントエンコード
URLに使える文字は、URLコードポイント(URL code points)として定められており、次の文字になります。
- ACII英文字(ASCII alphanumeric)
- 記号類: !、$、&、’、(、)、*、 *、+、,、-、.、/、:、;、=、?、@、_、〜
- U+00A0~U+10FFFDのUnicode文字。ただしサロゲート(surrogates)と非文字(noncharacters)を除く。
【パーセントエンコード】
URLに使えない文字や、特別な意味に解釈される文字はパーセントエンコードバイト(percent-encoded bytes)として記述できます。文字をパーセントエンコードバイトに変換することをパーセントエンコード(percent-encode)といいます。
・こんな感じの例
日本語:ねこ
パーセントエンコードバイト:%E3%81%AD%E3%81%93
【パーセントデコード】
パーセントエンコードされた文字を元に戻すことをパーセントデコード(percent-decode)といいます。
【&を含むURLを属性値に記述する場合】
&を含むURLを属性値に記述する場合、&amp;と書く必要があります。以前、指摘された記憶がある。。
<a href="../2023/09/21/235208?name=b&age=21">
サブリソースとURLスキーム
サブリソース(subresource)とは起点となるHTMLファイル以外のrソースで、HTMLに埋め込まれる画像などのメディアファイル、CSSファイル、JavaScriptファイルが該当します。
<img src="https://cdn-ak.f.st-hatena.com/images/fotolife/n/nekonikobankun.jpg" alt='neko'>
上記の例えのURLのスキームはhttpsであり、サブリソースとして利用可能なFetchスキーム(fetch scheme)に分類されます。以下のスキームはFetchスキームとして定義されます。
- http、https:一般的に利用されるウェブ経由した取得
- file:ローカルファイルを使用して取得
- about:about:blankとしてのからのリソースを取得
- blob:JavaScriptなどで生成したデータURL
- data:インラインに埋め込まれるデータURL