HTTP Method와 Status Code

이일우·2023년 3월 29일

공부하기

목록 보기
22/42

작은 리액트 프로젝트로 서버와 통신하거나 Open API를 사용할 때, 여러 에러코드를 받곤 합니다.
대충만 알고 넘어갔던 에러코드와 그 근본이 되는 HTTP Method에 대해 알아가려 한다.

HTTP Method란

HTTP Method는 RESTful API를 구현할 때 중요한 역할을 하며, 클라이언트가 서버에 요청을 보낼때 사용되는 동작을 의미합니다.
이 때 클라이언트란 일반적으로 웹 브라우저, 모바일 앱, 해당 프로그램 등 사용자 인터페이스를 가집니다.
HTTP Method를 쉽게 말하자면 사용자(브라우저)가 서버에게 수행하길 원하는 행위(동작)을 지정한다. 라고 생각하면 좋을 것 같습니다.

HTTP Method 종류

Method설명
GETCRUD: Read
서버로부터 리소스(HTML, TEXT, 이미지, 동영상 등)를 요청할 때 사용합니다.
POSTCRUD: Update
서버에 데이터를 전송할 때 사용합니다.
form 데이터(input)를 서버로 전송하거나, 파일 업로드 등에 사용됩니다.
PUTCRUD: Create
서버에 데이터를 업데이트(수정)할 때 사용합니다.
요청 본문에 업데이트할 데이터를 담아서 서버로 전송합니다.
DELETECRUD: Delete
서버에서 데이터를 삭제할 때 사용합니다.
요청 본문에 삭제할 데이터를 담아서 서버로 전송합니다.
PATCH서버에 부분적인 업데이트를 요청할 때 사용합니다.
PUT과 비슷하지만, PUT은 전체 데이터를 업데이트하고, PATCH는 일부 데이터만 업데이트합니다.
HEAD요청한 리소스에 대한 메타 정보만을 요청합니다.
GET과 유사하지만, HEAD는 응답 본문(Body)이 없습니다.
OPTIONS서버에서 제공하는 리소스에 대한 옵션 정보를 요청할 때 사용합니다.

Status Code

Status Code란 위의 HTTP Method를 사용하여 서버에 요청을 보낸 경우 응답 결과를 나타나는 3자리 숫자 코드입니다. 클라이언트가 서버에 요청을 보내면, 서버는 해당 요청에 대한 처리 결과를 상태 코드와 함께 응답합니다. 이 상태 코드를 통해 요청의 성공, 실패, 어떤 이유로 실패했는지를 알 수 있습니다.

주요 Status Code

스테이터스 코드는 앞자리 (100번대 자릿수)에 따라 대략적인 요청에 대한 처리 결과를 알 수 있습니다. 또한 사용자들에게 많이 나타나는 주요 Status Code도 알아보려 합니다.

  • 1xx (Informational): 요청이 수신되어 처리 중인 상태

  • 2xx (Successful): 요청이 성공적으로 처리된 상태

    • 200 OK: 요청이 성공적으로 처리되었음
    • 201 Created: 요청이 성공적으로 처리되어 새로운 리소스가 생성되었음
    • 204 No Content: 요청이 성공적으로 처리되었지만, 응답 내용이 없음
  • 3xx (Redirection): 추가 조치가 필요한 상태

  • 4xx (Client Error): 클라이언트의 잘못된 요청으로 인한 상태

    • 400 Bad Request: 클라이언트가 보낸 요청이 잘못되어 서버가 처리할 수 없음
    • 401 Unauthorized: 클라이언트가 보낸 요청에 대한 인증이 필요하며, 인증되지 않았음
    • 403 Forbidden: 클라이언트가 보낸 요청에 대한 인가가 거부되었음
    • 404 Not Found: 클라이언트가 요청한 리소스가 서버에 존재하지 않음
    • 405 Method Not Allowed: 클라이언트가 요청한 HTTP Method가 허용되지 않음
  • 5xx (Server Error): 서버의 오류로 인한 상태

    • 500 Internal Server Error: 서버 내부 오류로 인해 요청 처리에 실패했음
    • 501 Not Implemented: 서버가 클라이언트가 요청한 HTTP Method를 지원하지 않음
    • 502 Bad Gateway: 게이트웨이나 프록시 서버가 요청을 처리하는 동안 오류가 발생했음
    • 503 Service Unavailable: 서버가 일시적으로 사용 불가능한 상태임
    • 504 Gateway Timeout: 게이트웨이나 프록시 서버가 요청을 처리하는 동안 타임아웃이 발생함
    • 505 HTTP Version Not Supported: 클라이언트가 요청한 HTTP 버전을 서버가 지원하지 않음

마치며

이러한 HTTP Method나 Status Code를 알아두고 나면 왜 오류가 일어났는지에 대해 쉽게 알아챌 수 있습니다. 또한 클라이언트가 잘못 된 정보를 요청 할 경우, 오류 페이지를 만드는 경우에도 도움이 됩니다.

참고자료 출처

https://developer.mozilla.org/en-US/docs/Web/HTTP/Methods
https://developer.mozilla.org/en-US/docs/Web/HTTP/Status

0개의 댓글