본문 바로가기

프로그래밍/Web

HTTP 메서드

HTTP Method

클라이언트가 서버로 요청할 때 어떤 목적을 갖는 요청인지 메서드로 명시함

  • GET: 리소스 조회
  • POST: 입력데이터를 전송하여 등록
  • PUT: 리소스가 존재한다면 수정, 없으면 생성
  • PATCH: 리소스 부분 변경
  • DELETE: 리소스 삭제 요청
  • HEAD: GET과 같지만 본문없이 헤더만 반환
  • OPTIONS: 서버에 특정 리소스가 어떤 메서드를 지원하는지 확인 요청
  • TRACE: 클라이언트와 서버 사이의 모든 HTTP 요청을 따라가 메시지의 이상여부를 확인

GET

  • 리소스 조회에 사용
  • 전달하려는 데이터는 query string을 통해 전달
  • 메시지 바디를 사용할 수 있지만 지원하지 않는 곳이 많아서 권장하지 않음

POST

  • 메세지 바디를 통해 서버로 요청데이터 전달
  • 주로 신규 리소스 등록이나 프로세스 처리에 사용

PUT

  • 리소스를 완전히 대체(있으면 덮어쓰기, 없으면 생성)
  • 클라이언트가 리소스 위치를 알고 URI를 지정

PATCH

  • 리소스의 부분을 변경

DELETE

  • 리소스 제거

HTTP 메서드 속성

안전성(Safe Methods)

호출해도 리소스를 변경하지 않는다.

  • GET, HEAD

멱등성(Idempotent Methods)

한 번 호출하든 여러번 호출하든 결과가 같아야함.

  • GET: 조회는 항상 멱등
  • PUT: 완전히 대체하므로 멱등
  • DELETE: 같은 삭제호출을 여러번해도 삭제된 상태이므로 멱등
  • POST: 멱등하지 않음. 여러번 호출할 경우 리소스가 중복해서 생성될 수 있음.

캐시가능성(Cacheable Methods)

응답 결과를 캐시해서 사용해도 되는지에 대한 속성

  • GET, HEAD, POST, PATCH가 캐시 가능하지만 GET과 HEAD정도만 캐시로 사용

참고문서

https://www.inflearn.com/course/http-웹-네트워크/

'프로그래밍 > Web' 카테고리의 다른 글

RESTful API  (0) 2022.08.15
HTTP 헤더  (0) 2022.03.24
HTTP 상태코드  (0) 2022.03.12
HTTP 특성  (0) 2022.03.07
JWT  (0) 2021.03.06