読み方:よんまるいちエラー

401エラー 【HTTP 401 Unauthorized】

概要

401エラー(HTTP 401 Unauthorized)とは、WebサーバがWebブラウザなどのクライアントに通知するエラーメッセージの一つで、ユーザー認証が必要であることを示すもの。認証手続きをに必要な制御情報(WWW-Authenticate)と共に送られ、Webブラウザが認証ダイアログを表示する。

HTTPステータスコードとは

WebサーバとWebクライアントの間では「HTTP」(Hypertext Transfer Protocol)という通信規約(プロトコル)でデータ伝送を行っている。クライアントからの要求(リクエスト)に対してサーバは応答(レスポンス)を返すが、その際に現在の状態を示す「HTTPステータスコード」を通知する。

ステータスコードは3桁の番号と簡易なメッセージで表される。番号の最上位桁は分類、下2桁は識別番号である。100番台は「情報」(Informational)、200番台は「成功」(Success)、300番台は「転送」(Redirection)、400番台は「クライアントエラー」(Client Error)、500番台は「サーバエラー」(Server Error)を表している。

401 Unauthorizedとは

401番はクライアントに起因するエラーの一種で、メッセージは “Unauthorized” (認可されていない)である。リクエストされた資源にはアクセス権限の確認が必要であることを表しており、保護された資源への初回のアクセスや、認証に失敗した場合に返される。

例えば、Webサーバ上に設けられたCMS(コンテンツマネジメントシステム)の管理画面など、認証で保護された領域にアクセスしようとすると、401エラーが返される。このとき、認証に必要な情報が「WWW-Authenticate:」ヘッダでブラウザに伝達される。

ブラウザはエラーページ上に認証ダイアログをポップアップ表示し、IDとパスワードの入力を求める。利用者が入力した情報から認証用の「Authorization:」ヘッダを作成し、再度同じページの取得リクエストを送信する。サーバは受け取った認証データを検証し、正しければ認証成功となりページが送り返される。認証に失敗すると再び401エラーが返される。

似たステータスコードに「403エラー」(HTTP 403 Forbidden)がある。これはアクセスしようとした資源および実行しようとした操作に対する権限が無いことを示しており、認証が必要なのに未認証の場合や、認証済みだがその資源に対するアクセス権は与えられていない場合などに返される。

(2025.8.20更新)

HTTPステータスコード一覧

*1 302はHTTP/1.0では「Moved Temporarily」だった。
*2 413はHTTP/1.1では「Request Entity Too Long」、RFC 7231では「Payload Too Long」だった。
*3 414はHTTP/1.1では「Request-URI Too Long」だった。
*4 416はHTTP/1.1では「Requested Range Not Satisfiable」だった。
*5 418は1998年エイプリルフールのジョークRFC 2324で「I'm a teapot」として定義されていた。