>  기사  >  웹 프론트엔드  >  HTTP 상태 코드 및 정의(설명)_기본 지식

HTTP 상태 코드 및 정의(설명)_기본 지식

WBOY
WBOY원래의
2016-05-16 19:19:522012검색

최근에는 Ajax 요청 상태나 서버 측 도메인 간 요청 상태에 대해 자주 걱정합니다. 이제 다음 기사를 저장하십시오.

우리가 일반적으로 웹을 탐색할 때 일부 파일이 존재하지 않을 때 "404 오류"로 표시되는 것을 볼 수도 있습니다. 이것이 일반적인 Http 요청 상태(상태)입니다.

웹 서버가 브라우저에 응답하거나 다른 클라이언트 프로그램에서 요청하는 경우 응답은 일반적으로 상태 줄, 여러 응답 헤더, 빈 줄, 콘텐츠 문서 등의 부분으로 구성됩니다. 다음은 가장 간단한 응답입니다.

상태 줄에는 HTTP 버전, 상태 코드 및 상태 코드에 해당하는 간략한 설명이 포함됩니다. 대부분의 경우 Content-Type을 제외한 모든 응답 헤더는 선택 사항입니다. 그러나 Content-Type은 필수이며 후속 문서의 MIME 유형을 설명합니다. 대부분의 응답에는 문서가 포함되어 있지만 일부에는 포함되지 않습니다. 예를 들어 HEAD 요청에 대한 응답에는 문서가 포함되지 않습니다. 실제로 실패한 요청을 식별하는 상태 코드가 많이 있으며 이러한 응답에도 문서가 포함되어 있지 않습니다(또는 간단한 오류 메시지만 포함되어 있음).

사용자가 HTTP를 통해 IIS(인터넷 정보 서비스)를 실행하는 서버의 콘텐츠에 액세스하려고 하면 IIS는 요청 상태를 나타내는 숫자 코드를 반환합니다. 상태 코드는 특정 요청이 성공했는지 여부를 나타낼 수 있으며 요청이 실패한 정확한 이유를 나타낼 수도 있습니다.

1xx - 정보 프롬프트

이 상태 코드는 임시 응답을 나타냅니다. 클라이언트는 일반 응답을 받기 전에 하나 이상의 1xx 응답을 받을 준비를 해야 합니다.
· 100 - 계속 초기 요청이 수락되었으며 클라이언트는 요청의 나머지 부분을 계속해서 보내야 합니다. (HTTP 1.1의 새로운 기능)
· 101 - Switching Protocols 서버는 클라이언트의 요청을 따르고 다른 프로토콜로 변환합니다. (HTTP 1.1의 새로운 기능)

2xx - 성공

이 유형 상태 코드는 서버가 클라이언트 요청을 성공적으로 수락했음을 나타냅니다.
· 200 - OK 모든 것이 정상이며 GET 및 POST 요청에 대한 응답 문서가 따릅니다.
· 201 - 생성됨 서버가 문서를 생성했으며 위치 헤더는 해당 URL을 제공합니다.
· 202 - 수락 요청이 수락되었지만 아직 처리가 완료되지 않았습니다.
· 203 - Non-Authoritative Information 문서는 정상적으로 반환되었으나, 문서의 복사본, 비신뢰 정보(HTTP 1.1의 새로운 기능)가 사용되었기 때문에 일부 응답 헤더가 올바르지 않을 수 있습니다.
· 204 - 콘텐츠 없음 새 문서가 없으므로 브라우저는 원본 문서를 계속 표시해야 합니다. 이 상태 코드는 사용자가 페이지를 정기적으로 새로 고치고 서블릿이 사용자의 문서가 충분히 최신인지 확인할 수 있는 경우 유용합니다.
· 205 - 콘텐츠 재설정 새 콘텐츠는 없지만 브라우저가 표시하는 콘텐츠를 재설정해야 합니다. 브라우저가 양식 입력 콘텐츠를 강제로 지우는 데 사용됩니다(HTTP 1.1의 새로운 기능).
· 206 - 부분 콘텐츠 클라이언트가 Range 헤더와 함께 GET 요청을 보냈고 서버가 이를 완료했습니다(HTTP 1.1의 새로운 기능).

