我将Tomcat用作服务器,将Internet Explorer 6用作浏览器。我们应用程序中的网页包含约75张图像。我们正在使用SSL。加载所有内容似乎很慢。如何配置Tomcat,以便IE缓存图像?
如果您通过https提供网页,则需要通过https(来自同一域或另一个域,也通过https)提供所有包含的静态或动态资源,以避免浏览器中出现安全警告。
默认情况下,大多数浏览器不会将通过安全通道传送的内容写入磁盘,因此它们位于浏览器的内存缓存中,该缓存比磁盘缓存小得多。当应用程序退出时,该缓存也会消失。
综上所述,您可以在单个浏览器设置中采取一些措施来提高SSL资产的可缓存性。对于初学者,请确保所有资产都具有合理的Expires和Cache- Control标头。如果tomcat坐在Apache后面,则使用mod_expires添加它们。这样可以避免浏览器检查页面之间的图像是否已更改
<Location /images> FileEtag none ExpiresActive on ExpiresDefault "access plus 1 month" </Location>
其次,这是特定于MSIE和Apache的,大多数apache ssl配置包含以下行
SetEnvIf User-Agent ".*MSIE.*" \ nokeepalive ssl-unclean-shutdown \ downgrade-1.0 force-response-1.0
这将禁用所有MSIE代理的keepalive。恕我直言,这太保守了,最近使用SSL出现问题的MSIE浏览器是5.x和6.0 pre SP2的未修补版本,这两种情况现在都很少见。以下内容比较宽松,使用MSIE和SSL时不会禁用保持活动状态
BrowserMatch "MSIE [1-4]" nokeepalive ssl-unclean-shutdown downgrade-1.0 force-response-1.0 BrowserMatch "MSIE [5-9]" ssl-unclean-shutdown