본문 바로가기
웹/http

김영한 님의 HTTP 웹 기본지식 강의/4.HTTP 메서드/HTTP 메서드의 속성

by saul 2021. 9. 18.

HTTP 메서드의 속성

- HTTP 메서드의 속성 중에는 어떤 것들이 있을까?

  • 안전(Safe Methods)
  • 멱등(Idempotent Methods)
  • 캐시 가능(Cacheable Methods)

 

1) 안전 Safe

  • HTTP 메서드를 호출해도 데이터가 변경되지 않는다. 

 

2) 멱등 Idempotent

  • f(f(x)) = f(x)
  • 한번 호출하든 두 번 호출하든 100번 호출하든 결과가 똑같다. 
  • 멱등 메서드 

 - GET : 한번 조회하든, 두 번 조회하든 같은 결과가 조회된다 

 - PUT : 결과를 대체한다. 따라서 같은 요청을 여러 번 해도 최종 결과는 같다. 

 - DELETE : 결과를 삭제한다. 같은 요청을 해도 삭제된 결과는 같다.

 - POST : 멱등이 아니다! 두 번 호출하면 같은 결제가 중복해서 발생할 수 있다. ----> 결과가 다르다.

 

  •  멱등 속성 활용

 - 자동 복구 메커니즘

   EX) DELETE 호출 ---> 서버 응답 X (TIMEOUT) ---> 서버가 DELETE 재시도

(DELETE 메서드는 멱등하기 때문에!!!) 

 

 - 서버가 TIMEOUT 등으로 정상 응답을 못주었을 때, 클라이언트가 같은 요청을 다시 해도 되는가의 판단 기준 

 

3) 캐시가능 Cacheable

  • 응답 결과 리소스를 캐시 해서 사용해도 되는가?
  • GET, HEAD, POST, PATCH 캐시 가능 
  • 실제로는 GET, HEAD 정도만 캐시로 사용

 - 실제로는 POST, PATCH는 본문 내용까지 캐시 키로 고려해야 하는데, 구현이 쉽지 않음.  

 

 

 

 

 

 

참고:

본 포스팅에 있는 모든 자료는 김영한 님의 HTTP 웹 기본지식 강의의 자료들입니다.