3xx - 리디렉션

클라이언트 브라우저는 요청을 이행하기 위해 추가 작업을 수행해야 합니다. 예를 들어, 브라우저는 서버에서 다른 페이지를 요청하거나 프록시 서버를 통해 요청을 반복해야 할 수 있습니다.
· 300 - 다중 선택 고객이 요청한 문서는 여러 위치에서 찾을 수 있으며 이러한 위치는 반환된 문서에 나열되어 있습니다. 서버가 기본 설정을 제안하려는 경우 위치 응답 헤더에 이를 표시해야 합니다.
· 301 - 영구적으로 이동됨 클라이언트가 요청한 문서가 다른 곳에 있습니다. 새 URL은 Location 헤더에 제공되며 브라우저는 자동으로 새 URL에 액세스해야 합니다.
· 302 - 301과 유사하지만 새 URL은 영구 URL이 아닌 임시 대체 URL로 간주되어야 합니다. HTTP 1.0의 해당 상태 정보는 "임시 이동됨"입니다.이 상태 코드가 발생하면 브라우저는 자동으로 새 URL에 액세스할 수 있으므로 유용한 상태 코드입니다. 이 상태 코드는 때때로 301과 같은 의미로 사용될 수 있습니다. 예를 들어, 브라우저가 http://host/~user(후행 슬래시 누락)를 잘못 요청하는 경우 일부 서버는 301을 반환하고 일부 서버는 302를 반환합니다. 엄밀히 말하면 원래 요청이 GET인 경우에만 브라우저가 자동으로 리디렉션된다고 가정할 수 있습니다. 307을 참조하십시오.
· 303 - 원래 요청이 POST인 경우 Location 헤더에 지정된 리디렉션 대상 문서를 GET(HTTP 1.1의 새로운 기능)을 통해 가져와야 한다는 점을 제외하면 301/302와 유사한 기타 항목을 참조하세요.
· 304 - 수정되지 않음 클라이언트가 버퍼링된 문서를 가지고 있고 조건부 요청을 발행했습니다(일반적으로 클라이언트가 지정된 날짜보다 최신 문서만 원한다는 것을 나타내는 If-Modified-Since 헤더 제공). 서버는 원래 버퍼링된 문서를 계속 사용할 수 있음을 클라이언트에게 알립니다.
· 305 - 프록시 사용 클라이언트가 요청한 문서는 Location 헤더(HTTP 1.1의 새로운 기능)에 지정된 프록시 서버를 통해 검색되어야 합니다.
· 307 - 임시 리디렉션은 302(찾음)와 동일합니다. 많은 브라우저는 원래 요청이 POST였더라도 실제로는 POST 요청에 대한 응답이 303인 경우에만 리디렉션할 수 있지만 302 응답으로 잘못 리디렉션합니다. 이러한 이유로 HTTP 1.1은 여러 상태 코드를 보다 명확하게 구분하기 위해 307을 추가했습니다. 303 응답이 발생하면 브라우저는 리디렉션된 GET 및 POST 요청을 따를 수 있고, 307 응답인 경우 브라우저는 GET 요청의 리디렉션만 따를 수 있습니다. (HTTP 1.1의 새로운 기능)

4xx - 클라이언트 오류

오류가 발생하여 클라이언트에 문제가 있는 것 같습니다. 예를 들어, 클라이언트가 존재하지 않는 페이지를 요청하는데 클라이언트가 유효한 인증 정보를 제공하지 않습니다.

· 400 - 잘못된 요청 요청에 구문 오류가 발생했습니다.

· 401 - 무단 액세스가 거부되었습니다. 고객이 승인 없이 비밀번호로 보호된 페이지에 액세스하려고 했습니다. 응답에는 WWW-Authenticate 헤더가 포함되며 브라우저는 이에 따라 사용자 이름/비밀번호 대화 상자를 표시한 다음 적절한 Authorization 헤더를 입력한 후 다시 요청합니다. IIS는 오류의 보다 구체적인 원인을 나타내는 다양한 401 오류를 정의합니다. 이러한 특정 오류 코드는 브라우저에 표시되지만 IIS 로그에는 표시되지 않습니다.
· 401.1 - 로그인 실패.
· 401.2 - 서버 구성으로 인해 로그인이 실패했습니다.
· 401.3 - 리소스에 대한 ACL 제한으로 인해 승인되지 않았습니다.
· 401.4 - 필터 인증에 실패했습니다.
· 401.5 - ISAPI/CGI 애플리케이션 인증에 실패했습니다.
· 401.7 – 웹 서버의 URL 인증 정책에 의해 액세스가 거부되었습니다. 이 오류 코드는 IIS 6.0에만 해당됩니다.

