IE에서 PDF 캐싱을 활성화하십시오
-
05-07-2019 - |
문제
처음에는 캐싱이 모든 브라우저에서 작동하지 않았습니다. 그런 다음 모든 브라우저에서 URL에 .pdf 확장을 추가하여 모든 브라우저에서 작동하게했습니다. 그 후 서블릿이 전화를 멈추지 않았습니다.
다음 URL을로드하는 Embed Tag를 통해 웹 페이지에 PDF 파일을 인라인으로 표시합니다.
http://localhost:7001/app/viewFile.pdf
다음 헤더가있는 Java Servlet에 의해 생성됩니다.
response.addHeader("Content-Disposition", "inline;");
response.setHeader("Cache-control", "cache,max-age=600");
response.setContentType(mimeType);
response.setContentLength(contentLength);
모든 브라우저에 PDF 표시의 경우 Adobe Reader 9.2.0을 사용합니다.
IE에서도 작동하는 방법? IE가 '캐시 제어 : No-Cache'헤더를 추가하는 것을 알았습니다. 요구, 예를 들어 사파리는 그렇지 않습니다.
해결책
앞에서 말했듯이 cache-control
헤더 값 cache
유효하지 않다. 사용 public
대신에.
즉, 서버 측 캐시 제어 규칙을 embed
그리고 object
요소, 이것은 불행히도 IE의 "기능"입니다. 당신이 할 수있는 일은 iframe
요소.
다른 헤더가 좋아합니다 expires
, last-modified
, etag
그리고 도움이되지 않을 것입니다.
다른 팁
조사 할 몇 가지 아이디어 :
나는 생각하지 않는다
cache
유효합니다Cache-Control
지령.값을 사용해보십시오
public
대신, 또는private
그것이 당신의 콘텐츠에 더 적합한 경우. 체크 아웃 RFC 2616 자세한 내용은.아마도 당신은 둘 이상을 보내고있을 것입니다
Cache-Control
지령?같은 도구를 사용하십시오 개똥 벌레 또는LivehttPheaders 실제 헤더를 들여다 보려면 브라우저가 수신합니다. 그들이 기대하지 않는 것을 얻지 못하는지 확인하십시오. 그래도 이미이 작업을 수행하고있는 것 같습니다. 또한 보내지 않는지 확인하십시오
Pragma: no-cache
.설정해보십시오
Expires
사용하는 것 외에도 헤더Cache-Control
.브라우저 충돌을 보내는 것도 가능합니다
Cache-Control
/Pragma
헤더와 IE는Pragma
뒤로 물러나는 이유에 대한 첫 번째 우선 순위.IE가 캐싱을 허용하도록 구성되어 있는지 확인하십시오! :)
Control Panel
>Internet Options
>Temporary Internet Files
>Settings
>Check for newer versions of stored pages
PDF를 a에 대한 응답으로 보내십시오
POST
요청 (양식 제출을 통해).즉,이 요구 사항으로 인해 응답의 헤더에 관계없이 캐시가 발생할 수 있습니다. RFC 2616: "기본적으로 요청 메소드의 요구 사항이 있으면 응답이 캐시 가능합니다. 그리고 응답 상태는 캐시 가능하다는 것을 나타냅니다. "응답
POST
요청은 캐시 할 수 없으므로 IE는 해당 헤더를 요청하지 않아야합니다.보내십시오
Content-MD5
그리고Last-Modified
일관된 값을 가진 헤더 (아직 전송되지 않은 경우).이것은 PDF의 내용이 변경되지 않았 음을 IE에게 확신시키는 데 도움이 될 수 있습니다. IE는 분명히 완고하기 때문에이 솔루션이 효과가 있다고 생각하지 않지만 언급 할 가치가 있습니다.
문제에 대한 명백한 방법 중 하나는 URL 재 작성을 사용하는 것입니다. IE가 Extension에서 .pdf와 함께 작동하는 경우, Mod_rewrite (APACHE) 또는 오른쪽 페이지로 서버 측 리디렉션과 유사한 도구를 사용하면서 클라이언트가 실제로 PDF 파일을 요청하고 있다고 생각합니다.
또한 : Fiddler와 같은 도구를 사용하여 클라이언트가받는 HTTP 헤더를 검토하십시오.
또한 :이 오래된 질문을 검토합니다 (PHP : Force File Download 및 IE, 그러나 다시), IE 와도 비슷한 문제가있었습니다.