HTTP認証

HTTP認証とは、HTTPの通信の中で認証を行うことである。オリジンまたはプロキシサーバーに対して認証を行う枠組みがの中で規定されており、これを用いることをHTTP認証という。

ステータス・レスポンス
HTTPでは、認証に関することして以下のものが定義されている。

 オリジンとの認証処理
 ステータスコード401 Unauthorized
 HTTPレスポンスヘッダーWWW-Authenticate
 HTTPリクエストヘッダーAuthorization
 プロキシサーバーとの認証処理
 ステータスコード407 Proxy Authentication Required
 HTTPレスポンスヘッダーProxy-Authenticate
 HTTPリクエストヘッダーProxy-Authorization

なお、認証は通ったものの、アクセス制御として対象のリソースへのアクセスが許可されていない場合は、応答として403 Forbiddenを用いる。

認証スキーム
前述のリクエストヘッダー・レスポンスヘッダーの上で、様々な認証方式を使用できる。個々の認証方式を認証スキーム(authentication scheme)と呼ぶ。

例えば以下のような認証スキームが存在する。

Basic
Basic認証。
Digest
Digest認証。
Bearer
Bearerトークンを用いるベアラー認証。
Negotiate
ネゴシエート認証。による。で規定。

認証スキームはIANAがHypertext Transfer Protocol (HTTP) Authentication Scheme Registryとして管理している。一方で、NTLMやAWS4-HMAC-SHA256のように登録されずに使われているものもある。

関連項目 
 Basic認証
 Digest認証

脚注

外部リンク 
 : HTTP Semantics
 Hypertext Transfer Protocol (HTTP) Authentication Scheme Registry
 HTTP 認証 - HTTP | MDN

にんしよう
認証技術
ウェブ技術