Blog

[Spring]38 HTTP 상태코드에 대한 정리

Category
Author
Tags
PinOnMain
1 more property
1XX Informational
1xx 번대의 상태 코드들은 요청이 수신되어 처리 중이라는 의미를 가진다.
다만 협업에서도 잘 사용되지 않는 상태코드이기 때문에 깊게 다루어 지지는 않는다.
2XX Success
2xx 번대의 상태 코드들은 요청이 정상적으로 처리되었다는 의미를 가진다.
단순히 요청에 대한 성공을 나타내지만, 클라이언트가 어떠한 행위에 대한 성공인지에 대한 것을 나타내기 때문에, 응답을 받고 클라이언트가 취할 행위를 결정하는데 중요하면서도 정말 자주 보게될 상태 코드일 것이다.
3XX Redirection
3xx 번대의 상태 코드들은 리다이렉션을 의미하며, 이는 요청을 완료하려면 추가적인 작업이 필요함을 의미한다.
클라이언트가 관심 있어 하는 리소스에 대해 다른 위치를 사용하라고 말해주거나 그 리소스의 내용 대신 다른 대안 응답을 제공한다.
리다이렉션(Redirection)은 클라이언트가 요청한 URL에 대해 다른 URL을 다시(re) 지시(direct)하여 다른 주소로 이동할 수 있게 하는 기술이다. HTTP 에 사용되는 리다이렉션은 크게 3가지 종류로 나눌 수 있다.
영구 리다이렉션(Permanent) : 특정 리소스의 URL 이 영구적으로 이동
일시 리다이렉션(Temporary) : 특정 리소스의 URL 이 일시적으로 이동
특수 리다이렉션(Special) : 캐시를 활용할 것인지에 대한 여부
4XX Client Error
4xx 번대의 상태 코드들은 클라이언트 오류를 의미하며, 잘못된 문법 등의 오류로 인해 서버가 요청을 수행할 수 없고 그 원인이 클라이언트에게 있음을 뜻한다. 잘못 구성된 요청 메세지 같은 것이 있을 수 있으며, 존재하지 않은 URL 요청도 있을 수 있다.
5XX Server Error
5xx 번대의 상태 코드들은 서버 오류를 의미하며, 400 번대와 동일하게 오류로 인한 요청 처리 실패를 의미하지만 원인이 서버에게 있음을 뜻한다.
4XX 상태코드와 5XX 상태코드 모두 오류를 반환하는 응답 코드이지만, 4XX는 클라이언트의 요청에 문제가 있는 것이기에 요청 메세지를 검토하여 수정한 뒤 재전송하면 해결이 가능하지만, 5XX 는 서버에 문제가 있는 것이기 때문에 서버 자체의 상태를 보아야 하는 차이가 있다.