티스토리 뷰
발생일: 2013.12.04
키워드: jquery, cache, 캐시, ifModified, Last-Modified
문제:
프로젝트에서 `$.ajax`를 래핑하는 모듈을 만들어서 적용하려고 한다.
중복 요청을 제거하고, 필요에 따라 응답을 캐시하는 역할을 하게 될 거다.
그러고보니, `jquery.ajax`에도 캐시 옵션이 있었던 것 같은데,
얘는 정확히 어떻게 동작하는 건지 궁금하다.
해결책:
`$.ajax`의 옵션에 `ifModified` 속성이 있다.
`ifModified` 속성 (기본값 false)
서버 응답에 대해 헤더를 설정하는 방식으로, 클라이언트에서 응답 데이터를 캐시하고 있진 않는다.
- `ifModified`를 설정하고 서버 응답에서 `Last-Modified` 헤더가 있는 경우,
요청 URL로 해당 값을 캐시해둔다.
- 다음 요청에서 같은 URL에 저장된 `Last-Modified` 값이 있을 경우, `if-Modified-Since` 헤더를 설정해보낸다.
자세한 건, http://code.jquery.com/jquery-1.10.2.js 코드에서 `ifModified`로 검색해보면 된다.
반응형
댓글
공지사항