티스토리 뷰


발생일: 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`로 검색해보면 된다.



반응형
댓글
공지사항