刪除HTTP標頭,我們正在使用IBM的WebSphere Application Server 6.1和Internet Explorer瀏覽器8使用Java Servlet API的
我們有一個Java servlet可以動態生成PDF和MS Word文檔。在第一次嘗試一些用戶說,他們所得到
的「Internet Explorer無法打開此站點。請求的站點是不可用或無法找到,請稍後再試。」
根據Microsoft支持文章編號323308
當您嘗試通過HTTPS(SSL)打開Microsoft Office文檔或PDF文檔時,IE出現以上錯誤消息失敗。 如果服務器發送「Cache-control:no-store」標頭或發送「Cache-control:no-cache」標頭,則會出現此問題。 對於IE8,Microsoft建議在用戶Windows XP桌面上添加註冊表項。這對我們來說並不是很實際,因爲我們不控制用戶桌面。這不會發生了IE9,火狐,Chrome等
按PK20531 WAS 6.1加入的Cache-Control:無緩存= 「設置的cookie,設置COOKIE2」 和Expires HTTP頭時,有餅乾在響應中被設置。
注意 - 我們不是設置在servlet的餅乾。該cookie由單點登錄軟件設置。
在當單點登錄(LTPA)cookie被設定和WAS的第一次嘗試是添加HTTP標頭,其IE瀏覽器不喜歡。
確實的Java servlet API提供一種方式來刪除HTTP標頭?有沒有一種技術可以使用Filter api來刪除http頭文件?
Servlet過濾器能夠去除「緩存CONTRO:無緩存」。但是我們決定使用IBM HTTP Server(apache)mod_headers刪除,這也可以刪除單個虛擬主機的頭文件。 –
你能告訴我你是如何解決它的? – webdev
見下面我們如何解決它。編寫servlet過濾器(請參閱http://www.oracle.com/technetwork/java/filters-137243.html)並設置「Cache-control:no-cache」的響應標頭 –