IE會先從伺服器擷取文檔, 緩衝到本地, 然後開啟, 或另存新檔別的文檔.
然而又的web伺服器會在發給IE用戶端的響應裡包含一條資訊, 不允許IE緩衝到本地.
HTTP/1.1 200 OK
Cache-Control: no-store
Content-Length: 78336
Content-Type: application/vnd.ms-word.document.12
Last-Modified: Mon, 20 Aug 2007 06:31:27 GMT
如果是這樣, 那麼IE將無法直接開啟這個文檔, 或執行下載動作.
解決方案是修改一個註冊表索引值為0x1:
影響所有使用者:
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Internet Settings\BypassHTTPNoCacheCheck
影響目前使用者:
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Internet Settings\BypassHTTPNoCacheCheck
類型: DWORD
值: 0x1
該索引值會強制准許IE快取檔案, 而不管server端發過來的是否緩衝的請求.
MakeIEPassCachCheck.vbs
on error resume next
set wshShell=wscript.CreateObject("wscript.shell")
wshShell.RegWrite "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\BypassHTTPNoCacheCheck", 1, "REG_DWORD"
資料來源:
Internet Explorer file downloads over SSL do not work with the cache control headers
http://support.microsoft.com/kb/323308