1

以下のイメージは、基本的なHTTP認証を示しています。クライアントは/familyリソースを要求し、それ自体の識別を求められます。それは今では/familyにアクセスすることができます。クライアントはまた、家族の領域にあるリソース/family/photos/kidsを求めます。以降の要求に対する基本的なHTTP認証

クライアントはすでに/familyリソースのために自身を識別しましたが、/family/photos/kidsも含まれていません。それらは同じ領域にありますが、サーバーは同じクライアントが要求を発行したことを認識しません。それとも?この特定のクライアントが後で要求で/family/photos/kidsにアクセスすることも許可されていることをサーバーはどのように知っていますか?パスワードとユーザー名は、ユーザーが認証された後に毎回送信されますか?クライアントは、作成したすべての要求に対してポップアップを介して要求されますか?最初の認証時にCookieが設定されていますか?

enter image description here

答えて

1

基本認証では、クライアントから送信されたヘッダが必要です。いいえクッキーないか、またはサーバーのセッション

クライアントがリソースを要求し、Authorizationヘッダー

トークンはbase64で(ユーザー名:パスワード)である
GET /family 
Authorization: Basic token 

を送信します。ユーザー名の後ろに ':'とパスワードが64でエンコードされています

ブラウザから保護されたリソース(GETリクエストなど)を要求していてヘッダーを入力しないと、ブラウザには同じドメイン内の後続のリクエスト

+0

ありがとうございます。したがって、Base64でコード化されたcredentilasとともにAuthorizationヘッダーは、この全ドメインまたはちょうど/ familyへのすべての後続の要求を送信しますか? /家族/写真/子供にも送信されますか?プロキシ認証でも同じことが起こりますか? – sanjihan

+0

クライアントは各要求でヘッダーを送信する必要があります。ブラウザーを使用してユーザーに資格情報を要求すると、ユーザーは同じドメインに対してそれらを使用します。 Apacheなどのプロキシを使用して、承認を管理することができます。 – pedrofb

関連する問題