문제 :내 스크립트를 캐싱하는 크롬 및 기타 브라우저에 다음을 포함하십시오.
사이트의 각 페이지마다 다른 위젯을 클라이언트 웹 사이트에서 호스팅하고 있습니다.
위젯을 렌더링하기 위해 클라이언트는 해당 페이지에 스크립트 태그를 포함합니다. 이 스크립트 태그는 사이트의 모든 페이지에 대해로드되며 반환되는 코드는 페이지에 따라 다릅니다.
따라서이 스크립트가 캐시되면 최종 결과는 잘못된 페이지에 대한 위젯을 제공한다는 것입니다. 우리는 스크립트를 제공 할 때
는 지금, 우리는 때때로 여전히 스크립트를 캐시 브라우저 만 아직 응답 헤더
Cache-Control: max-age=0 Expires : 24 hours in the past
에서 설정합니다.
질문 :
이 모든 경우에 캐싱을 중지하거나 우리가 완전히 다른 접근을해야 할 것되는 HTTP 헤더를 사용하는 방법이 있나요?
UPDATE :
크게 권장하는 스크립트의 비 캐시 가능성을 향상 topek 헤더가. 그러나 뒤로, 앞으로 또는 다시로드 버튼을 사용할 때 (캐시에서 가장 공격적인 Chrome에서 다시) 스크립트는 여전히 캐시됩니다. 실제로 아무것도 클릭하면 서버에서 가져옵니다.
캐싱을 중지하는 유일한 방법은 각 페이지로드마다 다른 것으로 보장되는 스크립트 소스를 설정하는 것입니다 (esilija 및 tejs에서 제안한 것처럼).
js url 요청에 임의의 쿼리 문자열 매개 변수를 포함시키는 것이 왜 좋을까요? 또는 datetime 또는 뭔가 첨부? – Tejs
은 무의미한 쿼리 문자열을 추가합니다. 이렇게 :'script.js? 14091341049134'. 밀리 초마다 바뀌는 '+ 새 날짜'에서 숫자를 생성하십시오. – Esailija
필요한 경우 수행 할 수 있습니다. 그러나 우리는 고객에게 단일 스크립트 태그를 포함하도록 요청하는 단순함을 좋아합니다. 나는 당신이 제안하는 것을 할 수있는 몇 줄의 j를 포함하도록 요청할 수 있다고 생각합니다. – Hersheezy