Caching 在站点上提供图像和其他静态内容的最快方式是什么(使加载更快)?

Caching 在站点上提供图像和其他静态内容的最快方式是什么(使加载更快)?,caching,image,Caching,Image,我们的网站是一个电子商务网站,有很多图片和flash(所有页面都呈现相同的重flash)。所有静态内容都是从Web服务器(IHS clustered-2节点)存储和提供的。我们仍然注意到图像传输缓慢。这种方法正确吗?有哪些替代方法可以做到这一点,比如使用第三方供应商提供图像或实现某种缓存? 另外,我们所有的页面都是https。这可能是一个原因吗 编辑1:图像是从 https,因此警报是非 问题 Edit2:IE和上的加载速度较慢 我们的大多数用户都是IE,我不是 确定是否可以使用特定于浏览器的样

我们的网站是一个电子商务网站,有很多图片和flash(所有页面都呈现相同的重flash)。所有静态内容都是从Web服务器(IHS clustered-2节点)存储和提供的。我们仍然注意到图像传输缓慢。这种方法正确吗?有哪些替代方法可以做到这一点,比如使用第三方供应商提供图像或实现某种缓存? 另外,我们所有的页面都是https。这可能是一个原因吗

编辑1:图像是从 https,因此警报是非 问题

Edit2:IE和上的加载速度较慢 我们的大多数用户都是IE,我不是 确定是否可以使用特定于浏览器的样式 导致IE加载速度变慢的原因是什么 有一些特定于浏览器的样式 (工业工程)


虽然通过HTTP提供页面的速度可能更快(尽管我怀疑https对于小文件来说并不是非常慢),但如果包含的资源(如图像和JS)不在
https://
URL上,很多浏览器都会抱怨。这会给你的客户带来恼人的弹出式通知

有用于静态文件服务的高性能服务器,但除非您的SSL证书适用于多个子域,否则会有各种复杂情况。如果高性能服务器可以进行SSL协商,那么将高性能服务器放在动态内容服务器前面并反向代理可能是一种选择。对于unix平台,Nginx因其反向代理和静态文件服务而备受青睐。像Squid这样的代理缓存设置也可以选择


在像amazon这样的云上提供静态内容是一种选择,一些云提供商也允许您使用https,只要您能够使用其域名的子域(由于SSL的技术限制)

您就可以创建CDN。如果您的站点使用HTTPS,您也需要HTTPS域(否则您可能会收到非安全项目警告)


此外,如果您的站点使用cookie(大多数使用cookie),在不同的域上有CDN(或者如果您使用www.example.com,在CDN.example.com上),您可以在那里托管它们,而不让HTTP请求中的cookie数据进入。

图像也在https URL上,因此警报不是问题。然而,另一件事是该网站在IE上的速度较慢。可能是浏览器特定的样式造成的?可能是浏览器特定的样式,也可能只是IE选择加载资源顺序的问题(甚至是flash插件/渲染速度的问题)。作为旁注,是否在每次加载页面时都会重新加载图像/CSS?您可能需要配置Web服务器以输出正确的头。让您的服务器生成适当的缓存控制和Etag头并支持条件get对于减少响应时间非常有帮助。这似乎是一个可以应用的想法。我们的网站虽然在互联网上可用,但主要是通过公司内部网使用。在公司网络上设置CDN可能会加快加载速度,至少在office中是这样。