- HTTP 상태 코드란?
- HTTP 상태 코드
- 마치며
개발을 하다보면 많이 접하게 되는 것이 바로 HTTP 상태 코드입니다.
협업을 하게 되면 이에 대해 잘 정리하고 가는 것 또한 중요하기에 포스팅을 작성하게 되었습니다.
HTTP(HyperText Transfer Protocol)
는 W3 상에서 정보를 주고 받을 수 있는 프로토콜로w3 : 웹 표준과 가이드라인을 제공하는 조직입니다.
번호대 | 규칙 | 설명 |
---|---|---|
1XX | 정보 | 요청을 받았으며 프로세스를 계속 진행합니다. |
2XX | 성공 | 요청을 성공적으로 처리하였습니다. |
3XX | 리다이렉션 | 요청 완료를 위한 추가 작업이 필요합니다. |
4XX | 클라이언트 에러 | 요청의 방식이 잘못되었거나 요청을 처리할 수 없습니다. |
5XX | 서버 에러 | 서버 오류로 처리할 수 없습니다. |
상태 코드가 '1'로 시작되는 경우 서버가 요청을 받았으며 프로세스를 계속 진행해도 된다는 의미입니다.
해당 코드는 HTTP 1.0에서 지원하지 않습니다.
실무에서 잘 사용하지는 않는 코드입니다.
번호 | 의미 | 설명 |
---|---|---|
100 | Continue | 진행 중임을 의미하는 응답코드입니다. 클라이언트가 계속해서 요청하거나 이미 요청을 완료한 경우에는 무시해도 되는 것을 의미합니다. |
101 | Switching Protocol | 클라이언트가 보낸 Upgrade 요청 헤더에 대한 응답이 들어가며, 서버에서 프로토콜을 변경할 것임을 알려줍니다. 해당 코드는 Websocket 프로토콜 전환 시에 사용됩니다. |
102 | Processing(WebDAV) | 서버가 요청을 수신하였으며 이를 처리하고 있지만, 아직 제대로 된 응답을 줄 수 없는 것을 의미합니다. |
번호 | 의미 | 설명 |
---|---|---|
200 | OK | 성공하였고 정보에 따른 응답을 반환합니다. |
201 | Created | 성공적이었고 새로운 리소스가 생성되었습니다. 보통 POST 요청입니다. |
204 | No Content | 성공했으나 응답 데이터가 없습니다. |
205 | Reset Content | 성공했으나 클라이언트 일부 화면을 새로고침하도록 요청합니다. |
206 | Partial Conent | 성공했으나 일부 데이터만 반환됩니다. |
번호 | 의미 | 설명 |
---|---|---|
301 | Moved Permanently | 요청한 리소스의 URL이 변경되었음을 의미합니다. |
303 | See Other | 클라이언트가 요청한 리소스를 다른 URL에서 GET 요청을 통해 얻어야 할때, 서버가 클라이언트로 보내는 응답입니다. |
304 | Not Modified | 응답이 수정되지 않았음을 알려주며, 캐시된 데이터를 사용하라는 의미입니다. |
번호 | 의미 | 설명 |
---|---|---|
400 | Bad Request | 이 응답은 잘못된 문법으로 인하여 서버가 요청하여 이해할 수 없음을 의미합니다. |
401 | Unauthorized | 비록 HTTP 표준에서는 '미승인(unauthorized)'를 명확히 하고 있지만, 의미상 이 응답은 '비인증(unauthenticated)'를 의미합니다. 클라이언트는 요청한 응답을 받기 위해서는 반드시 스스로를 인증해야 합니다. |
403 | Forbidden | 클라이언트는 콘텐츠에 접근할 권리를 가지고 있지 않습니다. |
404 | Not Found | 서버는 요청받은 리소스를 찾을 수 없습니다. 브라우저에서는 알려지지 않은 URL을 의미합니다 |
405 | Method Not Allowed | 요청한 메소드는 서버에서 알고 있지만, 제거되었고 사용할 수 없습니다. 필수적인 메소드인 GET과 HEAD는 제거될 수 없으며, 이 에러 코드를 리턴할 수 없습니다. |
406 | Not Acceptable | 사용자 에이전트에서 정해준 규격에 따른 어떠한 콘텐츠도 찾지 않았을 때, 웹서버가 보냅니다. |
상태코드가 '5'로 시작될 경우 대부분 서버 쪽에서 에러가 난 경우입니다.
5XX 에러의 경우는 절대 사용자들에게 노출되어서는 안됩니다.
번호 | 의미 | 설명 |
---|---|---|
500 | Internal Server Error | 웹 사이트 서버에 문제가 있음을 의미하지만 서버는 정확한 문제에 대해 더 구체적으로 설명할 수 없습니다. |
501 | Not Implemented | 서버가 요청을 이행하는 데 필요한 기능을 지원하지 않음을 나타냅니다. |
502 | Bad Gateway | 서버가 게이트웨이로부터 잘못된 응답을 수신했음을 의미합니다. 인터넷상의 서버가 다른 서버로부터 유효하지 않은 응답을 받은 경우 발생합니다. |
503 | Service Unavailable | 서버가 요청을 처리할 준비가 되지 않았습니다. 일반적인 원인은 유지보수를 위해 작동이 중단되거나 과부하가 걸린 서버입니다. |
504 | Gateway Timeout | 웹페이지를 로드하거나 브라우저에서 다른 요청을 채우려는 동안 한 서버가 액세스하고 있는 다른 서버에서 적시에 응답을 받지 못했음을 의미합니다. |
506 | Variant Also Negotiates | 서버에 내부 구성 오류가 있는 경우 발생합니다. |
가장 많이 쓰는 status는 200,201,400,401,403,406정도 같습니다.
필수적으로 알아두면 좋은 status에 대한 설명이었습니다. 틀린 점이 있으시면 알려주시면 감사하겠습니다.