나는 this question을보고 내 현재의 문제 (들)/심문에 맞지 않는다고 말해야합니다.한 페이지 자바 스크립트 앱 및 정적 리소스 캐싱
시나리오 : 사용자가 성공적들은 기본 HTML은 CSS와 JS 파일과 함께 전송/응용 프로그램에 (document.location.href
) 리디렉션 (Ajax 호출을 통해) 로그인
후.
문제 :
나는 현재이 새 버전의 예에 갱신됩니다 있는지 확인하기 위해 쿼리 문자열 버전 번호를 APPNAME-2.3.3.js처럼 내 축소 된 자바 스크립트와 CSS를 파일 이름에 버전 번호를 넣고 추가 해요 : 파일 이름과 쿼리 문자열 번호 변경, 브라우저가 마지막 버전의 캐시를 유지하는 경우에도
<script src="/js/app/appname-2.3.3-min.js?1207040740" language="javascript" type="text/javascript"></script>
나는 새 로그인 후, 새 버전을 밀어
. 사용자가 새 정적 파일을 가져 오려면 전체 페이지 새로 고침 Ctrl + F5를 수행해야합니다.질문 :
이가) 무엇 각각의 새로운 로그인 사용자를 보장하는 가장 좋은 방법이 될 것입니다 올바른 버전이? 내 생각 엔/app HTML 페이지가 캐시이고 로그인 후 리디렉션 할 때 쿼리 문자열 값을 입력해야 할 수도 있습니다. 하지만 그 문제는 내가 로그인 메서드를 호출하는 javascript 파일이 "올바른"버전 등이되어야한다는 것을 의미합니다.
내 컨트롤러에 HTTP 헤더를 표시하여 브라우저에 캐시하지 말아야할까요?/app 페이지? 그 페이지에서 캐싱 된 정적 파일이 없다는 의미가 있습니까?
거의 매주 새 업데이트가 있으며, 캐싱이 여전히 필요합니다.
b) 귀하의 관점에서 볼 때, 이미 로그인 한 사용자에게 새로운 버전이 업데이트되었으며 페이지를 새로 고쳐야한다는 것을 사용자에게 알리는 좋은 방법이 무엇일까? 그것은 사용자의 인식에서 "받아 들일 수있는"것입니다. 참고로
, 응용 프로그램은 3
시간 내 주셔서 감사합니다/입력
브라우저의 개발 도구에는 각 웹 페이지에 대해 요청되는 리소스를 확인할 수있는 "넷"탭이 있습니다. 쿼리 문자열에 새 번호가 포함되어 있으면 브라우저는 캐시 된 파일 대신 새 업데이트 된 파일을 검색해야합니다. (Btw,이 기술을 사용한 스택 오버플로) –
Net 탭을 살펴볼 것입니다. 하지만 그것은 요점입니다. 비록 html 태그에 새로운 번호가 있어도 pagea.html이 브라우저 캐시 pagea.html을 사용한다고 가정합니다. 따라서 버전 번호가 변경된 새 버전을 업로드하더라도 pagea.html은 여전히 유효합니다. 이전 번호로 캐시 되었습니까? –