我使用Tomcat作为一个服务器和Internet Explorer6作为一个浏览器。一个网页在我们的程序有约75图像。我们正在使用SSL。这似乎是非常缓慢载的所有内容。我怎么能配置Tomcat因此,即缓存这些图像吗?

有帮助吗?

解决方案

如果提供一个网页在https然后你会需要为所有包含静态或动态资源在https(无论是来自同一领域,或另一个领域,也可在https)为了避免发出安全警告在浏览器。

内容提供了一个安全通道将不会被写入磁盘通过默认通过最浏览器和所以生活在浏览器高速缓冲存储器,其中小得多的磁盘上高速缓存。这种高速缓存也消失时退出应用程序.

有说所有的,有些事情可以做,以提高高速缓存能力SSL资产内部的一个单一的浏览器的设定。对于初学者来说,确保所有你的资产有合理的到期和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剂。恕我直言这就是太保守的,最后MSIE浏览器拥有问题采用SSL5.x和未修复版本的6.0预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

其他提示

一些浏览器将高速缓存SSL内容。Firefox2.0不高速缓存SSL资源的光盘上的默认情况下(为增加私隐).Firefox3+不高速缓冲存在光盘,除非Cache-control:公头的出现。

所以设置过期:头正确和Cache-control:公众。例如

<Files ~ "\.(gif|jpe?g|png|ico|css|js|cab|jar|swf)$">
        # Expire these things
        # Three days after access time
        ExpiresDefault  "now plus 3 days"
        # This makes Firefox 3 cache images over SSL
        Header set Cache-Control public
</Files>

如果一个很大的那些75图像的图标或图像显示在每一页上,可以使用CSS精灵大幅度减少HTTP请求数量和由此载入页面更快:

http://www.alistapart.com/articles/sprites/

75图像听起来就像很多。如果这是一个很小的图片,还有办法捆绑多的图像作为一个您可能会看到如果你能找到一个图书馆,这样做的。你也可以很可能力图片缓存在的东西喜欢 谷歌的齿轮.

内容提供了一个HTTPS connection 从来没有得到缓存 在浏览器。你不能做很多有关。

通常,图像在你的网站不是非常敏感,并通过HTTP于这个原因。

第一个答案是正确的,没有什么是高速缓存在使用HTTPS。然而,当你建立自己的网页,可以考虑引用的图像通过他们的个人的URL。这样你可以指定的图像来自一个HTTP源,他们会(有可能)是缓会通过浏览器。

也许你可以添加一个额外的服务器/域提供的图像没有https?

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top