4

プロキシ認証の失敗に対するHTTP応答コードはどうあるべきですか?407がプロキシ認証を要求するための応答コードであることを私は知っています。しかし、クライアントが認証情報をプロキシに送信し、それが正しくない場合、プロキシは何を返す必要がありますか?401応答コードが返された場合、クライアントは、それがエンドリソースではなく、プロキシでの認証の失敗であることをどのように識別しますか?

4

2 に答える 2

3

さて、401で保護されたリソースの承認に失敗した場合、サーバーは単に別の401で応答します。

Request URL:https://mysite.com/myresource/
Request Method:GET
Status Code:401 Authorization Required

Request Headers

Accept:text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Charset:ISO-8859-1,utf-8;q=0.7,*;q=0.3
Accept-Encoding:gzip,deflate,sdch
Accept-Language:en-US,en;q=0.8
Authorization:Digest username="gjggj", realm="apps", nonce="75602afa895d26f9796f3c9174cf83f3", uri="/misc/apps/", algorithm=MD5, response="9e113b10d3e95b590bdef0fc7c7c617b", qop=auth, nc=00000001, cnonce="61f73b73f6b33ea2"
Cache-Control:max-age=0
Connection:keep-alive
Host:game-point.net
User-Agent:Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.57 Safari/537.17

Response Headers

Cache-Control:no-cache
Connection:close
Content-Length:534
Content-Type:text/html
Date:Wed, 13 Feb 2013 11:07:26 GMT
Pragma:no-cache
Server:Cherokee/1.0.8 (Debian GNU/Linux)
WWW-Authenticate:Digest realm="apps", nonce="75602afa895d26f9796f3c9174cf83f3", qop="auth", algorithm="MD5"

したがって、407認証の失敗に対処する方法は、ブラウザが認証情報を送信したにもかかわらず、サーバーが407ステータスコードで応答することです。これは、プロキシで認証が​​まだ必要であることを示しており、407ステータスコードを取得しているという理由だけで認証が失敗したことを意味します。

于 2013-02-13T11:45:10.040 に答える
2

公式機関から:

http://www.ietf.org/rfc/rfc2617.txt

If the origin server does not wish to accept the credentials sent
with a request, it SHOULD return a 401 (Unauthorized) response. The
response MUST include a WWW-Authenticate header field containing at
least one (possibly new) challenge applicable to the requested
resource. If a proxy does not accept the credentials sent with a
request, it SHOULD return a 407 (Proxy Authentication Required). The
response MUST include a Proxy-Authenticate header field containing a
(possibly new) challenge applicable to the proxy for the requested
resource.
于 2013-11-29T09:41:53.807 に答える