2012-11-15 4 views
4

AJAX를 통해 서버에 뭔가를 게시하는 페이지가 있습니다. 사용자가 기록되지 않거나 게시 할 권한이없는 경우 서버 측 스크립트는 상태 코드 401을 반환합니다. 문제는 브라우저가 사용자에게 로그인 대화 상자를 표시하고이를 억제 할 권한이 없다는 것입니다. 401을 401로 바꾸어도 괜찮습니까? 그렇다면 대신 적절한 코드, 일반 코드 또는 사용자 정의 코드를 사용할 수 있습니까?HTTP 상태 코드 401 대신 사용할 수 있습니까?

답변

4

웹 마스터 StackExchange의 similar question was asked 401은 HTTP 인증에 사용되며, 407은 프록시 인증에 사용되며 둘 다 사용중인 폼 기반 인증과 다릅니다. 사용자가 로그인하지 않은 경우 확실히 을 반환 할 수 있지만, 언급 한 게시물은 403 - Forbidden을 사용하는 것이 좋습니다. HTTP 상태 코드 목록과 그 의미는 here입니다.

+1

401 : "서버가 요청을 이해했지만이를 이행하기를 거부합니다. 승인이 도움이되지 않습니다 ..."권한이 도움이되지 않는다고 말하는 것은 무엇을 의미합니까? – dpp

+0

403은 사용자가 누구인지, 리소스가 여전히 금지되어 있음을 의미합니다. – dpp

+1

그는 '인증이 도움이되지 않을 것'에 대해 "이것은 프로토콜 수준의 인증 메커니즘 인 HTTP 인증이라고도합니다. 즉, HTTP 권한 부여는 도움이되지 않지만 폼 기반과 같은 다른 유형의 권한 부여가 가능합니다. 요청서가 반복되어서는 안된다고 명시되어 있다고해서 새롭고 다른 재승 인 요청을 할 수 없다는 의미는 아닙니다. –

관련 문제