header("HTTP/1.1 403 Forbidden"); echo <<<sql <!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" c minimum-scale=1, width=device-width"> <title>Error 404 Not Found</title> </head> <body> <H1>Not Found</H1> <p><ins>That’s an error.</ins></p> <p>The requested URL <code><?php echo dirname({$_SERVER["SCRIPT_NAME"]});?></code> was not found on this server. <ins>That’s all we know.</ins></p> </body> </html> <HTML> <HEAD> <meta charset="utf-8"> <TITLE>404 Not Found</TITLE> </HEAD> <BODY> <H1>Not Found</H1> The requested URL <?php echo dirname({$_SERVER["SCRIPT_NAME"]});?> was not found on this server.<P> <HR> <ADDRESS>Web Server at {$_SERVER["SERVER_NAME"]} Port {$_SERVER["SERVER_PORT"]}</ADDRESS> </BODY> </HTML> sql;
http://www.w3.org/Protocols/rfc2616/rfc2616
하이퍼텍스트 전송 프로토콜 -- HTTP/1.1
http://www.w3.org/Protocols/rfc2616/rfc2616 -sec10.html
100-199는 클라이언트가 응답해야 하는 특정 작업을 지정하는 데 사용됩니다.
200-299는 요청을 성공적으로 이해하고 수락했음을 나타내는 데 사용됩니다.
300-399는 이동된 파일에 사용되며, 새로운 주소 정보를 지정하기 위해 위치 헤더 정보에 포함되는 경우가 많습니다.
400-499는 클라이언트 오류를 나타내는 데 사용됩니다.
500-599는 서버 오류를 지원하는 데 사용됩니다.
[정보 1xx] 정보
100="Continue" 계속: 서버가 헤더에 100-continue가 포함된 요청을 받으면 클라이언트가 후속 요청에서 첨부 파일을 보낼 수 있는지 묻는 의미입니다. 이 경우 서버는 100(SC_CONTINUE)을 사용하여 클라이언트가 계속할 수 있도록 허용하거나 417(예상 실패)을 사용하여 클라이언트에게 첨부 파일 수락에 동의하지 않음을 알립니다. 이 상태 코드는 HTTP 1.1의 새로운 기능입니다.
101="Switching Protocols" 프로토콜 전환: 서버는 클라이언트의 요구 사항을 이해하고 기꺼이 준수하며 메시지 헤더 필드를 업그레이드하여 이 연결에 사용되는 애플리케이션 프로토콜을 변경합니다.
[Successful 2xx] 성공
>>>200="OK" 성공
201="Created" 생성됨: 요청이 완료되어 새 리소스가 생성되었습니다. 해당 URL은 포지셔닝 헤더 정보에 제공되어야 합니다.
202="Accepted" 수락됨: 처리 요청이 수락되었지만 처리가 완료되지 않았습니다.
203="Non-Authoritative Information" 승인되지 않은 정보
>>>204="No Content" 콘텐츠 없음: 서버가 요청을 완료했지만 콘텐츠를 반환하지 않았습니다.
205="Reset Content" 콘텐츠 재설정: 서버가 요청을 완료했으며 사용자 에이전트는 요청을 발생시킨 문서 보기를 재설정해야 하며, 이는 브라우저가 양식 필드를 강제로 지우는 데 사용됩니다. 이는 HTTP 1.1의 새로운 기능입니다.
206="Partial Content" 부분 콘텐츠: 서버가 Range 헤더 정보가 포함된 부분 요청을 완료할 때 전송됩니다.
[Redirection 3xx] Redirect
300="Multiple Choices" 다중 선택: 요청된 문서가 여러 곳에서 발견되며 반환된 문서에 나열됩니다. 서버에 기본 설정이 있는 경우 해당 기본 설정은 위치 응답 헤더에 나열됩니다.
>>>301="영구적으로 이동됨" 영구적으로 이동됨: 요청된 리소스에 새로운 영구 URI가 할당되고 이 리소스에 대한 향후 참조는 이 반환된 URI를 사용해야 하며 브라우저는 자동으로 새 URL에 연결됩니다. . 참고: 301 상태 코드를 수신하는 POST 요청을 자동으로 리디렉션할 때 일부 기존 HTTP/1.0 사용자 에이전트는 이를 GET 요청
>>>302="Found" 발견으로 잘못 변경합니다. 리소스를 일시적으로 요청합니다. 임시 URI에 상주합니다. 포지셔닝 헤더 정보에 제공된 URL이 영구 교환 주소가 아닌 임시 교환 주소로 이해되어야 한다는 점을 제외하면 301과 다소 유사합니다. 참고: HTTP 1.0에서는 메시지를 찾는 대신 일시적으로 이동합니다(Moved Temporarily).
303="See Other" See Other: 이 요청에 대한 응답은 다른 URI에 있을 수 있으며 리소스에 대한 GET을 사용해야 합니다. . 방법 검색. 원래 요청이 POST인 경우 새 문서(포지셔닝 헤더 정보에 제공됨)를 GET을 사용하여 검색해야 한다는 점을 제외하면 301 및 302와 유사합니다. 이 상태 코드는 HTTP 1.1의 새로운 기능입니다.
>>>304="Not Modified" 수정되지 않음: 클라이언트가 조건부로 GET 요청을 수행하고 액세스를 허용했지만 파일이 수정되지 않은 경우 서버는 이 상태 코드로 응답해야 합니다.
305="프록시 사용" 프록시 사용: 요청된 리소스의 위치 필드는 프록시를 통해 액세스해야 합니다. HTTP 1.1의 새로운 기능.
306="(미사용)" (미사용) 306 상태 코드는 이전 버전의 사양을 사용하며 더 이상 사용되지 않습니다.
307="Temporary Redirect" 임시 리디렉션: 요청된 리소스는 다음과 같습니다. 임시로 다른 URI에 상주합니다. 307 상태를 처리하는 브라우저의 규칙은 302와 동일합니다. 307 상태가 HTTP 1.1에 추가된 이유는 원래 메시지가 POST인 경우에도 302 응답을 수신할 때 많은 브라우저가 잘못된 리디렉션을 수행했기 때문입니다. 브라우저는 303 응답이 수신된 경우에만 POST 요청 시 리디렉션되는 것으로 가정됩니다. 이 새로운 상태 코드를 추가하는 목적은 분명합니다. 응답이 303이면 GET 및 POST 요청으로 리디렉션되고, 응답이 307이면 POST 요청 대신 GET 요청으로 리디렉션됩니다.
[클라이언트 오류 4xx] 클라이언트 오류
>>>400="잘못된 요청" 서버가 요청 구문을 이해하지 못합니다.
>>>401="Unauthorized" Unauthorized: 요청에 사용자 인증이 필요합니다. 요청에 이미 인증 인증서가 포함되어 있으면 401 응답은 자격 증명이 거부되었음을 나타냅니다. 이 응답에는 WWW-Authenticate 인증 헤더가 포함되어야 합니다.
402="결제 필요" 결제 필요: 이 코드는 향후 사용을 위해 예약되어 있습니다.
>>>403="Forbidden" 금지됨: 서버가 요청을 이해했지만 이행을 거부했습니다.
>>>404="찾을 수 없음" 찾을 수 없음
405="허용되지 않는 메서드" 메서드가 허용되지 않음: 요청 줄에 지정된 메서드는 URI로 식별되는 리소스를 요청할 수 없습니다. 특정 리소스에 대해 요청 방법(GET, POST, HEAD, PUT, DELETE 등)이 허용되지 않음을 나타냅니다.
406="Not Acceptable" 허용되지 않음: 요청된 리소스의 MIME 유형이 클라이언트의 Accept 헤더 정보에 지정된 유형과 일치하지 않음을 나타냅니다.
407="프록시 인증 필요" 프록시 인증: 이 코드는 401(인증되지 않음)과 유사하지만 클라이언트가 먼저 자신을 인증해야 함을 의미합니다.
408="Request Timeout" 요청 시간 초과: 서버가 대기할 준비가 된 시간 동안 클라이언트가 요청을 생성하지 않았습니다. HTTP 1.1의 새로운 기능.
409="충돌" 충돌: 리소스의 현재 상태와의 충돌로 인해 요청을 완료할 수 없습니다. 이 상태는 일반적으로 PUT 요청과 함께 사용됩니다. 409 상태는 잘못된 버전의 파일을 업로드하려고 할 때 자주 사용됩니다. 이 상태 코드는 HTTP 1.1의 새로운 기능입니다.
>>>410="Gone" 사라짐: 요청한 리소스는 더 이상 사용 가능한 서버가 아니며 전달 주소가 없습니다. 요청한 문서가 더 이상 존재하지 않으며 업데이트된 주소가 없음을 클라이언트에게 알립니다. 410 상태는 404와 다릅니다. 410은 안내 문서가 이동된 경우에 사용되는 반면, 404는 알 수 없는 이유로 접근이 불가능한 경우에 사용됩니다. 이 상태 코드는 HTTP 1.1의 새로운 기능입니다.
411="길이 필요" 길이 필요: 서버가 콘텐츠 길이를 정의하지 않고 요청 수락을 거부했습니다. 클라이언트가 서버에 보낼 데이터의 크기를 나타내는 Content-Length 헤더를 보내지 않으면 서버가 요청(첨부 파일이 있는 POST 요청 가정)을 처리할 수 없음을 나타냅니다. 이 상태는 HTTP 1.1의 새로운 기능입니다.
412="전제 조건 실패" 전제 조건 실패: 하나 이상의 요청 헤더 필드가 서버에서 테스트될 때 하나 이상의 요청 헤더 필드에 제공되는 전제 조건입니다. 요청 헤더의 특정 전제조건이 올바르지 않음을 나타냅니다. 이 상태는 HTTP 1.1의 새로운 기능입니다.
413="요청 엔터티가 너무 큼" 요청 엔터티가 너무 큽니다. 요청한 문서가 서버가 현재 처리하려는 것보다 크다고 클라이언트에 알립니다. 서버가 잠시 후에 처리할 수 있다고 판단하면 Retry-After 응답 헤더가 포함됩니다. 이 상태는 HTTP 1.1의 새로운 기능입니다.
414="Request-URI Too Long" 요청 URI가 너무 깁니다: URI가 너무 긴 경우 상태가 사용됩니다. 여기에서 언급된 "URI"는 URL에서 호스트, 도메인 이름 및 포트 번호 뒤의 내용을 나타냅니다. HTTP 1.1에 새로 추가되었습니다.
415="지원되지 않는 미디어 유형" 지원되지 않는 미디어 유형: 요청에 첨부된 첨부 파일의 형식 유형을 서버에서 알 수 없습니다. 이 상태는 HTTP 1.1의 새로운 기능입니다.
416="요청된 범위가 만족되지 않음" 요청된 범위가 만족되지 않음: 서버가 만족할 수 없는 Range 헤더 정보가 포함된 요청이 클라이언트에 포함되어 있음을 나타냅니다. 이 상태는 HTTP 1.1의 새로운 기능입니다.
417="예상 실패" 예상 실패: 서버가 100-continue 값을 가진 Expect 요청 헤더를 받으면 클라이언트가 후속 요청에서 첨부 파일을 보낼 수 있는지 묻는 것을 의미합니다. 이 경우 서버는 또한 상태(417)를 사용하여 서버가 첨부 파일을 허용하지 않음을 브라우저에 알리거나 100 상태를 사용하여 클라이언트에게 첨부 파일을 계속 보낼 수 있음을 알립니다. 이 상태는 HTTP 1.1의 새로운 기능입니다.
[서버 오류 5xx] 서버 오류
>>>500="내부 서버 오류" 내부 서버 오류
>>>501="구현되지 않음" 실행할 수 없음: 서버 요청을 완료하는 데 필요한 기능을 지원하지 않습니다. 서버가 요청에서 요청한 기능을 지원하지 않는다는 것을 클라이언트에게 알립니다. 예를 들어 클라이언트는 서버가 지원하지 않는 PUT 등의 명령을 실행합니다.
>>>502="Bad Gateway" 잘못된 게이트웨이: 게이트웨이 또는 프록시 역할을 하는 서버가 액세스 요청을 충족시키려는 동안 업스트림 서버로부터 잘못된 응답을 받았습니다. 이 상태는 수신 서버가 원격 서버로부터 오류 응답을 받았음을 나타냅니다.
>>>503="Service Unavailable" 서비스를 사용할 수 없음: 일시적인 과부하 또는 서버 유지 관리로 인해 서버가 현재 요청을 처리할 수 없습니다. 일부 서버에서는 단순히 연결을 거부할 수도 있습니다. 예를 들어, 일부 스레드나 데이터베이스 연결 풀이 더 이상 사용 가능하지 않은 경우 서버는 이 헤더를 반환해야 합니다. 서버는 클라이언트에게 언제 다시 시도할 수 있는지 알려주기 위해 Retry-After 헤더를 제공할 수 있습니다.
504="Gateway Timeout" 게이트웨이 시간 초과: 수신 서버가 원격 서버로부터 적시에 응답을 받지 못했음을 나타냅니다. 이 상태는 HTTP 1.1의 새로운 기능입니다.
505="HTTP 버전이 지원되지 않음" HTTP 버전이 지원되지 않습니다. 서버가 요청 메시지에 사용되는 HTTP 프로토콜 버전을 지원하지 않거나 지원을 거부합니다. 이 상태는 HTTP 1.1의 새로운 기능입니다.
간단한 버전:
요청을 성공적으로 처리한 성공적인 2XX 상태 코드입니다.
200 서버가 요청을 성공적으로 처리하고 요청한 웹페이지를 제공했습니다.
204 서버가 요청을 성공적으로 처리했지만 아무것도 반환하지 않았습니다.
5회 이상 각 요청에 대해 각 요청에서 3xx로 재설정됩니다.
301 요청한 웹페이지가 새 위치로 영구적으로 이동되었습니다. URL이 변경되면 301 코드를 사용하세요. 검색 엔진 색인에 새 URL을 저장합니다.
302 요청한 웹페이지가 일시적으로 새 위치로 이동되었습니다. 원본 URL은 검색 엔진 색인에 저장됩니다.
304 요청자의 마지막 요청 이후 웹페이지가 업데이트되지 않은 경우 304 코드를 사용하여 검색 엔진 로봇에 알려 대역폭과 오버헤드를 절약할 수 있습니다.
클라이언트 오류 4XX는 요청에 오류가 있어 서버 처리를 방해할 수 있음을 나타냅니다.
400 서버가 요청 구문을 이해하지 못합니다.
403 서버가 요청을 거부했습니다.
404 서버가 요청한 웹페이지를 찾을 수 없습니다. 이 코드는 서버에 존재하지 않는 웹페이지에 대해 반환되는 경우가 많습니다.
410 요청된 리소스가 영구적으로 삭제된 후 서버가 이 응답을 반환합니다. 이 코드는 404(찾을 수 없음) 코드
와 유사하지만 리소스가 이전에 존재했지만 현재는 존재하지 않는 경우 404 코드 대신 사용되는 경우가 있습니다. 리소스가 영구적으로 삭제된 경우 301을 사용하여 리소스의 새 위치를 지정해야 합니다.
서버 오류 5XX는 서버가 요청을 처리하는 동안 내부 오류가 발생했음을 의미합니다. 이러한 오류는 요청 오류가 아니라 서버 자체의 오류일 수 있습니다.
500 서버에 오류가 발생하여 요청을 완료할 수 없습니다.
503 현재 서버를 사용할 수 없습니다(과부하 또는 유지보수를 위한 다운타임으로 인해). 일반적으로 이는 일시적인 상태입니다.
상세 분석:
2XX 성공
200 정상 요청 완료.
201 정상, 바로 뒤에 POST 명령이 옵니다.
202 OK; 처리가 승인되었지만 아직 처리가 완료되지 않았습니다.
203 일반; 부분 정보 - 정보의 일부만 반환됩니다.
204 정상; 응답 없음 - 요청이 수신되었지만 다시 보낼 정보가 없습니다.
3XX Redirect
301 이동됨 — 요청된 데이터의 위치가 바뀌었고 변경 사항은 영구적입니다.
302 발견 — 요청한 데이터에 일시적으로 다른 URI가 있습니다.
303 기타 보기 — 요청에 대한 응답은 다른 URI에서 찾을 수 있으며 GET 메서드를 사용하여 검색해야 합니다.
304 수정되지 않음 — 문서가 예상대로 수정되지 않았습니다.
305 프록시 사용 — 요청된 리소스는 위치 필드에 제공된 프록시를 통해 액세스해야 합니다.
306 사용되지 않음 — 더 이상 사용되지 않습니다. 나중에 사용할 수 있도록 이 코드를 보관하세요.
클라이언트의 4XX 오류
400 잘못된 요청 — 요청에 구문 문제가 있거나 요청을 이행할 수 없습니다.
401 Unauthorized — 클라이언트가 데이터에 액세스할 수 있는 권한이 없습니다.
402 결제 필요 — 결제 시스템이 활성화되어 있음을 나타냅니다.
403 금지됨 — 승인이 있어도 액세스가 필요하지 않습니다.
404 찾을 수 없음 — 서버가 해당 문서가 존재하지 않는 리소스를 찾을 수 없습니다.
407 프록시 인증 요청 — 클라이언트는 먼저 프록시를 사용하여 자신을 인증해야 합니다.
415 지원되지 않는 미디어 유형 — 요청한 엔터티의 형식이 지원되지 않기 때문에 서버가 요청 서비스를 거부했습니다.
서버의 5XX 오류
500 내부 오류 - 예상치 못한 상황으로 인해 서버가 요청을 완료할 수 없습니다.
501 실행되지 않음 — 서버가 요청한 도구를 지원하지 않습니다.
502 잘못된 게이트웨이 — 서버가 업스트림 서버로부터 잘못된 응답을 받았습니다.
503 사용할 수 없음 — 일시적인 과부하 또는 유지 관리로 인해 서버가 요청을 처리할 수 없습니다.
504 Gateway Timeout
게이트웨이나 프록시 역할을 하는 서버가 요청을 실행하려고 할 때 업스트림 서버(HTTP, FTP, LDAP 등 URI로 식별되는 서버)로부터 제때에 요청을 수신하지 못합니다. ) 또는 보조 서버(예: DNS) 응답.
참고: 일부 프록시 서버는 DNS 쿼리 시간이 초과되면 400 또는 500 오류를 반환합니다.
505 HTTP 버전은 지원되지 않습니다
서버가 요청에 사용된 HTTP 버전을 지원하지 않거나 지원을 거부합니다. . 이는 서버가 클라이언트와 동일한 버전을 사용할 수 없거나 사용할 의사가 없음을 의미합니다. 응답에는 버전이 지원되지 않는 이유와 서버가 지원하는 프로토콜을 설명하는 엔터티가 포함되어야 합니다.
506 변형도 협상합니다
투명한 콘텐츠 협상 프로토콜(RFC 2295)에 의해 확장되었으며 내부 서버 구성 오류를 나타냅니다. 요청된 협상 변수 리소스는 투명한 콘텐츠 협상에서 자신을 사용하도록 구성되었으므로 협상된 프로세스는 다음과 같습니다. 적절한 초점이 아닙니다.
507 저장 공간 부족
서버가 요청을 완료하는 데 필요한 콘텐츠를 저장할 수 없습니다. 이 상태는 일시적인 것으로 간주됩니다. WebDAV(RFC 4918)
508 루프 감지
서버가 요청에서 무한 루프를 발견했습니다
509 대역폭 제한 초과
서버가 대역폭 제한에 도달했습니다. 이는 공식적인 상태 코드는 아니지만 여전히 널리 사용됩니다.
510 확장되지 않음
자원 확보에 필요한 전략이 충족되지 않습니다. (RFC 2774)
저작권 설명: 이 기사는 블로거의 원본 기사이므로 블로거의 허가 없이 복제할 수 없습니다.
위 내용은 PHP에서 출력되는 http 상태 코드와 관련 내용을 포함하여 일반적인 상태 코드를 소개하고 있으며, PHP 튜토리얼에 관심이 있는 친구들에게 도움이 되기를 바랍니다.