Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- 캐시
- no cache
- 인증체크
- 프록시객체
- 검증헤더
- supportParameter
- Expires
- HTTP상태코드
- http
- hikaricp
- Could not find or load main class worker.org.gradle.process.internal.worker.GradleWorkerMain
- 쿠키생명주기
- must revalidate
- 세션만들어보기
- HTTP API
- gradle오류
- 조건부요청
- max age
- resolveArgument
- www-Authenticate
- 서블릿필터
- 세션타임아웃설정
- 양쪽 모두 값 설정
- Not Modified
- 300
- UrlResource
- etag
- 서블릿http세션
- 쿠키보안문제
- 프록시 캐시 서버
Archives
- Today
- Total
복습을 위한
HTTP 메서드의 속성 본문
세가지의 HTTP 메서드의 속성이 있다.
• 안전(Safe Methods)
• 멱등(Idempotent Methods)
• 캐시가능(Cacheable Methods)
각 속성은 메서드별로 그 여부가 다르다.
GET은 리소스를 변경하지않지만 POST PUT DELETE PATCH를 리소스를 변경한다.
POST는 멱등이 아니다. 배송을 두번? 결제를 두번? 클난다!
멱등이 왜 필요할까? 예를 들어 DELETE를 호출했는데 서버에서 응답이없다면 클라이언트가 자동으로 DELETE를 재시도하는 것이다. 자동복구메커니즘에 쓸 수 있다.
한가지 중요한 것은 멱등은 외부요인으로 중간에 리소스가 변경되는 것까지는 고려하지는않는다.
위와 같은 예시는 멱등하지않다고 판단하는 것이 맞다. 같은 요인일 때만 고려하는 것이다.
캐시는 뒤에서 자세히 다루겠지만 데이터나 값을 미리 복사해 놓는 임시 장소를 가리킨다. 캐시는 캐시의 접근 시간에 비해 원래 데이터를 접근하는 시간이 오래 걸리는 경우나 값을 다시 계산하는 시간을 절약하고 싶은 경우에 사용한다.
GET은 URL만 키로 잡고 캐시하면 돼서 심플하지만 POST PATCH는 본문 내용까지 고려해야해서 구현이 쉽지않다.
실무에서는 거의GET만 캐시로 사용한다.
'http' 카테고리의 다른 글
HTTP API 설계 예시 (1) | 2024.01.04 |
---|---|
HTTP 메서드 활용 (2) | 2024.01.04 |
PUT,PATCH,DELETE (0) | 2023.11.17 |
GET, POST (0) | 2023.11.17 |
좋은 URI설계란 (0) | 2023.11.17 |