본문 바로가기
카테고리 없음

HTTP 상태 코드

by 샤샤샤샤 2023. 9. 6.

상태코드는 1XX번대, 2XX번대, 3XX번대, 4XX번대, 5XX번대로 나눠져 있다.

이중 100번대 코드는 정상작동중임을 알리는 코드이며 거의 사용하지 않는다.

 

주요 상태 코드는 아래오 같다.

- 200번대 (정상)

그룹 코드 상수 설명
성공 응답 200 OK 요청이 정상적으로 완료됨
201 Created 요청이 성공적이었으며 그 결과로 새로운 리소스가 생성됨.
응답 HTTP메시지에 location: {리소스 생성 위치} 를 헤더에 추가한다.
202 Accepted 요청을 정상적으로 수신했으나 당장 실행할수 없음.
예) 접수 뒤 한시간뒤 프로세스가 실행되도록 설계됨
  204 No Content 요청을 성공적으로 수행했으나, 응답 페이로드에 담을 데이터가 없음

 

-300번대 (리다이렉션 - 요청을 완료하기 위해 클라이언트의 추가 작업 필요)

그룹 코드 상수 설명
리다이렉션 메세지



300 Multiple Choice 요청에 대해 하나 이상의 응답이 가능하다는 의미입니다.
거의 안씀
304 Not Modified 캐시를 목적으로 사용.
클라이언트에게 리소스가 변경되지 않았음을 알린다. 클라이언트는 캐시 재사용.
메시지 바디를 포함하면 안된다.
조건부 GET/ HEAD 요청시 사용.
301 Moved Permanently 요청 리소스가 영구적으로 변경됨.
응답 HTTP 메시지에 location: {변경된 위치} 를 추가한다.
브라우져에서 알아서 변경된 위치로 리다이렉션 실행.
리다이렉션 실행시 GET요청으로 변하거나 본문이 제거될수도 있음
302 Fount 요청 리소스가 일시적으로 변경됨.
301과 기능이 같음
303 See Other 요청 리소스가 일시적으로 변경됨.
302와 기능은 같음
리다이렉션시 반드시 요청 메서드가 GET으로 바뀜(본문 유지).
307 Temporary Redirect 요청 리소스가 일시적으로 변경됨.
302와 기능은 같음
리다렉션시 요청 메서드와 본문이 유지된다.
308 Permanent Redirect 요청 리소스가 영구적으로 변경됨.
301과 기능이 같음.
리다렉션시 요청 메서드와 본문이 유지됨.

PRG : POST/REDIRECTION/GET (일시적인 리다이렉션)

post 요청이 300번대 응답의 리다이렉션을 거쳐 get요청으로 변하는 현상.

상품 주문 후 페이지 이동같은 로직에 사용됨.

 

- 400번대 (클라이언트 오류)

그룹 코드 상수 설명
클라이언트 오류 응답 400 Bad Request 이 응답은 잘못된 문법으로 인해 서버가 요청을 이해할 수 없다는 의미.
요청 메서드나 파라미터가 맞지 않을때 발생.
401 Unauthorized 인증되지 않음.
예) 로그인이 안됨
403 Forbidden 클라이언트가 콘텐츠에 접근할 권리가 없음.
예) 일반 사용자가 관리자 페이지 접근
404 Not Fount 서버는 요청 받은 리소스를 찾을 수 없다는 의미.

 

-500번대 (서버 오류)

그룹 코드 상수 설명
서버 오류 응답 500 Internal Server Error 처리할 수 없는 내부 오류가 발생했다는 의미
501 Not Implemented 요청 메서드는 서버가 지원하지 않거나 처리할 수 없다는 의미
503 Service Unavailable 일시적으로 서비스를 이용할수 없다는 의미.
Retry-After 헤더 필드로 얼마뒤에 복구되는지 보낼 수도 있음