728x90
안전(Safe)
- 호출해도 리소스를 변경하지 않는다.
- 안전은 해당 리소스의 변화만 고려함
- GET, HEAD, OPTIONS, TRACE
멱등(Idempotent)
- f(f(x)) = f(x)
- 한 번 호출 하든 100번 호출하든 결과가 똑같다.
- GET -> PUT -> GET은?
- 멱등은 외부 요인으로 중간에 리소스가 변경되는 것까지는 고려하지 않는다.
- GET -> PUT -> GET은?
- 멱등 메서드
- GET : 항상 같은 결과가 조회
- PUT : 결과를 대체함(덮어씀). 여러번 같은 요청을 해도 최종 결과는 같음
- DELETE : 결과를 삭제함. 여러번 같은 요청을 해도 삭제된 결과는 같음
- POST : 멱등이 아님! 두번 호출하면 같은 결제가 중복해서 발생하면 중복 결제로 오류임
- 활용 : 자동 복구 메커니즘, 같은 요청을 해도 괜찮을 때
캐시가능(Cacheable)
- 응답 결과 리소스를 캐시해서 사용해도 되는가?
- GET, HEAD, POST, PATCH 캐시 가능
- 실제로는 GET, HEAD 정도만 캐시로 사용함
- POST,PATCH는 본문 내용까지 캐시 키로 고려해야 하는데 구현이 쉽지 않음
728x90
'넓고 얕은 네트워크 지식 > http' 카테고리의 다른 글
HTTP 상태 코드 (0) | 2022.10.25 |
---|---|
HTTP API 설계 (0) | 2022.10.23 |
HTTP 메서드 (0) | 2022.10.21 |
HTTP 메시지의 구조 (0) | 2022.10.21 |
HTTP의 특징 (0) | 2022.10.21 |