Spring_SpringBoot/Error

HTTP 서버 응답 코드(Response Code) 정리

한번은하자 2024. 6. 10. 21:23

이 글은 mybatis와 springboot를 연동하려고 할 때 304에러가 나면서 정리를 하면서 서버 응답 코드를 다 정리하는 것이다.

 

기본적인 틀은 다음과 같다.

 

● 1XX(정보) : Reqeust를 받고 있고, 처리 중에 있다.

● 2XX(성공) : Request를 정상적으로 처리했다.

● 3XX(Redirection) : 리퀘스트 완료를 위해 추가 동작이 필요하다.

● 4XX(Client Error) : 클라이언트 요청을 처리할 수 없어 오류 발생

● 5XX(Server Error) : 서버에서 처리를 하지 못하여 오류 발생

 

1) 200 번대 응답

- 200(OK) : 요청 정상처리

- 204(No Content) : 요청 정상 처리하였지만, 돌려줄 리소스가 없다.

- 206(Partial Content) : Range가 지정된 요청인 경우, 지정된 범위만큼의 요청을 받았다는 것을 알려줌

 

2) 300 번대 응답

 - 301(Moved Permantly) : 요청된 리소스에는 새로운 URI가 지정되어 있기 때문에, 이후로는 새 URI를 사용해야 한다는 것을 나타낸다.

 - 302(Found) : 요청된 리소스에는 새로운 URI가 지정되어 있기 때문에, 이후로는 새 URI를 사용해야 한다는 것을

                         의미한다.

                         → 301과 유사하지만, 302는 일시적인 URI 이동이다.

 - 303(See Other) : 이 응답은 요청에 대한 리소스는 다른 URI에 있기 때문에 GET메서드를 사용해서 얻어야 한다는 것을 나타냄. 302 코드와 같지만, 303은 리다이렉션 위치를 GET메소드를 통해 얻어야 한다고 명확하게 되어 있다.

 - 304(Not Modified) : 요청한 리소스가 마지막 요청 이후 변경된 적이 없기 때문에 기존 클라이언트의 로컬 캐시

                                   리소스를 사용하도록 알려줌

 - 307(Temporary Redirect) : 임시 페이지를 리다이렉트 함

 

3) 400 번대 응답(Response) : 클라이언트 에러 (Client Error)

 - 400(Bad Reqeust) : 클라이언트의 요청 구문이 잘못됨. ex) parameter 잘못됨 

 - 401(Unauthorized) : 요청 처리를 위해 HTTP 인증 정보가 필요함을 알려줌.

 - 403(Forbidden) : 접근 금지 응답

 - 404(Not Found) : 클라이언트가 요청한 리소스가 서버에 없음.

 - 405(Method Not Allowed) : 허용되지 않는 HTTP 메서드를 사용함.

 

4) 500번대 응답(Response) : 서버 에러 (Server Error)

 - 500(Internal Server Error) : 서버에서 클라이언트 요청을 처리 중에 에러가 발생함.

 - 503(Service Unavailable) : 서버가 일시적으로 요청을 처리할 수 없음, 서버가 과부하 상태이거나 점검중이므로

                                              요청을 처리할 수 없음을 알려줌

 - 504(Gateway Timeout) : 서버를 통하는 게이트웨이에 문제가 발생하여 시간이 초과됨.

 - 505(HTTP Version Not Supported) : 해당 HTTP 버전에서는 지원되지 않는 요청임을 알려줌

 

→ 빨간색이 내가 겪었던 에러이다. 더 많은 에러를 만나서 익숙해지자..