HTTP認証

出典: フリー百科事典『ウィキペディア(Wikipedia)』

2022年10月9日 (日) 13:58; Wdpp (会話 | 投稿記録) による版 (HTTPのRFCが更新されたことを反映)(日時は個人設定で未設定ならUTC

(差分) ← 古い版 | 最新版 (差分) | 新しい版 → (差分)

HTTP認証とは、HTTPの通信の中で認証を行うことである。オリジンまたはプロキシサーバーに対して認証を行う枠組みがRFC 9110の中で規定されており、これを用いることを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
ネゴシエート認証。SPNEGO英語版による統合Windows認証英語版RFC 4178で規定。

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

関連項目[編集]

脚注[編集]

外部リンク[編集]