- 안전(Safe Methods)
1) 호출 해도 리소스를 변경하지 않는다.
Q) 그래도 계속 호출해서, 로그 같은게 쌓여서 장애가 발생한다면?
A) 안전은 해당 리소스만 고려한다. 그런 부분은 고려하지 않는다.
- 멱등(Idempotent Methods)
1) f(f(x)) = f(X)
2) 한 번 호출하든, 두 번 호출하든 100 번 호출하든 결과가 똑같다.
3) 멱등 메서드
- get : 한번 조회하든, 두번 조회하든 같은 결과가 조회된다.
- put : 결과를 대체한다.따라서 같은 요청을 여러번 해도 최종 결과는 같다.
- delte : 결과를 삭제한다. 같은 요청을 여러번 해도 삭제된 결과는 똑같다.
- post : 멱등이 아니다! 두번 호출하면 같은 결제가 중복해서 발생 할 수있다.
활용)
- 자동 복구 매커니즘
- 서버가 timeout 등으로 정상 응답을 못주었을때, 클라이언트가 같은 요청을 다시 해도 되는가? 판단근거
!! 멱등은 외부 요인으로 중간에 리소스가 변경되는 것 까지 고려하지 않는다 !!
- 캐시가능 (Casheable Methods)
1) 응답 결과 리소스를 캐시해서 사용해도 되는가?
2) get,head,post,patch 캐시가능
3) 실제로는 get,head 정도만 캐시로 사용
- post,patch는 본문 내용까지 캐시 키로 고려해야 하는데, 구현이 쉽지 않음
출처 :인프런/김영한님의 웹-네트워크
'HTTP' 카테고리의 다른 글
상태 코드 (0) | 2021.12.10 |
---|---|
HTTP API 설계 가이드 라인 (0) | 2021.12.08 |
HTTP 메서드 (0) | 2021.12.08 |
TCP/UDP (0) | 2021.12.07 |
IP (0) | 2021.12.07 |