· 403 - 금지된 리소스를 사용할 수 없습니다. 서버는 클라이언트의 요청을 이해하지만 처리를 거부합니다. 일반적으로 서버의 파일이나 디렉터리에 대한 권한 설정으로 인해 발생합니다. 금지됨: IIS는 보다 구체적인 오류 원인을 나타내는 다양한 403 오류를 정의합니다.
· 403.1 - 실행 액세스가 금지됩니다.
· 403.2 - 읽기 접근이 금지되어 있습니다.
· 403.3 - 쓰기 접근이 금지되었습니다.
· 403.4 - SSL이 필요합니다.
· 403.5 - SSL 128이 필요합니다.
· 403.6 - IP 주소가 거부되었습니다.
· 403.7 - 클라이언트 인증서가 필요합니다.
· 403.8 - 사이트 접근이 거부되었습니다.
· 403.9 - 사용자가 너무 많습니다.
· 403.10 - 구성이 잘못되었습니다.
· 403.11 - 비밀번호 변경.
· 403.12 - 매핑 테이블에 대한 액세스가 거부되었습니다.
· 403.13 - 클라이언트 인증서가 취소되었습니다.
· 403.14 - 디렉토리 목록을 거부합니다.
· 403.15 - 클라이언트 액세스 권한이 초과되었습니다.
· 403.16 - 클라이언트 인증서가 신뢰할 수 없거나 유효하지 않습니다.
· 403.17 - 클라이언트 인증서가 만료되었거나 아직 유효하지 않습니다.
· 403.18 - 요청한 URL은 현재 응용 프로그램 풀에서 실행할 수 없습니다. 이 오류 코드는 IIS 6.0에만 해당됩니다.
· 403.19 - 이 응용 프로그램 풀에서는 클라이언트에 대해 CGI를 수행할 수 없습니다. 이 오류 코드는 IIS 6.0에만 해당됩니다.
· 403.20 - 여권 로그인에 실패했습니다. 이 오류 코드는 IIS 6.0에만 해당됩니다.

· 404 - Not Found 지정된 위치의 리소스를 찾을 수 없습니다. 이것도 일반적인 반응이다.
· 404.0 - (없음) – 파일 또는 디렉터리를 찾을 수 없습니다.
· 404.1 - 요청한 포트에서 웹사이트에 접근할 수 없습니다.
· 404.2 - 이 요청은 웹 서비스 확장 잠금 정책에 의해 차단됩니다.
· 404.3 - MIME 매핑 정책이 이 요청을 차단합니다.

