Skip to content

HTTP Method

kimahhh edited this page Jul 18, 2023 · 1 revision

HTTP Method: 클라이언트가 서버에게 수행하길 원하는 동작

참조: https://developer.mozilla.org/ko/docs/Web/HTTP/Methods/GET

HTTP Request

**GET** /docs/index.html HTTP/1.1
Host: localhost:8080
Accept: image/gif, image/jpeg, **/**
Accept-Language: en-us
Accept-Encoding: gzip, deflate
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)
(blank line)

GET

  • 주로 정보를 조회하기 위해 사용
  • 서버의 데이터나 상태를 변경하지 않아야 함(멱등성)
  • 웹 브라우저의 주소창이나, HTML에서 링크를 클릭할 때, 폼 데이터를 조회할 때 사용

POST

  • 서버에 데이터를 제출하기 위해 사용 → 새로운 자원 생성
  • 폼 데이터를 포함하는 요청을 보냄
  • 서버의 상태를 변경하는 비멱등성 동작

PUT

  • 클라이언트가 특정 리소스의 전체 내용을 업데이트 하기 위해 사용
  • 멱등성 → 동일한 요청을 여러 번 보내도 서버의 상태는 첫 요청 이후 변경되지 않음

DELETE

  • 서버의 특정 리소스를 삭제하기 위해 사용
  • 멱등성

PATCH

  • 리소스의 일부를 업데이트 하기 위해 사용
  • 리소스에 적용할 변경사항과 함께 요청을 보냄

HEAD

  • GET과 비슷 but 응답 본문을 반환하지 않음
  • 리소스의 헤더 정보만을 가져옴

OPTIONS

  • 웹 서버에서 지원하는 메소드의 종류를 반환
  • 클라이언트가 리소스와 상호작용하는 방법을 결정하는 데 사용

CONNECT

  • 네트워크에서 사용
  • 클라이언트가 웹 서버에 대한 네트워크 연결을 설정하거나 변경하는 데 사용

TRACE

  • 요청 메시지를 서버에서 반사하여 클라이언트에게 반환
  • 진단 또는 테스팅 목적으로 사용
  GET POST PUT DELETE PATCH HEAD OPTIONS CONNECT TRACE
요청에 본문 존재 NO YES YES MAY YES NO NO NO NO
성공 응답에 본문 존재 YES YES NO MAY YES NO YES YES NO
안전함 YES NO NO NO NO YES YES NO YES
멱등성 YES NO YES YES NO YES YES NO YES
캐시 가능 YES - NO NO NO YES NO NO NO
HTML 양식에서 사용 가능 YES YES NO NO NO NO NO NO NO