BASIC認証
読み:ベーシックにんしょう
外語:Basic Authentication
Webサーバーで、ID/パスワードによるアクセス制限を行なう際に、HTTPの標準機能として用意されている方法。
概要
Apacheの場合、.htaccessファイルなどに必要情報を記述して利用することになるが、比較的簡単なため、よく利用されている。
IDとパスワードは、アクセス制限が掛けられたファイルにアクセスするたびに問い合わせることになる。つまりWebサーバー側はあくまでモードレスであり、サーバー側はパスワードの認証状況等はキャッシュしない。代わりにWebブラウザーがキャッシュすることが多い。この仕様のため、1ファイルアクセス毎にIDとパスワードがネットワーク上を流れることになるので注意が必要である。
技術
具体的な流れは、まずWebブラウザー等のユーザーエージェントが目的のファイルにアクセスするところから始まる。
クライアントからの要求に対し、Webサーバーは
401 Authorization Required
を返信し、認証が必要である旨を伝える。
ここで認証に対応したWebブラウザーはダイアログ等を表示して、IDとパスワードの入力をユーザーに求め、そのID・パスワードをHTTPのヘッダーに追加して再びWebサーバーにアクセスする。
もし認証が成功すれば、Webサーバーは
200 OK
として、通常通りに要求されたファイルを送信し、さもなくば401を再返信する。
一般的には、Webブラウザーは数回連続して401を受信すると認証不能として処理し、401としてWebサーバーから送られたHTMLを表示することが多い。
つまり、1ファイルを得るために、リクエスト・レスポンスの交信が2回行なわれている。
なお、BASIC認証ではIDとパスワードは:で繋げ、base64で符号化してから、HTTPのAuthorization:ヘッダーに格納する。
再検索