2. 基本認証方式 (Basic Authentication Scheme)
「basic」認証方式は、クライアントが各領域 (Realm) に対してユーザーIDとパスワードで自身を認証しなければならないモデルに基づいています。realm値は不透明な文字列と見なされるべきであり、そのサーバー上の他のrealmとの等価性のみを比較できます。サーバーは、Request-URIの保護空間 (Protection Space) に対するユーザーIDとパスワードを検証できる場合にのみ、リクエストを処理します。オプションの認証パラメータはありません。
基本認証 (Basic) の場合、上記のフレームワークは次のように利用されます:
challenge = "Basic" realm
credentials = "Basic" basic-credentials
保護空間内のURIに対する未承認のリクエストを受信すると、オリジンサーバーは次のようなチャレンジで応答してもよい (MAY):
WWW-Authenticate: Basic realm="WallyWorld"
ここで「WallyWorld」は、Request-URIの保護空間を識別するためにサーバーが割り当てた文字列です。プロキシは Proxy-Authenticate ヘッダーフィールドを使用して同じチャレンジで応答してもよい (MAY)。
承認を受けるために、クライアントはユーザーIDとパスワードを単一のコロン (":") 文字で区切り、資格情報内でbase64 [7] エンコードされた文字列として送信します。
basic-credentials = base64-user-pass
base64-user-pass = <base64 [4] encoding of user-pass,
except not limited to 76 char/line>
user-pass = userid ":" password
userid = *<TEXT excluding ":">
password = *TEXT
ユーザーIDは大文字と小文字を区別する可能性があります。
ユーザーエージェントがユーザーID「Aladdin」とパスワード「open sesame」を送信したい場合、次のヘッダーフィールドを使用します:
Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==
クライアントは、Request-URIのpathフィールドにおける最後のシンボリック要素の深さ以上のすべてのパスも、現在のチャレンジのBasic realm値によって指定された保護空間内にあると仮定すべきである (SHOULD)。クライアントは、サーバーから別のチャレンジを受け取ることなく、その空間内のリソースに対するリクエストで対応する Authorization ヘッダーを先行して送信してもよい (MAY)。同様に、クライアントがプロキシにリクエストを送信する場合、プロキシサーバーから別のチャレンジを受け取ることなく、Proxy-Authorization ヘッダーフィールドでユーザーIDとパスワードを再利用してもよい (MAY)。基本認証に関連するセキュリティの考慮事項については、第4章を参照してください。