可能越来越多的人观察到,尽管LiteSpeed Cache明确警告可能存在冲突,但WordPress的LiteSpeed缓存插件的许多用户同时也在使用Cloudflare APO。什么是Cloudflare APO?其实就是Cloudflare Automatic Platform Optimization的简称,也就是通过 Automatic Platform Optimization,静态和动态的 WordPress 内容均从覆盖 330 个城市的 Cloudflare 网络交付。其实Cloudflare APO与LiteSpeed Cache冲突后的选择的,会影响网站评分,但这些冲突的实际原因是什么?这篇文章将解决这些问题以及更多问题。
LiteSpeed Cache和Cloudflare APO之间有什么区别?
为了更好地理解冲突,了解两种缓存和优化解决方案之间的差异至关重要。除了功能的具体细节外,主要区别很小。LiteSpeed Cache和Cloudflare APO都提供页面缓存。页面缓存基于URL,创建动态生成的HTML页面的静态副本,该副本存储在服务器上,或者在Cloudflare的情况下存储在CDN节点上。一旦页面被缓存,就只传递静态副本的内容,从而消除了PHP执行和数据库查询的需要,这解释了加载时间更快的原因。
LiteSpeed和Cloudflare的基本缓存原理基本相同,尽管Cloudflare通过其CDN节点执行缓存。请注意,LiteSpeed Cache只缓存动态生成的内容,如主文档和进一步的PHP生成的请求。另一方面,Cloudflare也缓存静态源,这不一定比LiteSpeed有优势,因为它往往会导致缺点。缓存静态源更像是CDN的一个功能,而不是页面缓存。此外,Cloudflare的缓存仅限于最近的CDN节点。不在同一CDN节点上的用户将不会收到缓存的页面。这对于了解任何CDN是否总是比源主机更快至关重要。
为什么Cloudflare APO与LiteSpeed Cache冲突?
由于Cloudflare APO和LiteSpeed Cache在页面缓存方面没有根本区别,因此很明显,1页缓存加1页缓存并不等于2页缓存。Cloudflare是一个CDN,位于源主机前面,因此来自Cloudflare的缓存页面请求仅由CDN节点响应。LiteSpeed是否也在源主机上缓存了相同的URL既没有优势也没有劣势,因为Cloudflare的缓存请求不包括源主机。对源主机的更改只有在清除Cloudflare缓存后才可见。这是两种缓存解决方案冲突的关键原因。
LiteSpeed和Cloudflare都允许定义所谓的缓存变化规则,这些规则根据HTTP参数创建不同的缓存副本。虽然LiteSpeed通过PHP定义了这些规则,并且还可以在.htaccess文件中为缓存页面使用modRewrite规则,但Cloudflare不支持.htacccess文件中的这些规则。
WordPress的LiteSpeed Cache插件使用Cloudflare不支持的各种缓存规则。因此,使用Cloudflare APO会导致以下LiteSpeed缓存功能停止工作:
-
访客模式
-
移动缓存
-
WebP更换
-
JS/CSS最小化
-
JS/CSS组合
使用Cloudflare APO和LiteSpeed Cache意味着放弃这些功能,这会显著影响PageSpeed得分。
不同时使用LiteSpeed Cache和Cloudflare APO的缺点是什么?
同时使用这两种缓存解决方案的缺点超过了单独使用Cloudflare APO的缺点。然而,Cloudflare仍然可以用作CDN,即使没有缓存,CDN主要用作解析IP地址的DNS提供商。无论缓存如何,Cloudflare的安全功能都非常有用。可以在源主机上设置类似的保护,但阻止不需要的流量会带来额外的成本和服务器负载。因此,通常最好通过Cloudflare这样的代理来实施安全措施。然而,Cloudflare过滤规则的复杂性可能会增加响应时间。
Cloudflare总是比原始主机快吗?
不一定。Cloudflare或任何其他CDN提供商有时会缩短加载时间。Cloudflare APO的口号“让WordPress网站加载速度提高72%的简单方法”不应被泛化,因为Cloudflare要比源主机更快,必须满足几个因素。
第一个因素是CDN节点和用户位置之间的距离。虽然互联网上的数据传输几乎是即时的,但它不会直接发生在CDN节点和客户端之间,这也适用于没有CDN的情况。互联网的去中心化特性要求请求联系多个路由器,这可能会导致延迟。IP地址的解析会影响加载时间。CDN优势仅在第一个请求上显示。一旦浏览器知道IP地址解析的位置,CDN的优势就会减弱,尤其是对于静态源。
为了使Cloudflare或任何其他CDN更快,必须满足以下条件:
-
通过Cloudflare解析IP地址必须比通过源主机更快。
-
CDN节点和客户端之间的距离必须小于源主机和客户端之间。
-
请求的内容必须已经在CDN节点的缓存中。
必须满足所有这些条件;否则,Cloudflare APO将不会提供显著的好处。所有CDN节点都必须缓存URL的内容;否则,请求将被转发到源主机。这大大降低了CDN缓存的优势。Cloudflare的口号“让WordPress网站加载速度提高72%的简单方法”只有在满足所有条件的情况下才成立。
我真的需要Cloudflare或其他CDN吗?
您是否需要Cloudflare APO或任何其他CDN在很大程度上取决于您的网站访问者的位置。基本规则很简单:如果您的大多数访问者与您的服务器来自同一位置,那么像Cloudflare这样的CDN可能会比源主机慢。当您的网站内容具有国际意义,并且大多数访问者来自其他国家时,使用CDN是最有益的。