🔍 HTTP 상태코드란?
- 웹 서버가 클라이언트의 요청에 대한 결과를 알려주는 데 사용되는 코드
- 100~500번대까지 상태 코드가 정의되어있다.
- 상태 코드는 세 자리 숫자로 되어 있는데 첫 번째 숫자는 HTTP 응답의 종류를 구분하는 데 사용하며 나머지 2개의 숫자는 세부적인 응답 내용 구분을 위한 번호.
- 5가지로 분류해서 사용된다.
- 임시 응답으로 현재 클라이언트의 요청까지는 처리되었으니 계속 진행하라는 의미. HTTP 1.1 버전부터 추가되었다.
- 거의 사용하지 않는다.
💡 2XX: Success(성공)
- 클라이언트의 요청이 서버에서 성공적으로 처리되었다는 의미.
상태코드 | 상태 | 뜻 | 의미 |
---|
200 | OK | 성공 | 서버가 요청을 성공적으로 처리하였다. |
201 | Created | 생성됨 | 요청이 처리되어서 새로운 리소스가 생성되었다. |
202 | Accepted | 허용됨 | 요청은 접수하였지만, 처리가 완료되지 않았다. |
204 | No Content | 콘텐츠 없음 | 처리를 성공하였지만, 클라이언트에게 돌려줄 콘텐츠가 없다. |
💡 3XX: Redirection(리다이렉션)
- 완전한 처리를 위해서 추가 동작이 필요한 경우. 주로 서버의 주소 또는 요청한 URI의 웹 문서가 이동되었으니 그 주소로 다시 시도하라는 의미.
상태코드 | 상태 | 뜻 | 의미 |
---|
301 | Moved Permanently | 영구 이동 | 지정한 리소스가 새로운 URI로 이동하였다. |
302 | Found | 다른 위치 찾음 | 요청한 리소스를 다른 URI에서 찾았다. |
303 | See Other | 다른 위치 보기 | 다른 위치로 요청하라. |
304 | Not Modified | 수정되지 않음 | 마지막 요청 이후 요청한 페이지는 수정되지 않았다. |
307 | Temporary Redirect | 임시 리다이렉션 | 임시로 리다이렉션 요청이 필요하다. |
💡 4XX: Client Error(클라이언트 에러)
- 없는 페이지를 요청하는 등 클라이언트의 요청 메시지 내용이 잘못된 경우를 의미.
상태코드 | 상태 | 뜻 | 의미 |
---|
400 | Bad Request | 잘못된 요청 | 요청의 구문이 잘못되었다. |
401 | Unauthorized | 권한 없음 | 지정한 리소스에 대한 액세스 권한이 없다. |
403 | Forbidden | 금지됨 | 지정한 리소스에 대한 액세스가 금지되었다. |
404 | Not Found | 찾을 수 없음 | 지정한 리소스를 찾을 수 없다. |
💡 5XX: Server Error(서버 에러)
서버 사정으로 메시지 처리에 문제가 발생한 경우를 의미. 서버의 부하, DB 처리 과정 오류, 서버에서 익셉션이 발생하는 경우를 의미.
상태코드 | 상태 | 뜻 | 의미 |
---|
500 | Internal Server Error | 내부 서버 오류 | 서버에 에러가 발생하였다. |
501 | Not Implemented | 구현되지 않음 | 요청한 URI의 메소드에 대해 서버가 구현하고 있지 않다. |
502 | Bad Gateway | 불량 게이트웨이 | 게이트웨이 또는 프록시 역할을 하는 서버가 그 뒷단의 서버로부터 잘못된 응답을 받았다. |