Asp classic 在IE 5.5/IIS 5.0中通过HTTPS下载文件

Asp classic 在IE 5.5/IIS 5.0中通过HTTPS下载文件,asp-classic,https,download,Asp Classic,Https,Download,这件事我急需帮助。我有一个经典的ASP网站在IIS 5,在那里我需要流pdf给用户。我使用ADODB.Stream生成二进制数据块,并使用response.BinaryWrite将其流式传输到客户端。现在的问题是IE中有一个已知的特性,它将SSL(https)站点的响应CacheControl头默认设置为“无缓存”。因此,我得到了标准误差: “Internet Explorer无法从ServerName下载File.doc Internet Explorer无法打开此Internet站点。请求的

这件事我急需帮助。我有一个经典的ASP网站在IIS 5,在那里我需要流pdf给用户。我使用ADODB.Stream生成二进制数据块,并使用response.BinaryWrite将其流式传输到客户端。现在的问题是IE中有一个已知的特性,它将SSL(https)站点的响应CacheControl头默认设置为“无缓存”。因此,我得到了标准误差:

“Internet Explorer无法从ServerName下载File.doc

Internet Explorer无法打开此Internet站点。请求的站点不可用或找不到。请稍后再试。“

我已经设置了Response.CacheControl=“private,必须重新验证,max age=3600”才能进行流式处理,但它仍然给出了错误

注意:相同的代码在所有其他浏览器(如firefox和netscape)中都能完美工作。我在firefox中使用LiveHttpHeaders来查看Response.CacheControl在firefox中是否自动正确设置。不幸的是,我无法在我的机器上安装Fiddler,但我猜问题是由于https的IIS默认头CacheControl=“no cache”

我已取消选中IE中的“不将加密页面保存到磁盘”选项


我需要一种方法来解决这个问题,因为该选项必须很快通过互联网向使用现有技术的用户提供:(

从市场开始,您可能会放弃对Internet Explorer 5.5的支持。它的支持率太低,以至于他们在2008年6月停止跟踪它。

从这里开始:查看关于这个问题的更全面的讨论。很可能您发送了一个或多个禁止缓存的头

声明

IE中有一个已知的特性 设置响应缓存控制标头 默认情况下为SSL设置为“无缓存” (https)站点

…不正确。你的意思是说“IIS”?哪个版本?我从来没有听说过这样的功能

我不知道你为什么不能在有问题的机器上使用Fiddler?

也许这会有帮助:


我在iis管理控制台的http headers选项卡上检查“enable content expiration”(启用内容过期)时解决了一个类似的问题。

但是如何使其在ie 6/7/8中工作,或者在更高版本中不会出现此问题?很抱歉,测试pc中没有安装IE6(不在我的控制下)。但是发现这个链接,它说它不适用于IE 6 sp 1,而是使用一个“HREF”,它似乎需要“http”链接-因此没有用..经典asp中的旧网站从来没有提供https文件下载吗?!不可能-所以dere必须是wayHi Eric,非常有用的博客的thx..是的,我的意思是“IIS”而不是“IE”…thx用于发现d错误。IIS的版本是5.0。关于Fiddler,它要求提供我的电脑中缺少的.NET framework,我需要一段时间才能获得安装批准(我的公司是如何工作的)在此期间,我曾希望使用一些oder工具,但没有太大的成功…将尝试让Fiddler工作,因为这似乎是我现在唯一的希望!顺便说一句,我的操作系统是Win 2000,以防它有所帮助。如果你不能使用Fiddler,有像proxomitron这样的旧http嗅探器。