Status Code (상태 코드)
내가 알기 위해 작성한 상태 코드
작업하다 보면 알게되는 상태 코드들을 정리한 글입니다.🥹
각각의 상태 코드에 대응되는 상태 메시지가 존재한다. 모든 상태 코드 Status Code
는 그에 대응되는 상태 메시지를 갖고있다.
각 상태 코드의 의미를 모두 외우긴 힘들어 어느정도 상태 메시지를 기억하면 의미를 빠르게 파악하는데 도움을 줄 수 있다.
100번대
서버가 클라이언트에게 정보성 응답(Inforamtional response)을 줄 때 사용되는 상태 코드들이다.
- 100 Continue : 클라이언트가 서버에게 계속 리퀘스트(요청)를 보내도 괜찮은지 물어봤을 때, 계속 리퀘스트를 보내도 괜찮다고 알려주는 상태 코드
- 101 Switchinh Protocols : 클라이언트가 프로토콜을 바꾸자는 리퀘스트를 보냈을 때, 서버가 프로토콜로 전환하겠다라는 뜻을 나타날 때 쓰이는 상태 코드
200번대
클라이언트의 리퀘스트가 성공 처리되었음을 의미하는 상태 코드들이다.
- 200 OK : 리퀘스트가 성공적으로 처리되었음을 포괄적으로 의미하는 상태 코드이다.
GET
, PUT
,POST
등의 메서드들이 잘 처리가 되었다는 뜻이다.
- 201 Created : 리퀘스트의 내용대로 리소스가 잘 생성되었다는 뜻
POST
리퀘스트가 성공한 경우 200번 대신 201번이 올 수도 있다.
- 202 Accepted : 리퀘스트의 내용이 접수 되었고 당장 처리되는 것은 아니지만 언제든지 처리할 것이라는 뜻이다. 리퀘스트를 어느 정도 모아서 한번에 실행하는 서버인 경우 등에 이런 응답이 있다.
300번대
클라이언트의 리퀘스트가 아직 처리되지 않았고, 리퀘스트 처리를 원하면 클라이언트 측의 추가적인 작업이 필요함을 의미하는 상태 코드들이다.
- 301 Moved Permanently : 리소스의 위치가 바뀌었음을 나타낸다. 이런 상태 코드가 있는 리스폰스의
Header
에는 Location 이라는 헤더도 일반적으로 포함되어있는데 그 헤더의 값으로 리소스에 접근할 수 있는 새 URL이 담겨있따. 대부분의 브라우저는 만약 GET
리퀘스트를 보냈는데 이런 상태 코드가 담긴 리스폰스를 받게 되면 Location 헤더의 값을 읽고, 자동으로 새 URL에 다시 리퀘스르를 보내는 리다이렉션을 수행한다
- 302 Found : 리소스의 위치가 일시적을 바뀌었음을 나타낸다.
- 304 Not Modified : 브라우저들은 보통 한번 리스폰스로 받았던 이미지 같은 리소스들을 내부에 저장하고 있다.
400번대
리퀘스트를 보내는 클라이언트 쪽에 문제가 있음을 의미하는 상태 코드들이다.
- 400 Bad Request : 리퀘스트에 문제가 있음을 나타낸다. 리퀘스트 내부 내용의 문법에 오류가 존재하는 등의 이유로 인해 발생한다.
- 401 Unauthorized : 아직 신원이 확인되지 않은 사용자로부터 온 리퀘스트를 처리할 수 없다는 뜻
- 403 Forbidden : 사용자의 신원은 확인되었지만 해당 리소스에 대한 접근 권한이 없는 사용자라서 리퀘스트를 처리할 수 없다는 뜻
- 404 Not Found : 해당
URL
이 나타내는 리소스를 찾을 수 없다는 뜻
- 405 Method Not Allowed : 해당 리소스에 대해서 요구한 처리는 허용되지 않는다는 뜻
- 413 Payload Too Large : 리퀘스트의 바디에 들어있는 데이터의 용량이 지나치게 커서 서버가 거부한다는 뜻
- 429 Too Many Requests : 일정 시간 동안 클라이언트가 지나치게 많은 리퀘스트를 보냈다는 뜻
500 번대
서버쪽의 문제로 인해 리퀘스트를 정상적으로 처리할 수 없음을 의미하는 상태 코드들이다.
- 500 Internal Server Error : 현재 알 수 없는 서버 내의 에러로 인해 리퀘스트를 처리할 수 없다는 뜻
- 503 Service Unavailable : 현재 서버 점검 중이거나, 트래픽 폭주 등으로 인해 서비스를 제공할 수 없다는 뜻