YJ의 새벽

HTTP 상태 코드 ( 에러코드 ) 본문

Spring/HTTP 웹 기본지식

HTTP 상태 코드 ( 에러코드 )

YJDawn 2023. 4. 8. 01:18

 

  • 상태 코드

--클라이언트가 보낸 요청의 처리 상태를 응답에서 알려주는 기능

-- 1xx  ( Infromational ) : 요청이 수신되어 처리중      *거의 사용 x 

 

-- 2xx  ( Successful )  :  요청 정상 처리

-- 3xx  ( Redirection ) : 요청을 완료하려면 추가 행동이 필요

-- 4xx  ( Client Error ) : 클라이언트 오류, 잘못된 문법등으로 서버가 요청을 수행할수 없음

-- 5xx  ( Server Error ) : 서버 오류 , 서버가 정상 요청을 처리하지 못함.

 

 

 

  •  2 xx    - Successful   요청정상처리

-- 200  OK

-- 201  Created

-- 202  Accepted

-- 204  No Content

 

 

 

202 Accepted     --   요청이 접수되었으나 처리가 완료되지 않았음.

                           -- 배치 처리 같은곳에서 사용

                           -- ex) 요청 접수 후 1시간 뒤에 배치 프로세스가 요청을 처리함

204 No Content  --  서버가 요청을 성공적으로 수행했지만 , 응답 페이로드 본문에 보낼 데이터가 없음.

                           --  save 버튼의 결과로 아무 내용이 없어도 된다.

                           --  save 버튼을 눌러도 같은 화면을 유지해야 한다.

                           --  결과 내용이 없어도 204 메시지 (2xx) 만으로 성공을 인식할수 있다. 

 

 

 

 

 

 

 

 

 

 

  •  3 xx    - Redirection  요청을 완료하기위해 유저 에이전트의 추가 조치 필요

 3xx 응답 결과에 Location 헤더가 있으면 , Location 위치로 자동 이동

-- 300  Multiple Choices

-- 301  Moved Permanently

-- 302  Found

-- 303  See Other

-- 304  Not Modified

-- 307  Temporary Redirect

-- 308  Permanent Redirect

 

 

영구 리다이렉션

-- 301,  308 

-- 리소스의 URI 가 영구적으로 이동

-- 원래의 URL 사용 X 

-- 301   :   리다이렉트시 요청 메서드가 GET 으로 변하고, 본문이 제거될 수 있음.

-- 308   :   301 기능은 같음,  

                 리다이렉트시 요청 메서드와 본문유지  ( POST <-> POST )

 

 

일시적인 리다이렉션

-- 302,  307  , 303

-- 리소스의 URI 가 일시적으로 변경

-- 302  :   리다이렉트시 요청 메서드가 GET 으로 변하고, 본문이 제거될 수 있음.   --> GET 으로 변할수 있음

-- 307  :   302 와 기능은 같음.                                          --> 메서드가 변하면 안됨

                리다이렉트시 요청 메서드와 본문유지 

-- 303  :  302 와 기능은 같음                                            --> 메서드가 GET 으로 변경

                리다이렉트시 요청 메서드가 GET 으로 변경

 

 

 

 

 

 

  •  4 xx    - Client Error   클라이언트의 요청에 잘못된 문법등으로 서버가 요청을 수행할 수 없음

-- 오류의 원인이 클라이언트에 있음.

-- 똑같은 재시도가 계속 실패 .  클라이언트가 잘못된 요청이기에 .

-- 400  Bad Request 

    --요청구문, 메시지 등등 오류

    --클라이언트는 요청 내용을 다시 검토하고, 보내야함

    --ex) 요청 파라미터가 잘못되거나 , API 스펙이 맞지 않을때 .

-- 401  Unauthorized   

    --클라이언트가 해당 리소스에 대한 인증이 필요함

    --인증되지 않음

    --인증 : 본인이 누구인지 확인(로그인)

    --인가 : 권한부여 

 -- 403 Forbidden

    --서버가 요청을 이해했지만 승인을 거부함.

    --ex) 어드민 등급이 아닌 사용자가 로그인은 했지만 , 등급이 아니라서 접근이 안됨

 -- 404  Not Found

    --요청 리소스가 서버에 없음

    --클라이언트가 권한이 부족한 리소스에 접근할때, 해당리소스를 숨기고싶을때.

 

 

 

 

 

  •  5 xx    - Server Error   서버오류

-- 서버 문제로 오류 발생

-- 서버 문제가 있기에 재시도 하면 성공할 수도 있음. !! 

-- 500 Internal Server Error 

    --서버 문제로 오류 발생, 애매하면 500 오류

-- 503 Service Unavailable

    --서비스 이용 불가

    --서버가 일시적인 과부하 또는 예정된 작업으로 잠시 요청을 처리할수 없음.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

모든 개발자를 위한 HTTP 웹 기본 지식 - 인프런 | 강의

실무에 꼭 필요한 HTTP 핵심 기능과 올바른 HTTP API 설계 방법을 학습합니다., - 강의 소개 | 인프런

www.inflearn.com

 

'Spring > HTTP 웹 기본지식' 카테고리의 다른 글

HTTP 헤더 ( 캐시 )  (0) 2023.04.10
HTTP 헤더  (0) 2023.04.09
HTTP API 설계  (0) 2023.04.07
HTTP 메서드 활용  (0) 2023.04.07
HTTP 메서드 속성 ( 안전, 멱등, 캐시가능 )  (0) 2023.04.07
Comments