ETC

[Web] querystring을 이용한 캐시 무시(cache busting) 요청은 javascript나 css같은 contents 에 한정된다.

ddochea 2021. 4. 14. 23:22
반응형

그저께 ASP.NET Core에서 캐싱을 활용하는 방법과 예제를 간략하게 다뤘었다. (ddochea.tistory.com/132)

그리고 오늘 관련해서 친구에게 문의가 왔었다.

 

"querystring 값 다르게 하면 캐시 무시할 수 있냐?"

 

그 질문에 나는 당당하게 "ㅇㅇ" 이라고 대답했다. 왜냐하면 오래 전에 javascript가 캐싱된 일부 브라우저에 수정된 javascript를 일괄적용시킬 수 있도록 사용한 방법이 querystring 을 추가하고, 필요할때마다 값을 바꿔주는 것으로 해결했기 때문이었다.

 

이것을 "cache busting" 이라고 한다.

 

What is cache busting? · Curtis Timson

 

What is cache busting? · Curtis Timson

A cache-buster is a unique string which is appended to a URL in the form of a query string. It is generally not read by the server-side and is used purely to form a unique URL. For example: /Scripts/foo.js?v=1 This is often used on client side files such a

curtistimson.co.uk

자바스크립트와 마찬가지로 css도 이와 같은 방법을 사용했었는데, 컨텐츠를 다운받는것도 일종의 Get 통신이고, 지난시간에 다뤘던 것도 일반적인 Get 통신이기 때문에 될거라 생각했다.

 

근데 아니었다.

 

실제로 확인해보니 QueryString의 값이나, 이름, 개수를 변경하는 등 여러 방법을 사용해도 캐싱된 응답만 반환되고 있었다.

 

약팔이 실패!

반응형