일반적인 HTTP 상태 코드

6635 단어
첫째, 성공한 상태 코드: 1) 200 OK – 서버가 웹 페이지로 되돌아갔습니다. 2) 304 Not Modified – 수정되지 않았습니다. 둘째,실패한 상태 코드: 3) 404 Not Found – 요청한 웹 페이지가 존재하지 않음 4) 503 Service Unavailable – 서버를 일시적으로 사용할 수 없음 5) 500 Internal Server Error – 서버 내부 오류 아래에 자주 사용되지 않습니다. 위의 몇 개를 기억하면 ok,버그가 있으면 다음 상태 코드를 추가합니다. 1xx(임시 응답)는 임시 응답을 표시하고 요청자가 작업을 수행해야 계속 진행할 수 있는 상태 코드입니다.100(Continue 계속) 요청자는 계속 요청해야 합니다.서버가 이 코드를 되돌려준다는 것은 서버가 요청의 첫 번째 부분을 받았고 나머지 부분을 받기를 기다리고 있다는 것을 의미합니다.(HTTP 1.1 신규) 101(Switching Protocols 전환 프로토콜) 요청자가 서버 전환 프로토콜을 요청했고 서버가 확인 및 전환 준비를 마쳤습니다.(HTTP 1.1 신규) 2xx(성공)는 서버가 요청한 상태 코드를 성공적으로 처리했음을 나타냅니다.200(성공) 서버가 요청을 성공적으로 처리했습니다.일반적으로 이것은 서버가 요청한 웹 페이지를 제공했음을 나타낸다.201(생성됨) 요청이 성공했고 서버에 새 자원이 생성되었습니다.202(수락됨) 서버가 요청을 수락했지만 처리되지 않았습니다.203(비인증 정보) 서버가 요청을 성공적으로 처리했지만 다른 출처에서 온 정보를 되돌려줍니다.204(컨텐트 없음) 서버가 요청을 성공적으로 처리했지만 반환되지 않았습니다.205(콘텐츠 재설정) 서버가 요청을 성공적으로 처리했지만 반환되지 않았습니다.204 응답과 달리 이 응답은 요청자에게 문서 보기를 재설정해야 합니다(예를 들어 양식 내용을 지우고 새 내용을 입력하는 것).206(일부 컨텐츠) 서버에서 GET 요청 일부가 성공적으로 처리되었습니다.3xx (리디렉션됨) 요청을 완료하려면 더 많은 작업이 필요합니다.통상적으로, 이 상태 코드들은 영원히 방향을 바꾼다.Google은 요청할 때마다 5개 미만의 리디렉션을 사용하도록 권장합니다.300 서버는 요청에 따라 다양한 작업을 수행할 수 있습니다.서버는 요청자(User agent)에 따라 작업을 선택하거나 요청자가 선택할 수 있는 작업 목록을 제공합니다.301(영구 이동) 요청한 페이지가 새 위치로 영구 이동되었습니다.서버가 이 응답(GET 또는 HEAD 요청에 대한 응답)을 반환하면 자동으로 요청자가 새 위치로 이동합니다.이 코드를 사용하여 Googlebot의 웹 페이지나 웹 사이트가 영구적으로 새 위치로 이동했음을 알려야 합니다.302 (임시 이동) 서버는 현재 서로 다른 위치의 웹 페이지에서 요청에 응답하고 있지만, 요청자는 계속 원래의 위치를 사용하여 이후의 요청을 해야 한다.이 코드는 GET 및 HEAD 요청에 응답하는 301 코드와 유사하며 자동으로 요청자를 다른 위치로 이동합니다.그러나 Googlebot은 원래 위치를 계속 캡처하여 색인에 넣기 때문에 이 코드를 사용하여 Googlebot의 페이지나 사이트가 이동했음을 알려서는 안 됩니다.303(기타 위치 보기) 요청자가 응답을 검색하기 위해 다른 위치에서 별도의 GET 요청을 해야 할 때 서버는 이 코드를 되돌려줍니다.HEAD 요청을 제외한 모든 요청의 경우 서버는 자동으로 다른 위치로 이동합니다.304 (수정되지 않음) 지난번 요청 이후 요청한 웹 페이지가 수정되지 않았습니다.서버가 이 응답을 되돌릴 때 웹 페이지의 내용을 되돌려 주지 않습니다.305 (프록시 사용) 요청자는 프록시 액세스 요청의 웹 페이지만 사용할 수 있습니다.만약 서버가 이 응답을 되돌려준다면, 서버는 요청자가 사용해야 할 에이전트를 가리킬 것입니다.307 (임시 리디렉션) 서버는 현재 서로 다른 위치의 웹 페이지에서 요청에 응답하고 있지만, 요청자는 계속 원래의 위치를 사용하여 이후의 요청을 진행해야 한다.이 코드는 GET 및 HEAD 요청에 응답하는 301 코드와 유사하며 자동으로 요청자를 다른 위치로 이동합니다.그러나 Googlebot은 원래 위치를 계속 캡처하여 색인에 넣기 때문에 이 코드를 사용하여 Googlebot의 페이지나 사이트가 이동했음을 알려서는 안 됩니다.4xx(요청 오류) 이 상태 코드는 요청이 잘못되었을 수도 있고 서버에서 요청을 처리하는 데 방해가 되었음을 나타냅니다.400 (오류 요청) 서버가 요청의 문법을 이해하지 못합니다.401(권한 없음) 인증 요청.로그인하면 서버에서 페이지에 대한 이 응답을 반환할 수 있습니다.403 서버에서 요청을 거부합니다.404 서버에서 요청한 웹 페이지를 찾을 수 없습니다.예를 들어 요청이 서버에 존재하지 않는 웹 페이지를 대상으로 한다면, 서버는 보통 이 코드를 되돌려줍니다.405 (메서드 비활성화) 요청에서 지정한 메서드를 비활성화합니다.406 (받아들여지지 않음) 요청의 내용 특성을 사용하여 요청에 응답할 수 없는 웹 페이지입니다.407 (에이전트 권한 부여 필요) 이 상태 코드는 401 (권한 부여 없음) 과 유사하지만 요청자가 에이전트를 사용하여 권한을 부여해야 한다고 지정합니다.만약 서버가 이 응답을 되돌려준다면, 서버는 요청자가 사용해야 할 에이전트를 가리킬 것입니다.408(요청 시간 초과) 서버가 요청 시간 초과를 기다립니다.409 (충돌) 서버가 요청을 완료할 때 충돌합니다.서버에는 응답에서 발생하는 충돌에 대한 정보가 포함되어야 합니다.서버는 이전 요청과 충돌하는 PUT 요청에 응답할 때 이 코드를 되돌려 주고 두 요청의 차이 목록을 제공할 수 있습니다.410(삭제됨) 요청한 자원이 영구적으로 삭제되면 서버가 응답으로 돌아갑니다.이 코드는 404 (찾을 수 없음) 코드와 유사하지만, 자원이 이전에 있었지만 지금은 존재하지 않는 상황에서 404 코드를 대체할 때도 있다.자원이 영구적으로 삭제되었다면, 301 코드를 사용하여 자원의 새 위치를 지정해야 합니다.411(유효한 길이 필요) 서버는 잘못된 내용 길이 헤더 필드를 포함하는 요청을 받아들일 수 없습니다.412 서버는 요청자가 요청에 설정한 전제 조건 중 하나를 충족하지 못합니다.413(요청 실체가 너무 큰) 서버는 요청을 처리할 수 없습니다. 요청 실체가 너무 커서 서버의 처리 능력을 초과했습니다.414(요청한 URI가 너무 길어) 요청한 URI(일반적으로 사이트 주소)가 너무 길어서 서버가 처리할 수 없습니다.415 (지원되지 않는 미디어 형식) 요청 형식은 요청 페이지에서 지원되지 않습니다.416 (요청 범위가 요구에 부합되지 않음) 요청이 웹 페이지의 잘못된 범위에 대한 것이라면 서버는 이 상태 코드를 되돌려줍니다.417(기대 충족되지 않음) 서버가 "기대 충족되지 않음"요청 헤더 필드의 요구 사항입니다.5xx(서버 오류) 이 상태 코드는 서버가 요청을 처리하려고 할 때 내부 오류가 발생했음을 나타냅니다.이러한 오류는 요청 오류가 아니라 서버 자체의 오류일 수 있습니다.500(서버 내부 오류) 서버에서 오류가 발생하여 요청을 완료할 수 없습니다.501(구현되지 않음) 서버는 요청을 완료할 수 없습니다.예를 들어 서버가 요청 방법을 식별할 수 없을 때 서버가 이 코드를 되돌릴 수 있습니다.502(오류 게이트웨이) 서버가 게이트웨이 또는 에이전트로 상위 서버에서 잘못된 응답을 받았습니다.503(서비스를 사용할 수 없음) 현재 서버를 사용할 수 없습니다(과부하 또는 가동 중지 유지보수로 인해).통상적으로 이것은 단지 일시적인 상태일 뿐이다.504(게이트웨이 시간 초과) 서버는 게이트웨이 또는 프록시로서 업스트림 서버에서 요청을 제때에 받지 못했습니다.505(HTTP 버전은 지원되지 않음) 서버는 요청에 사용된 HTTP 프로토콜 버전을 지원하지 않습니다. 
<?php
function header_status($statusCode) {
  static $status_codes = null;
  if ($status_codes === null) {
    $status_codes = array (
    100 => 'Continue',
    101 => 'Switching Protocols',
    102 => 'Processing',
    200 => 'OK',
    201 => 'Created',
    202 => 'Accepted',
    203 => 'Non-Authoritative Information',
    204 => 'No Content',
    205 => 'Reset Content',
    206 => 'Partial Content',
    207 => 'Multi-Status',
    300 => 'Multiple Choices',
    301 => 'Moved Permanently',
    302 => 'Found',
    303 => 'See Other',
    304 => 'Not Modified',
    305 => 'Use Proxy',
    307 => 'Temporary Redirect',
    400 => 'Bad Request',
    401 => 'Unauthorized',
    402 => 'Payment Required',
    403 => 'Forbidden',
    404 => 'Not Found',
    405 => 'Method Not Allowed',
    406 => 'Not Acceptable',
    407 => 'Proxy Authentication Required',
    408 => 'Request Timeout',
    409 => 'Conflict',
    410 => 'Gone',
    411 => 'Length Required',
    412 => 'Precondition Failed',
    413 => 'Request Entity Too Large',
    414 => 'Request-URI Too Long',
    415 => 'Unsupported Media Type',
    416 => 'Requested Range Not Satisfiable',
    417 => 'Expectation Failed',
    422 => 'Unprocessable Entity',
    423 => 'Locked',
    424 => 'Failed Dependency',
    426 => 'Upgrade Required',
    500 => 'Internal Server Error',
    501 => 'Not Implemented',
    502 => 'Bad Gateway',
    503 => 'Service Unavailable',
    504 => 'Gateway Timeout',
    505 => 'HTTP Version Not Supported',
    506 => 'Variant Also Negotiates',
    507 => 'Insufficient Storage',
    509 => 'Bandwidth Limit Exceeded',
    510 => 'Not Extended'
    );
  }
  if ($status_codes[$statusCode] !== null) {
    $status_string = $statusCode . ' ' . $status_codes[$statusCode];
    header($_SERVER['SERVER_PROTOCOL'] . ' ' . $status_string, true, $statusCode);
  }
}
header_status(500);

좋은 웹페이지 즐겨찾기