본문 바로가기
CS/Http

HTTP 메서드의 속성

by HwaHyun 2023. 7. 17.

안전(Safe Methods)

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

 

멱등(Idempotent Methods)

  • 한 번 호출하든 여러번 호출하든 결과가 똑같다.
  • 멱등 메서드
    • GET : 몇번을 조회해도 같은 결과가 조회된다.
    • PUT : 데이터 전체를 대체하기 때문에 항상 결과가 같다.
    • DELETE : 삭제는 여러번 삭제해도 결과는 같다.

주의!

POST 메서드는 멱등이 아니다.

예를들어 결제시스템에서 POST를 두번 호출 할 경우 결제가 중복해서 발생할 수 있다.

 

멱등이 필요한 이유

  • 자동복구 메커니즘
  • 서버가 TIMEOUT등으로 정상 응답을 못주었을 때, 클라이언트가 같은 요청을 다시 해도 되는가? 의 판단 근거이다.

멱등은 외부 요인으로 중간에 리소스가 변경되는 것 까지 고려하지 않는다.

 

캐시가능(Cacheable Methods)

  • 응답 결과 리소스를 캐시해서 사용해도 되는가?
  • GET, HEAD, POST, PATCH 캐시가능
  • 일반적으로 GET, HEAD 정도만 캐시로 사용
    • POST, PATCH는 본문 내용까지 캐시 키로 고려해야 하는데, 구현이 어려움

 

'CS > Http' 카테고리의 다른 글

HTTP 헤더  (0) 2023.07.19
HTTP 상태코드  (0) 2023.07.18
HTTP 메서드  (0) 2023.07.16
HTTP 특징  (0) 2023.07.15
HTTP 기본  (0) 2023.07.14