program-htmlの日記

つれづれ書いてます

URLの応用-プログラミング・本のブログ

 

自身のアウトプットも兼ねてつれづれと書き続けるブログ。


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&amp;age=21">

サブリソースとURLスキーム

サブリソース(subresource)とは起点となるHTMLファイル以外のrソースで、HTMLに埋め込まれる画像などのメディアファイル、CSSファイル、JavaScriptファイルが該当します。

上記の例えのURLのスキームはhttpsであり、サブリソースとして利用可能なFetchスキーム(fetch scheme)に分類されます。以下のスキームはFetchスキームとして定義されます。

  • http、https:一般的に利用されるウェブ経由した取得
  • file:ローカルファイルを使用して取得
  • about:about:blankとしてのからのリソースを取得
  • blob:JavaScriptなどで生成したデータURL
  • data:インラインに埋め込まれるデータURL

要素の入れ子と内容モデル