웹 서버에 호스팅 된 단일 페이지 응용 프로그램 (SPA)이 해당 응용 프로그램의 새 버전을 게시 한 후에 캐시되지 않도록하려면이 응용 프로그램에서 요청한 엔터티가 실제로 가져 오는 방법을주의 깊게 확인해야합니다.html 페이지의 메타 태그는 스크립트, 링크 및 기타 리소스를 가져 오기위한 캐싱 정책에 영향을 줄 수 있습니까?
하지만 SPA에는 html도 포함되어 있습니다. 요즘에는 정적 페이지를 본문과 두 개의 링크가있는 짧은 HTML로 볼 수 있지만 CSS와 CSS 용으로 하나의 자바 스크립트를 사용하기 때문에 캐시를 무효화해야합니다. 페이지도.
가장 간단한 방법은 meta 태그 (예 : Pragme : no-cache, Pragma : no-store 등)를 통해 관련 http 헤더를 추가하는 것입니다. 위에 제공된 링크의 답변 중 하나에서 언급했듯이이 방법은 효과적이지만 이상적인 것은 아닙니다.
내가 걱정하는 것 같아요. - 모든 브라우저에서 캐시되지 않은 페이지의 캐시 된 리소스를 확인할 수 있습니까? 즉, 내 html 페이지가 캐시되지 않은 경우 스크립트 및 링크가 실제로 캐시되는 방식에 영향을 줍니까?
어떤 연구를 수행 했습니까? 캐싱 및이를 수행하는 기술을 이해하는 데 도움이되는 많은 훌륭한 리소스가 있습니다. 'pragma : no-cache' 메타 태그를 사용하고 있다면 서버 설정에 따라 링크 된 자원이 캐시 될 수 있습니다. 캐시를 처리하는 가장 좋은 방법은 IIS/.htaccess/httpd.conf/etc에서 수행하는 것입니다 (액세스 권한이있는 경우). 서버 측. – philtune
@philtune 나는 모든 현대적인 브라우저를 점검했지만 아무런 문제도 발견하지 못했다. 그러나 나는 결코 모든 우연한 사건을 다룰 수는 없으므로 그것이 확실하다고 생각한다. – shabunc
질문을 다시 읽으면 "캐시되지 않은 페이지에서 요청한 리소스가 캐시에서 계속 가져올 수 있습니까?"라고 묻는 것 같습니다. 질문을 올바르게 이해하면 HTML 페이지 캐시 설정 (서버 표제, 메타 태그 또는 IIS/htaccess를 통해 수행됨)은 링크 된 자원이 요청/처리되는 방식에 절대적으로 영향을 미치지 않습니다. Javascript, CSS 및 이미지를 캐시에서 검색하도록 설정하면 브라우저는 페이지의 캐시 제어를 적용하지 않고 개별적으로 살펴볼 것입니다. 불투명 한 일회용 브라우저가있을 수 있지만 대개는 그렇지 않습니다. – philtune