반응형
HTTP 상태 코드
모든 HTTP 응답 코드는 5개의 종류로 구분됩니다.
상태 코드의 첫 번째 숫자는 응답의 클래스를 정의합니다. 그러나 마지막 두 자리는 클래스나 분류 역할을 하지 않습니다.
첫 자리에 대한 5가지의 분류는 다음과 같습니다.
1xx | (정보) 요청을 받았으며 프로세스를 계속합니다. |
---|---|
2xx | (성공) 요청을 성공적으로 받았으며 확인했고 수용했습니다. |
3xx | (리다이렉션) 요청 완료를 위해 추가 작업 조치가 필요합니다. |
4xx | (클라이언트 오류) 요청의 문법이 잘못되었거나 요청을 처리할 수 없습니다.. |
5xx | (서버 오류) 서버가 명백히 유효한 요청에 대해 충족한 응답에 실패했습니다.. |
- 아래에서 2xx, 3xx, 4xx, 5xx 의 응답코드를 찾아볼 수 있습니다.
2xx (성공)
이 클래스의 상태 코드는 클라이언트가 요청한 동작을 수신하여 이해했고 승낙했으며 성공적으로 처리했음을 의미합니다.
- 200 : 서버가 요청을 제대로 처리했다는 뜻입니다. 이는 주로 서버가 요청한 페이지를 제공했다는 의미로 쓰입니다.
- 201 : 성공적으로 요청되었으며 서버가 새 리소스를 작성했습니다.
- 202 : 서버가 요청을 접수했지만 아직 처리는 하지 않은 상태입니다.
- 203 : 서버가 요청을 성공적으로 처리했지만, 다른 소스에서 수신된 정보를 제공하고 있습니다.
- 204 : 서버가 요청을 성공적으로 처리했지만 콘텐츠를 제공하지 않습니다.
- 205 : 서버가 요청을 성공적으로 처리했지만 콘텐츠를 표시하지 않습니다. 204 응답과는 다르게 205 는 요청자가 문서 보기를 재설정할 것을 요구합니다. ( ex) 새 입력을 위한 양식 비우기 )
- 206 : 서버가 GET 요청의 일부분만 성공적으로 처리했습니다.
- 207 : 다중상태
- 208 : 이미 보고됨
3xx (리다이렉션 완료)
클라이언트는 요청을 마치기 위해 추가동작을 취해야 합니다.
- 300 : 서버가 요청에 따라 여러 조치를 선택할 수 있습니다. 서버가 사용자 에이전트에 따라 수행할 작업을 선택하거나, 요첮아가 선택할 수 있는 작업 목록을 제공합니다.
- 301 : 요청한 페이지를 새 위치로 영구적으로 이동했습니다. GET 또는 HEAD 요청에 대한 응답으로 이 응답을 표시하면 요청자가 자동으로 새 위치로 전달됩니다.
- 302 : 현재 서버가 다른 위치의 페이지로 요청에 응답하고 있지만 요청자는 향후 요청 시 원래 위치를 계속 사용해야 합니다.
- 303 : 요청자가 다른 위치에 별도의 GET 요청을 하여 응답을 검색할 경우 서버는 이 코드를 표시합니다. HEAD 요청 이외의 모든 요청을 다른 위치로 자동으로 전달합니다.
- 304 : 마지막 요청 이후 요청한 페이지는 수정되지 않았습니다. 서버가 이 응답을 표시하면 페이지의 콘텐츠를 표시하지 않습니다. 요청자가 마지막으로 페이지를 요청한 후 페이지가 변경되지 않으면 이 응답을 표시하도록 서버를 구성해야 합니다.
- 305 : 요청자는 프록시를 사용하여 요청한 페이지만 엑세스할 수 있습니다. 서버가 이 응답을 표시하면 요청자가 사용할 프록시를 가리키는 것이기도 합니다.
- 307 : 임시 리다이렉션, 현재 서버가 다른 위치의 페이지로 요청에 응답하고 있지만 요청자는 향후 요청 시 원래 위치를 계속 사용해야 합니다.
- 308 : 영구 리다이렉션
4xx (요청 오류) 프론트엔드 잘못
4xx 클래스의 상태 코드는 클라이언트에 오류가 있음을 나타냅니다.
- 400 : 서버가 요청의 구문을 인식하지 못했습니다.
- 401 : 이 요청은 인증이 필요합니다. 서버는 로그인이 필요한 페이지에 대해 이 요청을 제공할 수 있습니다.
상태 코드 이름이 권한 없음 (Unauthorized)으로 되어있지만 실제 뜻은 인증 안됨 (Unauthenticated)에 가깝습니다. - 402 : 이 요청을 결제가 필요합니다.
- 403 : 서버가 요청을 거부하고 있습니다. ( 예 : 사용자가 리소스에 대한 필요 권한을 가지고 있지 않습니다.)
401은 인증 실패, 403은 인가 실패라고 볼 수 있습니다. - 404 : 서버가 요청한 페이지를 찾을 수 없습니다.
서버에 존재하지 않는 페이지에 대한 요청이 있을 경우 서버는 이 코드를 제공합니다. - 405 : 요청에 지정된 방법을 사용할 수 없습니다.
예를 들어 POST 방식으로 요청을 받는 서버에 GET 요청을 보내는 경우, 또는 읽기 전용 리소스에 PUT 요청을 보내는 경우에 이 형식의 응답코드가 나옵니다. - 406 : 요청한 페이지가 요청한 콘텐츠 특성으로 응답할 수 없습니다.
- 407 : 이 상태 코드는 401 과 비슷하지만 요청자가 프록시를 사용하여 인증해야합니다. 서버가 이 응답을 표시하면 요청자가 사용할 프록시를 가리키는 것이기도 합니다.
- 408 : 서버의 요청 대기가 시간을 초과했습니다.
- 409 : 서버가 요청을 수행하는 중에 충돌이 발생했습니다.
서버는 응답할 때 충돌에 대한 정보를 포함해야 합니다. - 410 : 서버는 요청한 리소스가 영구적으로 삭제되었을 때 이 응답을 표시합니다.
- 411 : 서버는 유효한 콘텐츠 길이 헤더 입력란 없이는 요청을 수락하지 않습니다.
- 412 : 서버가 요청자가 요청 시 부과한 사전조건을 만족하지 않습니다.
- 413 : 요청이 너무 커서 서버가 처리할 수 없습니다.
- 414 : 요청 URI 가 너무 길어 서버가 처리할 수 없습니다.
- 415 : 요청이 요청한 페이지에서 지원하지 않는 형식으로 되어 있다.
- 416 : 요청이 페이지에서 처리할 수 없는 범위에 해당되는 경우 서버는 이 상태 코드를 표시한다.
- 417 : 서버는 Expect 요청 헤더 입력란의 요구사항을 만족할 수 없다.
- 444 : 응답이 없습니다 (Nginx)
- 449 : 다시 시도하세요 (Microsoft)
- 450 : window 자녀보호에 의해 차단되었습니다. (Microsoft)
- 451 : 법적인 이유로 이용이 불가합니다.
- 497 : HTTP to HTTPS (Nginx)
5xx (서버 오류) 백엔드 잘못
서버가 유효한 요청을 명백하게 수행하지 못했음을 나타냅니다.
- 500 : 서버에 오류가 발생해 요청을 수행할 수 없습니다.
- 501 : 서버에 요청을 수행할 수 있는 기능이 없습니다.
예를 들어 서버가 요청 메소드를 인식하지 못할 때 이 코드가 표시됩니다. - 502 : 서버가 게이트웨이나 프록시 역할을 하고 있거나 업스트림 서버에서 잘못된 응답을 받았습니다.
- 503 : 서버가 오버로드되었거나 유지관리를 위해 다운되었기 때문에 현재 서버를 사용할 수 없습니다. 이는 대개 일시적인 상태입니다.
- 504 : 서버가 게이트웨이나 프록시 역할을 하고 있거나 또는 업스트림 서버에서 제때 요청을 받지 못했습니다.
- 505 : 서버가 요청에 사용된 HTTP 프로토콜 버전을 사용하지 않습니다.
- 520 : 알 수 없는 에러입니다.
참고문서 : 위키백과-HTTP상태코드
반응형
'Study > Web' 카테고리의 다른 글
Discourse 커뮤니티 사용에 대해 (0) | 2024.06.14 |
---|---|
개발자가 추천하는 Chat-GPT 이용 방법 (0) | 2024.06.01 |
댓글