0

2つのHTTP認証があるようです:基本アクセス認証ダイジェストアクセス認証

したがって、一般的に、ユーザーがURLにアクセスしようとすると、Webサーバーが401 Unauthorizedを返し、ブラウザがアプリウィンドウをポップアップしてユーザー名とパスワードを要求し、HTTPヘッダーにクレデンシャルを設定してから再度HTTPリクエスト。

http:// peter:mypassword@www.somesite.comはどうですか?401が戻ってくるのを待たずに、事前にユーザー名とパスワードを提供することになっていますか?どういうわけか、 http:// peter:mypassword@www.google.comまたはyahooを試しましたが、Fiddlerの内部(ネットトラフィックを監視するため)で、HTTPリクエストにクレデンシャル情報が表示されませんか?

4

2 に答える 2

2

サーバー側で401を送信する必要があります。user:pass @ hostは、ログインダイアログの表示を回避するための便利な機能です。

考えてみれば、これは理にかなっています。使用する方法を説明するヘッダー付きの401を送信しないと、クライアントは資格情報のフォーマット方法を知らないからです。

(実際には、BasicやDigestだけでなく、いくつものスキームがあります。)

于 2011-02-25T00:35:19.033 に答える
0

それをある程度理解するために、HTTP基本認証とそれをRailsプロジェクトに追加すること、およびブラウザーでどのように表示されるかについて説明するRailscastがあります:http://railscasts.com/episodes/82-http-basic-authentication

于 2011-02-25T10:16:03.800 に答える