URLとは

ゆーあーるえる

Uniform Resource Locatorの略。Webページなどの資源の場所を表す文字列。https://www.example.com:8443/docs/page.html?q=1#top のように、スキーム(https)、ホスト名、ポート番号、パス、クエリ(?の後)、フラグメント(#の後)からなる。ポート番号は省略すると既定の値(HTTPSなら443)になり、ホスト名はDNSでIPアドレスに変換される。

「URL」は、5分野の14問の練習問題に出てきます(Web技術の基礎, 情報セキュリティの基礎, クラウドとコンテナの基礎など)。

この用語の分野: Web技術の基礎

URLの練習問題に挑戦

ブラウザで https://www.example.com:8443/docs/guide.html?lang=ja#install を開いた。このURLのうち、サーバへ送るリクエストには含まれず、ページを読み込んだ後にブラウザの中だけで使われる部分はどれか。

  1. A:8443
  2. B?lang=ja
  3. C#install
答えと解説を見る

正解:C. #install

このURLは、スキーム(https)、ホスト名(www.example.com)、ポート番号(8443、省略するとhttpsでは443)、パス(/docs/guide.html)、クエリ(lang=ja)、フラグメント(install)からできています。ブラウザはポート番号で接続先を決め、パスとクエリをリクエストに入れてサーバに送りますが、#の後のフラグメントは送りません。フラグメントは、ページの中で id="install" の要素の位置へ移動するなど、ブラウザの中だけで使われます。

URLのクエリに日本語の「あ」を入れるため、この文字をUTF-8で表したバイト列(E3 81 82)を、パーセントエンコーディングで表す。結果として正しいものはどれか。

  1. A%E3%81%82
  2. B%u3042
  3. Cあ
答えと解説を見る

正解:A. %E3%81%82

パーセントエンコーディングでは、URLにそのまま書けない文字や、/ ? # & のように特別な意味をもつ文字をデータとして使うとき、文字をバイト列にして、1バイトずつ「%」と2桁の16進数で表します。「あ」はUTF-8で E3 81 82 の3バイトなので、%E3%81%82 になります。空白は %20 になります(フォームの送信の形式では + を使うこともあります)。JavaScriptでは encodeURIComponent 関数でこの変換ができます。

解説の中の「URL」

「URL」が出てくる問題(14問)

  1. ポート80で待ち受けるWebサーバのイメージ nginx から、上のコマンドでコンテナを起動した。ホストのIPアドレスを 192.0.2.10 とし、ファイアウォールなどの制限はないものとする。同じネットワークにある別のPCのブラウザから、このWebサーバに接続するURLとして、正しいものはどれか。
  2. ブラウザで https://www.example.com:8443/docs/guide.html?lang=ja#install を開いた。このURLのうち、サーバへ送るリクエストには含まれず、ページを読み込んだ後にブラウザの中だけで使われる部分はどれか。
  3. URLのクエリに日本語の「あ」を入れるため、この文字をUTF-8で表したバイト列(E3 81 82)を、パーセントエンコーディングで表す。結果として正しいものはどれか。
  4. オンライン決済のサービスで支払いが完了したことを、加盟店のサーバがすぐに知りたい。決済サービスが、あらかじめ登録された加盟店のURLへHTTPのPOSTで通知を送る方式(Webhook)の説明として、正しいものはどれか。
  5. ブラウザの同一オリジンポリシーで、https://www.example.com/app/index.html と同じオリジンとみなされるURLはどれか。
  6. Webアプリケーションが、URLのパラメータで指定されたファイル名を、公開用のフォルダの名前とつなげて読み出して表示している。ファイル名に ../ を含む値を指定されると、公開用のフォルダの外にある設定ファイルなどを読み出されてしまう。この攻撃の名前と対策の組み合わせとして正しいものはどれか。
  7. Kubernetesのクラスタで、1つのホスト名に届いたHTTPSの要求のうち、パスが /api で始まるものは api のServiceへ、それ以外は web のServiceへ振り分けたい。この振り分けの規則を定めるのに適したリソースはどれか。
  8. DNSの主な役割として正しいものはどれか。
  9. HTTPS(HTTPをTLSで保護した通信)で守られることとして正しいものはどれか。
  10. HTTPのステータスコードと、その意味の組み合わせとして正しいものはどれか。
  11. RESTの考え方に沿ったWeb APIの設計として、適切なものはどれか。
  12. フィッシングの手口と、利用者側の対策の組み合わせとして正しいものはどれか。
  13. Webアプリケーションで、ログインの前と後で同じセッションIDを使い続けていると、攻撃者があらかじめ用意したセッションIDを利用者に使わせ、利用者がログインした後にそのIDで利用者になりすますおそれがある。この攻撃への対策として最も適切なものはどれか。
  14. WAF(Webアプリケーションファイアウォール)の説明として、正しいものはどれか。

Web技術の基礎の参考書を探す PR

Amazonの検索結果へのリンクです。Amazonのアソシエイトとして、半導体教室は適格販売により収入を得ています。

関連する用語

HTTP IPアドレス HTTPS ポート番号 ファイアウォール TLS コンテナ 同一オリジンポリシー Kubernetes リバースプロキシ

用語集の一覧へ