401

Unauthorized

공식 하위 상태 코드
요청이 승인되지 않았습니다.

HTTP 상태 코드 401의 사양

401 Unauthorized 상태 코드는 대상 리소스에 대한 유효한 인증 자격 증명이 없기 때문에 요청이 적용되지 않았음을 나타냅니다. 401 Unauthorized 응답을 생성하는 서버는 대상 리소스에 적용할 수 있는 챌린지를 하나 이상 포함하는 WWW-Authenticate 헤더 필드를 보내야 합니다. 요청에 인증 자격 증명이 포함된 경우 401 Unauthorized 응답은 해당 자격 증명에 대한 권한 부여가 거부되었음을 나타냅니다. 사용자 에이전트는 새 인증 헤더 필드 또는 교체된 인증 헤더 필드를 사용하여 요청을 반복할 수 있습니다. 401 Unauthorized 응답에 이전 응답과 동일한 문제가 포함되어 있고 사용자 에이전트가 이미 한 번 이상 인증을 시도한 경우 사용자 에이전트는 일반적으로 관련 진단 정보가 포함되어 있으므로 동봉된 표현을 사용자에게 제시해야 합니다.

출처 / 인용 출처: 401 Unauthorized HTTP 상태 코드는 RFC7235 섹션 RFC7235에 명시되어 있습니다.

PHP로 401 상태 코드를 던지는 방법은 무엇인가요?

웹 페이지에 HTTP 상태 코드 401를 던지려면 PHP 함수 http_response_code를 사용할 수 있습니다. 구문은 다음과 같습니다: http_response_code(401) (PHP 5 >= 5.4.0, PHP 7, PHP 8)

401 HTTP 상태 코드 테스트

클라이언트 측에서 HTTP 상태 코드(이 경우 401 Unauthorized) 및 기타 정보를 표시하려면 F12를 사용하여 개발 콘솔을 열어야 합니다. 그런 다음 "네트워크" 탭으로 이동합니다. 이제 페이지를 열면 네트워크 탭에 웹사이트(예: index.php)가 표시됩니다. 이를 선택한 다음 허더 섹션을 선택해야 합니다. 그러면 사용자에게 다음과 같은 결과가 표시됩니다:

상태 코드 401 Unauthorized
개요
URL: https://http-statuscode.com/errorCodeExample.php?code=401
상태: 401 Unauthorized
그: Network
IP 주소: XX.XX.XX.XX
상태 코드 401 Unauthorized

상태 코드 401에 대한 오류 페이지를 직접 만드는 방법

자체 401 Unauthorized 오류 페이지를 만드는 것은 "Apache" 및 "NGINX" 웹 서버 모두에서 비교적 쉽습니다.

Apache Webserver

웹 서버 "아파치"는 인터넷에서 가장 일반적인 웹 서버 중 하나입니다. "Apache"에서 401 Unauthorized 오류 페이지를 직접 생성하려면 다음 파일에서 다음과 같이 변경해야 합니다.

File: .htaccess
ErrorDocument 401 /errors/401.html

NGINX Webserver

웹 서버 "Apache"와 마찬가지로 "NGINX"도 인터넷에서 널리 사용됩니다. "NGINX"에서 401 Unauthorized 오류 페이지를 직접 생성하려면 다음 파일에서 다음과 같이 변경해야 합니다.

File: sites-enabled/default
error_page 401 /401.html;
location = /401.html {
    root /usr/share/nginx/html;
    internal;
}

401 상태 코드의 브라우저 호환성

Chrome Yes
Edge Yes
Firefox Yes
Opera Yes
Safari Yes
Chrome Android Yes
Firefox for Android Yes
Opera Android Yes
Safari on iOS Yes
Internet Yes
WebView Android Yes

프로그래밍 언어의 상수

HttpStatusCode.Unauthorized
http.StatusUnauthorized
Response::HTTP_UNAUTHORIZED
httplib.UNAUTHORIZED
http.client.UNAUTHORIZED
http.HTTPStatus.UNAUTHORIZED
:unauthorized

401 상태 코드의 하위 상태 코드

하위 상태 코드는 순전히 기술적인 것이므로 사용자에게 전송되어서는 안 됩니다. 예를 들어 상태 코드 401.1이 발생하면 기록될 수 있지만 상태 코드 401는 사용자에게 전송됩니다.:
401.1 Logon failed
HTTP IIS, 비공식
401.2 Logon failed due to server configuration
HTTP IIS, 비공식
401.3 Unauthorized due to ACL on resource
HTTP IIS, 비공식
401.4 Authorization failed by filter
HTTP IIS, 비공식
401.5 Authorization failed by ISAPI/CGI application
HTTP IIS, 비공식
401.501 Access Denied: Too many requests from the same client IP; Dynamic IP Restriction Concurrent request rate limit reached.
HTTP IIS, 비공식
401.502 Forbidden: Too many requests from the same client IP; Dynamic IP Restriction Maximum request rate limit reached.
HTTP IIS, 비공식
401.503 Access Denied: the IP address is included in the Deny list of IP Restriction
HTTP IIS, 비공식
401.504 Access Denied: the host name is included in the Deny list of IP Restriction
HTTP IIS, 비공식

HTTP 상태 코드 401에 대한 재미있는 밈

블로그 기사

워드프레스의 xmlrpc.php 파일을 통한 공격에 대한 보호

섹션 1: xmlrpc.php 파일이란 무엇이며 어디에 있나요? xmlrpc.php 파일은 웹사이트 제작 및 관리를 위한 세계 최고의 콘텐츠 관리 시스템(CMS)인 워드프레스에서 중요한 구성 요소입니다. 원래는 워드프레스와 ...

작성자: Tony Brüser
작성자: Tony Brüser

토니 브루서는 HTTP 상태 코드에 관심이 많은 열정적인 웹 개발자입니다.

LinkedInGitHub