Computer Science/Web

[Web] HTTP Request Methods & Status Code

dbssk 2023. 8. 1. 00:47

HTTP Request Methods

클라이언트가 웹서버에게 요청하는 목적 및 그 종류를 알리는 수단

종류

1. GET

  • 지정된 자원을 검색하는데 사용
  • 서버의 데이터를 변경하지 않음 (READ)

2. POST

  • 서버에 새로운 자원을 생성하도록 요청하는데 사용 (CREATE)
  • 일반적으로 클라이언트에서 서버로 데이터를 보낼 때 사용

3. PUT

  • 지정된 자원의 전체 내용을 업데이트하는데 사용 (UPDATE)
  • 만약 지정된 자원이 없다면 새로운 자원을 생성
  • 기존 데이터를 갱신할 때 사용

4. DELETE

  • 지정된 자원을 삭제하는데 사용 (DELETE)
  • 보통 클라이언트에서 서버 리소스를 삭제하도록 하진 않아서 비활성화로 구성

5. HEAD

  • GET과 동일한 응답을 요구하지만, 응답 본문(body)을 포함하지 않는다.
  • 주로 리소스의 메타데이터를 검색하거나, URL의 유효성을 검사하거나, 서버의 성능을 측정하기 위해 사

6. CONNECT

  • 클라이언트와 서버 사이의 중간 경유를 위함
  • 보통 Proxy를 통해 SSL통신을 하고자할 때 사용됨

7. OPTIONS

  • 서버 측 제공 메소드에 대한 질의를 하기 위함
  • 서버 측에서 지원하고 있는 메소드가 무엇인지를 알기 위해 사용

8. TRACE

  • Request 리소스가 수신되는 경로를 보기 위함
  • 서버로부터 받은 내용을 확인하기 위해 loop-back 테스트를 할 때 사용

9. PATCH

  • 지정된 자원의 부분적인 변경을 적용하는데 사용
  • PUT과 달리 자원의 전체 내용을 제공하지 않고 변경할 부분만 제공

 

HTTP Status Code

서버가 클라이언트의 요청에 어떻게 응답했는지를 나타내는 코드

종류

1. 1XX (정보 응답)

  • 정보 확인 용도로 사용

2. 2XX (성공 응답)

  • 200(OK) : 요청 성공 (GET)
  • 201(Create) : 생성 성공 (POST)
  • 202(Accept) : 요청 접수O, 리소스 처리X
  • 203(No Contents) : 요청 성공O, 내용 없음

3. 3XX(리다이렉트)

  • 300(Multiple Choice) : 요청 url에 여러 리소스가 존재함
  • 301(Move Permanently) : 요청 url에 새 위치로 옮겨감
  • 304(Not Modified) : 요청 url의 내용이 변경X

4. 4XX(클라이언트 오류)

  • 400(Bad Request) : API에서 정의되지 않은 요청 들어옴
  • 401(Unauthorized) : 인증되지 않은 사용자
  • 403(Forbidden) : 인증은 됐으나, 리소스 접근이 불가한 사용자
  • 404(Not Found) : 요청 url에 대한 리소스 존재X
  • 405(Method Not Allowed) : API에서 정의되지 않은 메소드 호출
  • 406(Not Acceptable) : 처리 불가
  • 408(Request Timeout) : 요청 대기 시간 초과
  • 409(Conflict) : 모순
  • 429(Too Many Request) : 요청 횟수 상한 초과

5. 5XX(서버 오류)

  • 500(Internal Server Error) : 서버 내부 오류
  • 502(Bad Gateway) : 게이트웨이 오류
  • 503(Service Unavailable) :서비스 이용 불가
  • 504(Gateway Timeout) :게이트웨이 시간 초과

 

[참고] https://gyoogle.dev/blog/web-knowledge/HTTP%20Request%20Methods.html