Web技術の基礎
ブラウザで https://www.example.com:8443/docs/guide.html?lang=ja#install を開いた。このURLのうち、サーバへ送るリクエストには含まれず、ページを読み込んだ後にブラウザの中だけで使われる部分はどれか。
- A:8443
- B?lang=ja
- C#install
答えと解説を見る
正解:C. #install
このURLは、スキーム(https)、ホスト名(www.example.com)、ポート番号(8443、省略するとhttpsでは443)、パス(/docs/guide.html)、クエリ(lang=ja)、フラグメント(install)からできています。ブラウザはポート番号で接続先を決め、パスとクエリをリクエストに入れてサーバに送りますが、#の後のフラグメントは送りません。フラグメントは、ページの中で id="install" の要素の位置へ移動するなど、ブラウザの中だけで使われます。
- A. ポート番号は接続先を決めるのに使われ、既定以外のポート番号はHostヘッダにも入ります。
- B. クエリはパスと一緒にリクエストに入れてサーバに送られ、サーバの処理の条件などに使われます。
- C. 正しい。フラグメントはサーバに送られず、ページの中の位置などを示すためにブラウザが使います。