· 405 - 허용되지 않는 메소드 요청 메소드(GET, POST, HEAD, 삭제, PUT, TRACE 등)가 지정된 리소스에 적용 가능하지 않으며 이 페이지에 액세스하는 데 사용된 HTTP 동사가 허용되지 않습니다. 허용됨(이 방법은 허용되지 않음) (HTTP 1.1의 새로운 기능)
· 406 - 허용되지 않음 지정된 리소스를 찾았지만 해당 MIME 유형이 클라이언트 브라우저의 Accpet 헤더에 지정된 것과 호환되지 않습니다. 요청된 페이지의 MIME 유형을 허용하지 않습니다(HTTP 1.1의 새로운 기능).
· 407 - 프록시 인증 필요 401과 유사한 프록시 인증이 필요합니다. 이는 클라이언트가 먼저 프록시 서버의 승인을 받아야 함을 나타냅니다. (HTTP 1.1의 새로운 기능)
· 408 - Request Timeout 서버가 허용하는 대기 시간 동안 클라이언트가 요청을 보내지 않았습니다. 클라이언트는 나중에 동일한 요청을 반복할 수 있습니다. (HTTP 1.1의 새로운 기능)
· 409 - 충돌 일반적으로 PUT 요청과 관련됩니다. 리소스의 현재 상태와 충돌하기 때문에 요청이 성공할 수 없습니다. (HTTP 1.1의 새로운 기능)
· 410 - Gone 요청한 문서를 더 이상 사용할 수 없으며 서버는 어떤 주소로 리디렉션할지 모릅니다. 404와 차이점은 407을 반환하면 문서가 지정된 위치를 영구적으로 떠났다는 의미이고, 404는 알 수 없는 이유로 문서를 사용할 수 없음을 의미한다는 것입니다. (HTTP 1.1의 새로운 기능)
· 411 - 길이 필수 클라이언트가 Content-Length 헤더를 보내지 않으면 서버는 요청을 처리할 수 없습니다. (HTTP 1.1의 새로운 기능)
· 412 - 전제 조건 실패 요청 헤더에 지정된 일부 전제 조건이 실패했습니다(HTTP 1.1의 새로운 기능).
· 413 – 요청 엔터티가 너무 큼 대상 문서의 크기가 서버가 현재 처리할 수 있는 크기를 초과합니다. 서버가 나중에 요청을 처리할 수 있다고 생각하면 Retry-After 헤더(HTTP 1.1의 새로운 기능)를 제공해야 합니다.
· 414 - 요청 URI가 너무 김 URI가 너무 깁니다(HTTP 1.1의 새로운 기능).
· 415 – 지원되지 않는 미디어 유형입니다.
· 416 – 요청된 범위가 만족되지 않음 서버가 요청에서 클라이언트가 지정한 Range 헤더를 충족할 수 없습니다. (HTTP 1.1의 새로운 기능)
· 417 – 실행에 실패했습니다.
· 423 – 잠금 오류.

5xx - 서버 오류

서버에 오류가 발생하여 요청을 완료할 수 없습니다.

· 500 - 내부 서버 오류 서버에 예상치 못한 상황이 발생하여 클라이언트의 요청을 완료할 수 없습니다.

· 500.12 - 웹 서버에서 애플리케이션을 다시 시작하는 중입니다.
· 500.13 - 웹 서버 사용량이 너무 많습니다.
· 500.15 - Global.asa에 대한 직접 요청은 허용되지 않습니다.
· 500.16 – UNC 인증 자격 증명이 올바르지 않습니다. 이 오류 코드는 IIS 6.0에만 해당됩니다.
· 500.18 – URL 인증 저장소를 열 수 없습니다. 이 오류 코드는 IIS 6.0에만 해당됩니다.
· 500.100 - 내부 ASP 오류입니다.

· 501 - 구현되지 않음 서버가 요청을 구현하는 데 필요한 기능을 지원하지 않으며 헤더 값이 구현되지 않은 구성을 지정합니다. 예를 들어, 클라이언트는 서버가 지원하지 않는 PUT 요청을 합니다.

· 502 - Bad Gateway 서버가 게이트웨이 또는 프록시 역할을 할 때 요청을 완료하기 위해 다음 서버에 접속하지만 서버가 잘못된 응답을 반환합니다. 또한 웹 서버가 게이트웨이나 프록시 서버 역할을 할 때 잘못된 응답을 받았다고 합니다.

· 502.1 - CGI 애플리케이션 시간이 초과되었습니다.
· 502.2 - CGI 응용 프로그램 오류.

· 503 - Service Unavailable 서비스를 사용할 수 없습니다. 유지보수 또는 과부하로 인해 서버가 응답하지 못했습니다. 예를 들어 데이터베이스 연결 풀이 가득 차면 서블릿이 503을 반환할 수 있습니다. 서버는 503을 반환할 때 Retry-After 헤더를 제공할 수 있습니다. 이 오류 코드는 IIS 6.0에만 해당됩니다.

· 504 - 게이트웨이 시간 초과 프록시 또는 게이트웨이 역할을 하는 서버에서 사용되는 게이트웨이 시간 초과는 원격 서버에서 적시에 응답을 얻을 수 없음을 나타냅니다. (HTTP 1.1의 새로운 기능)

· 505 - HTTP 버전이 지원되지 않음 서버가 요청에 지정된 HTTP 버전을 지원하지 않습니다. (HTTP 1.1의 새로운 기능)

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.