프론트엔드/HTTP

http status code

테오구 2021. 12. 3. 20:57
728x90

자주 사용되는 Status Code만 정리해 보았다.

 

100단위 : Information responses(요청을 받았으며 프로세스를 계속 진행합니다.)

1로 시작하는 경우 서버가 요청을 받았으며 서버에 연결된 클라이언트는 작업을 계속진행한다는 의미 합니다 해당 코드는 HTTP 1.0에서 지원되지 않습니다.

 

100단위: Information responses 요청을 받았으며 프로세스를 계속 진행합니다.

100 Continue

진행 중임을 의미하는 응답코드입니다. 현재까지의 진행상태에 문제가 없으며, 클라이언트가 계속해서 요청을 하거나 이미 요청을 완료한 경우에는 무시해도 되는 것을 알려줍니다.

102 Processing(WebDAV)

이 응답 코드는 서버가 요청을 수신하였으며 이를 처리하고 있지만, 아직 제대로 된 응답을 알려줄 수 없음을 알려줍니다.

 

200단위: successful response 요청을 성공적으로 받았으며 인식했고 수용하였습니다.
200 OK 요청이 성공적으로 되었습니다. 정보는 요청에 따른 응답으로 반환됩니다.
201 Created 요청이 성공적이었으며 그 결과로 새로운 리소스가 생성되었습니다. 이 응답은 일반적으로 POST 요청 또는 일부 PUT 요청 이후에 따라옵니다.
204 No Content 요청에 대해서 보내줄 수 있는 콘텐츠가 없지만, 헤더는 의미있을 수 있습니다. 사용자-에이전트는 리소스가 캐시된 헤더를 새로운 것으로 업데이트 할 수 있습니다.

200 OK

요청이 성공적으로 되었습니다. 성공의 의미는 HTTP 메소드에 따라 달라집니다:

GET: 리소스를 불러와서 메시지 바디에 전송되었습니다.
HEAD: 개체 해더가 메시지 바디에 있습니다.
PUT 또는 POST: 수행 결과에 대한 리소스가 메시지 바디에 전송되었습니다.
TRACE: 메시지 바디는 서버에서 수신한 요청 메시지를 포함하고 있습니다.

 

300단위: Redirection messages 요청 완료를 위해 추가 작업 조치가 필요합니다.
301 Moved Permanently 이 응답 코드는 요청한 리소스의 URI가 변경되었음을 의미합니다. 새로운 URI가 응답에서 아마도 주어질 수 있습니다.
302 Found 이 응답 코드는 요청한 리소스의 URI가 일시적으로 변경되었음을 의미합니다. 새롭게 변경된 URI는 나중에 만들어질 수 있습니다. 그러므로, 클라이언트는 향후의 요청도 반드시 동일한 URI로 해야합니다.
303 See Other(get에서만 사용가능) 클라이언트가 요청한 리소스를 다른 URI에서 GET 요청을 통해 얻어야 할 때, 서버가 클라이언트로 직접 보내는 응답입니다.
307 Temporary Redirect 클라이언트가 post에 한해서만 다른 곳으로 옮겨갔다면 307을 나타냄 만약 첫 요청에 POST가 사용되었다면, 두번째 요청도 반드시 POST를 사용해야 합니다.
308 Permanent Redirect 이것은 리소스가 이제 HTTP 응답 헤더의 Location: 에 명시된 영구히 다른 URI에 위치하고 있음을 의미합니다. 이것은 301 Moved Permanently HTTP 응답 코드와 동일한  의미를 가지고 있으며, 사용자 에이전트가 반드시 HTTP 메소드를 변경하지 말아야 하는 점만 다릅니다: 만약 첫 요청에 POST가 사용되었다면, 두번째 요청도 반드시 POST를 사용해야 합니다.

 

400단위(클라이언트 오류) 요청의 문법이 잘못되었거나 요청을 처리할 수 없습니다.
400(Bad Request) 말 그대로 클라이언트의 request가 유효하지 않은 상태를 의미합니다.
401(Unauthorized) (해당 데이터는 로그인한 사람만 볼 수 있을 때) 클라이언트가 권한이 없어 작업을 진행하지 못할때입니다. 이 요청은 인증이 필요합니다. 보통 서버는 로그인이 필요한 페이지에 대해 이 요청을 제공할 수 있습니다. 
403(Forbidden) (권한이 없을 때 사용) 서버가 요청을 거부할 때 입니다. 예를 들어 사용자가 리소스에 대한 필요 권한을 가지고 있지 않을 때를 의미합니다. 
404(Not Found) (요청한 페이지(resource)를 찾지 못했을 때) 서버가 요청한 페이지(resource)를 찾지 못했을 때입니다. 서버에 존재하지 않는 페이지에 대한 요구를 할 때 다음과 같은 status code가 반환됩니다.
405(Method Not Allowed) 클라이언트의 요청이 허용되지 않은 메서드인 경우입니다. (예를 들어 POST 방식으로만 request가 가능한데 이를 지키지 않고 GET으로 보냈을 때)
409(Conflict) 서버가 요청을 수행하는 중에 충돌이 발생했을 때 입니다.
500단위(Server errors) 서버 오류로 인해 requet를 수행할 수 없음을 알려주는 status code입니다.
500(Internal Server Error) 서버에 오류가 발생하여 요청을 수행할 수 없을 경우
502(Bad Gateway) 서버가 게이트웨이나 프록시 역할을 하고 있는 업스트림 서버에서 잘못된 응답을 받았을 경우
503(Service Unacailable) 일시적인 과부하나 서비스 중단 상태(임시 조건에 사용되어야 하며, Retry-After: HTTP 헤더는 가능하면 서비스를 복구하기 전 예상 시간을 포함해야 함)

https://developer.mozilla.org/ko/docs/Web/HTTP/Status

 

 

 

HTTP 상태 코드 - HTTP | MDN

HTTP 응답 상태 코드는 특정 HTTP 요청이 성공적으로 완료되었는지 알려줍니다. 응답은 5개의 그룹으로 나누어집니다: 정보를 제공하는 응답, 성공적인 응답, 리다이렉트, 클라이언트 에러, 그리고

developer.mozilla.org

 

GET을 요청을 했을 경우

잘 되었을 때는 200을 보내주고 잘되지 못한 경우에는 경우에 따라 401, 403, 404, 405를 보내줍니다.

 

POST를 요청을 했을 경우

잘 되었을 때는 201을 보내주고 잘되지 못한 경우에는 경우에 따라 401, 403, 404, 409를 보내줍니다.

 

PUT, DELETE, PATCH를 요청을 했을 경우

잘 되었을 때는 200, 204을 보내주고 잘되지 못한 경우에는 경우에 따라 403, 404, 405를 보내줍니다.

 

HEAD, OPTIONS, TRACE를 요청을 했을 경우

잘 되었을 때는 200을 보내주고 잘되지 못한 경우에는 경우에 따라 401, 403, 404, 405를 보내줍니다.

728x90

'프론트엔드 > HTTP' 카테고리의 다른 글

http status code  (0) 2022.06.14
HTTP 정보는 HTTP 메시지에 있다.  (0) 2022.06.14
axios  (0) 2021.11.22
HTTP 요청 매서드  (0) 2021.10.25
Message States Server REST API  (0) 2021.10.19