Web技術の基礎

会員制のWebサイトで、ログインしている一般の会員が、管理者だけに許されたページを要求した。サーバは利用者がだれかを確認できているが、このページへのアクセスは許可しない。このとき返すステータスコードとして最も適切なものはどれか。

  1. A401 Unauthorized
  2. B403 Forbidden
  3. C404 Not Found
答えと解説を見る

正解:B. 403 Forbidden

403 Forbidden は、サーバがリクエストを理解したうえで、アクセスを許可しないことを示します。401 Unauthorized は名前に反して、認証の情報がない、または正しくないことを示すコードで、WWW-Authenticate ヘッダで認証の方法を伝えます。この場面では利用者がだれかは確認できており、足りないのは権限(認可)なので、403が当てはまります。管理画面があること自体を知られたくない場合に、あえて404を返す設計もありますが、状況をそのまま表すのは403です。

  • A. 401は、認証の情報がない、または正しくない場合に使います。この利用者は認証を済ませています。
  • B. 正しい。認証は済んでいて、権限がないことを示します。
  • C. 404は資源が見つからないことを示します。存在を隠すために使う設計もありますが、状況をそのまま表すのは403です。
この分野を解く 分野ページへ

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

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

Web技術の基礎のほかの問題

  1. Web APIが、応答の本文としてJSON形式のデータを返す。本文の形式を示すために応答に付けるヘッダとして、一般に使われるものはどれか。
  2. ブラウザが、前に受け取った画像を、そのときの応答に付いていたETagの値をIf-None-Matchヘッダに入れて、もう一度要求した。サーバ上の画像が変わっていないときの、サーバの応答として正しいものはどれか。
  3. HTTP/2とHTTP/3の説明として正しいものはどれか。
  4. RTTが40 msのWebサーバから、HTMLを1つと、そこから参照される画像を4つ、1つずつ順番に取得する。TCPの接続の確立に1往復、各リクエストと応答に1往復かかるとし、データの転送時間、サーバの処理時間、TLS、接続の切断は考えない。オブジェクトごとに新しいTCP接続を張る場合と、1つのTCP接続を使い回す持続的接続の場合とで、かかる時間の差はどれか。
  5. HTTPはステートレスなプロトコルである。このことと、Webサイトでログインした状態を保つ一般的な方法の説明として、正しいものはどれか。