401エラー 【HTTP 401 Unauthorized】
概要
401エラー(HTTP 401 Unauthorized)とは、Webサーバで起きるエラーの種類の一つで、ユーザー認証が必要であることを示すもの。認証手続きをに必要な制御情報(WWW-Authenticate)と共に送られ、Webブラウザが認証ダイアログを表示する。WebサーバとWebブラウザなどのクライアントの間ではHTTP(Hypertext Transfer Protocol)という通信規約(プロトコル)でデータ伝送を行っている。クライアントからの要求(リクエスト)に対してサーバは応答(レスポンス)を返すが、その際に現在の状態を示すHTTPステータスコードを通知する。
ステータスコードの400番台は要求に応じられなかったエラーを表しており、401番のエラーメッセージは “Unauthorized” (認可されていない)である。リクエストされた資源にはアクセス権限の確認が必要であることを表しており、保護された資源への初回のアクセスや、認証に失敗した場合に返される。
例えば、Webサーバ上に設けられたCMS(コンテンツマネジメントシステム)の管理画面など、認証で保護された領域にアクセスしようとすると、401エラーが返される。このとき、認証に必要な情報が「WWW-Authenticate:」ヘッダでブラウザに伝達される。
ブラウザはエラーページ上に認証ダイアログをポップアップ表示し、IDとパスワードの入力を求める。利用者が入力した情報から認証用の「Authorization:」ヘッダを作成し、再度同じページの取得リクエストを送信する。サーバは受け取った認証データを検証し、正しければ認証成功となりページが送り返される。認証に失敗すると再び401エラーが返される。
似たステータスコードに「403エラー」(HTTP 403 Forbidden)がある。これはアクセスしようとした資源および実行しようとした操作に対する権限が無いことを示しており、認証が必要なのに未認証の場合や、認証済みだがその資源に対するアクセス権は与えられていない場合などに返される。
(2024.3.5更新)