<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40"><head><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=us-ascii"><meta name=Generator content="Microsoft Word 14 (filtered medium)"><title>Re: Preventing PDF Caching over SSL in IE</title><style><!--
/* Font Definitions */
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
        {font-family:Tahoma;
        panose-1:2 11 6 4 3 5 4 4 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:12.0pt;
        font-family:"Times New Roman","serif";}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        text-decoration:underline;}
p.MsoAcetate, li.MsoAcetate, div.MsoAcetate
        {mso-style-priority:99;
        mso-style-link:"Balloon Text Char";
        margin:0in;
        margin-bottom:.0001pt;
        font-size:8.0pt;
        font-family:"Tahoma","sans-serif";}
span.EmailStyle17
        {mso-style-type:personal;
        font-family:"Calibri","sans-serif";
        color:#1F497D;}
span.BalloonTextChar
        {mso-style-name:"Balloon Text Char";
        mso-style-priority:99;
        mso-style-link:"Balloon Text";
        font-family:"Tahoma","sans-serif";}
span.EmailStyle20
        {mso-style-type:personal-reply;
        font-family:"Calibri","sans-serif";
        color:#1F497D;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-size:10.0pt;}
@page WordSection1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
        {page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]--></head><body lang=EN-US link=blue vlink=purple><div class=WordSection1><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>Here is another test case for our browser security suite:&nbsp; (and the &#8216;solution&#8217; that will cause it to have the &#8216;right&#8217; behavior.)<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p>&nbsp;</o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>I know IE claims this is &#8216;by design&#8217; but apparently other browsers solved this problem so it appears solvable.<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p>&nbsp;</o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>-Dave<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p>&nbsp;</o:p></span></p><div><div style='border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0in 0in 0in'><p class=MsoNormal><b><span style='font-size:10.0pt;font-family:"Tahoma","sans-serif"'>From:</span></b><span style='font-size:10.0pt;font-family:"Tahoma","sans-serif"'> Jon <br><b>Sent:</b> Thursday, February 24, 2011 5:23 AM<br><b>To:</b> Mike <br><b>Subject:</b> Re: Preventing PDF Caching over SSL in IE<o:p></o:p></span></p></div></div><p class=MsoNormal><o:p>&nbsp;</o:p></p><p class=MsoNormal style='margin-bottom:12.0pt'><span style='font-size:11.0pt;font-family:"Calibri","sans-serif"'>The bug w/ IE is a &quot;Cache-control: no cache, no store&quot;. This will stop IE from caching any Content-Disposition that IE doesn't handle natively, which could be PDFs. &quot;Cache-control: no store&quot; and &quot;Cache-control: no store, no cache&quot; will cause a pop-up error to be displayed but the PDF will also be displayed. This pop-up error may be IE and/or Reader centric, dunno.<br><br>Jon<br><br><br>On 2/24/11 1:28 AM, &quot;Mike<span style='color:#1F497D'>&#8221; </span>wrote:</span><o:p></o:p></p><p class=MsoNormal style='margin-bottom:12.0pt'><span style='font-size:11.0pt;font-family:"Calibri","sans-serif"'>While onsite teaching a student asked how to keep PDFs from caching in IE and still view it. He wants to 1) display a PDF in any browser including IE 2) Transmit over HTTPS and 3) not cache or store the file. This seemed pretty reasonable and exactly what the pragma and cache-control headers are for, but I did some research and it appears that IE doesn&#8217;t allow that to happen. Before I stand up an HTTPS server to test solutions, I&#8217;m wondering if any of you have found a solution to his problem or seen it manifest. <br>&nbsp;<br>IE has, in versions as recent as IE 8, a &#8220;feature&#8221; that prevents any file, including PDFs from being downloaded and displayed without first caching them. Note that this appears to be an IE issue; FF behaves correctly.<br>&nbsp;<br>Below are some references that I found that describe IE&#8217;s behavior.<br>&nbsp;<br>1) &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="http://support.microsoft.com/kb/323308">http://support.microsoft.com/kb/323308</a> (Internet Explorer file downloads over SSL do not work with the cache control headers)<br><br>This link describes the issue. The articles suggests modifying the user&#8217;s registry settings (even for IE7 &amp; 8) to get it to work. Not exactly practical.<br><br>&nbsp;<br>Quoting:<br>&nbsp;<br>When you try to open a Microsoft Office document or a PDF file by typing an HTTPS URL for the document in the Address bar of Internet Explorer 6 Service Pack 1 (SP1), you may receive the following error message: Unable to download&#8230; This issue occurs if the server sends a &quot;Cache-control:no-store&quot; header or sends a &quot;Cache-control:no-cache&quot; header.<br>&nbsp;<br>&nbsp;<br>2) &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="http://support.microsoft.com/kb/316431">http://support.microsoft.com/kb/316431</a> <br><br>This link is a little old (2007 IE5&amp;6) and off target, but it is related in that it explains what is going on between IE and Adobe Acrobat Reader and that this behavior is by design. <br>&nbsp;<br>Quoting:<br>&nbsp;<br>In order for Internet Explorer to open documents in Office (or any out-of-process, ActiveX document server), Internet Explorer must save the file to the local cache directory and ask the associated application to load the file by using IPersistFile::Load. If the file is not stored to disk, this operation fails. <br><br>When Internet Explorer communicates with a secure Web site through SSL, Internet Explorer enforces any no-cache request. If the header or headers are present, Internet Explorer does not cache the file. Consequently, Office cannot open the file.<br>&nbsp;<br>Web sites that want to allow this type of operation should remove the no-cache header or headers.<br>&nbsp;<br>This behavior is by design.<br>&nbsp;<br>&nbsp;<br>3) &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="http://blogs.msdn.com/b/ieinternals/archive/2009/10/02/internet-explorer-cannot-download-over-https-when-no-cache.aspx">http://blogs.msdn.com/b/ieinternals/archive/2009/10/02/internet-explorer-cannot-download-over-https-when-no-cache.aspx</a> () <br><br>KB 316431 is pretty old, but >From eric law&#8217;s more recent blog (2009-2011) confirms that this is expected: &#8220;if a user tries to download* a file over a HTTPS connection, any response headers that prevent caching will cause the file download process to fail.&#8221; The rest of the article is looking at enabling manual downloads instead of viewing a file without caching. It discusses strategies for getting files to download including the weird &#8220;no-store, no-cache&#8221; vs &#8220;no-cache, no-store&#8221; behavior. It also discusses some very recent fixes for IE8 and 9 that may or may not be relevant.</span><o:p></o:p></p></div></body></html>