Basic認証

通信プロトコルHTTP

Basic Authentication

 状態:-  閲覧数:733  投稿日:2016-03-28  更新日:2016-03-28
HTTPで定義される認証方式の一つ
・基本認証とも呼ばれる
・ユーザ名とパスワードの組みをコロン ":" でつなぎ、Base64でエンコードして送信する

Basic認証におけるHTTPクライアントとHTTPサーバの間の通信

 閲覧数:158 投稿日:2016-03-28 更新日:2016-03-28 

通信の流れ


1.クライアントは認証が必要なページをリクエスト
・通常ここではユーザ名とパスワードを送らない
・クライアントはそのページが認証を必要とするか否かを知らないため

2.サーバは401レスポンスコードを返す
・認証領域 (authentication realm) や認証方式 (Basic認証) に関する情報をクライアントに知らせる

3.クライアントは、認証領域(通常は、アクセスしているコンピュータやシステムの簡単な説明)をユーザに提示
・ユーザ名とパスワードの入力を求める
・ユーザはここでキャンセルすることも可能

4.クライアントはリクエストに認証ヘッダを追加して再度送信
・ユーザによりユーザ名とパスワードが入力されると、クライアントはリクエストに認証ヘッダを追加して再度送信する

5.認証に成功すると、サーバは認証の必要なページのリクエストを処理
・ユーザ名やパスワードが間違っていた時には、サーバは再び401レスポンスコードを返す
・その場合、クライアントは再びユーザにユーザ名とパスワードの入力を求める








認証成功例

 閲覧数:168 投稿日:2016-03-28 更新日:2016-03-29 

1.クライアントは認証が必要なページをリクエスト


認証を伴わないリクエスト
GET /private/index.html HTTP/1.1
Host: e1blue.co


2.サーバは401レスポンスコードを返す


認証が必要であることを示すサーバのレスポンス
・HTTP ベーシック認証を用いた場合、サーバーはクライアントからの要求に対して WWW-Authenticate ヘッダを返す
HTTP/1.1 401 Authorization Required
Date: Wed, 11 May 2005 07:50:26 GMT
Server: Apache/1.3.33 (Unix)
WWW-Authenticate: Basic realm="SECRET AREA"
Connection: close
Transfer-Encoding: chunked
Content-Type: text/html; charset=iso-8859-1

(ここに人間が読めるエラーメッセージが入る)


3.クライアントは、認証領域(通常は、アクセスしているコンピュータやシステムの簡単な説明)をユーザに提示


(クライアントによる提示、およびユーザによる入力)
・クライアントは、WWW-Authenticate ヘッダを受け取るとログイン名とパスワードの入力を促すダイアログを表示
<通信は行われない>


4.認証を伴うリクエスト (ユーザ名 "Aladdin"、パスワード "open sesame")


ユーザーが入力したログイン名とパスワードをエンコードして再度コンテンツの取得を試みる
GET /private/index.html HTTP/1.1
Host: e1blue.co
Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==


5.サーバのレスポンス


HTTP/1.1 200 OK
Date: Wed, 11 May 2005 07:50:26 GMT
(以下略)


Twitter検索結果。「Basic認証」に関する最新ツイート

らぃりる-A列車switch版だいぶ安定してきたのでゲーム起動時のプログレスバーなんとかしませんか? @Liriru
🦄新井 モノ🏡💻💖 @araimonokaiy



類似度ページランキング
順位 ページタイトル抜粋
1 cat 40
2 bash 36
3 Sticky Bit 35
4 umask 33
5 mailx 33
6 paste 33
7 startx 31
8 .htaccess 使用例 30
9 Postfix 29
10 history 29
11 Options 29
12 anacron 29
13 Session Storage 27
14 Graphviz 27
15 basename 27
16 CasperJS 27
17 Apache「.htaccess」→ Nginx 26
18 configure 25
19 .htaccessで各種アクセス制限 24
20 .htaccessで、PHPエラー表示 23
2021/9/21 11:27 更新
週間人気ページランキング / 9-14 → 9-20
順位 ページタイトル抜粋 アクセス数
1 PHPのmb_send_mail関数でメール送信できない | メール処理システム 29
2 Nginx設定。エラーログレベル | Nginx(Webサーバ) 21
3 Python 3.5 アンインストール / yum remove | Python(プログラミング言語) 11
4 FFmpeg 2.8.15 を yum インストール | ソフトウェアスイート 10
5 PHP実行ユーザ設定 / CentOS6 / Apache | PHP(プログラミング言語) 9
6 PHP Version 7.1.2 php-mecabエクステンション対応 / PHP 7.0.14 からのアップグレード  | MeCab(形態素解析) 8
6 ソースからビルドしたPython 2.7.3 アンインストール失敗 | Python(プログラミング言語) 8
7 touch コマンド / viコマンド。新規ファイル作成時の違い | Linuxコマンド 7
7 さくらVPS0 7
8 9回目-13.MySQL5.7.21設定 | CentOS 7 2週間無料のお試し期間 9回目(さくらVPS) 6
8 「設定ファイルに、暗号化 (blowfish_secret) 用の非公開パスフレーズの設定を必要とするようになりました。」対応 6
9 PHPファイルでchmodエラー | PHP(プログラミング言語) 5
9 設定 2019/1/22 / 一般ユーザがmailコマンドでメール送信 / 管理者がmailコマンドでメール送信 5
10 Postfix | メール処理システム 4
10 CentOSでcpコマンド動作確認するためには、Control + T ではなく、 -v オプションを使用 | cp(Linuxコマンド) 4
10 499 (Request has been forbidden by antivirus) | HTTP(通信プロトコル) 4
10 tar | Linuxコマンド 4
10 Python 3.6 インストール / make altinstall | Python(プログラミング言語) 4
10 「CentOS6」から「CentOS7」への移行 | CentOS 7 (CentOS) 4
10 echo と cat の違い 4
2021/9/21 1:01 更新