Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/281.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 使用CDN for js和类似资源与使用本地资源相比是否更好?_Php_Html_Cdn - Fatal编程技术网

Php 使用CDN for js和类似资源与使用本地资源相比是否更好?

Php 使用CDN for js和类似资源与使用本地资源相比是否更好?,php,html,cdn,Php,Html,Cdn,我有一个习惯,就是把所有东西都存储在本地,并确保我的网站即使在没有互联网连接的情况下也能在本地服务器上运行。这一直是我的原则,因此我的网站可以独立脱机运行,最特别的是在开发阶段,我的页面刷新速度非常快,即使没有互联网,我也可以继续开发我的网站 因此,在我所有的web应用程序和网站中,我总是下载我需要的软件包和库,并在本地链接到它们以获取包含或不包含的内容 我知道越来越多的人通过公共CDN和其他东西链接/导入图书馆,所以我想知道这样做是否真的有什么显著的好处 我已经确定了明显的问题(请随意更正):

我有一个习惯,就是把所有东西都存储在本地,并确保我的网站即使在没有互联网连接的情况下也能在本地服务器上运行。这一直是我的原则,因此我的网站可以独立脱机运行,最特别的是在开发阶段,我的页面刷新速度非常快,即使没有互联网,我也可以继续开发我的网站

因此,在我所有的web应用程序和网站中,我总是下载我需要的软件包和库,并在本地链接到它们以获取包含或不包含的内容

我知道越来越多的人通过公共CDN和其他东西链接/导入图书馆,所以我想知道这样做是否真的有什么显著的好处

我已经确定了明显的问题(请随意更正):

亲本地 -更快的开发体验 -对可能中断的其他服务器的零依赖性 -更快的用户体验(?)因为站点页面执行速度很快,并且已经在同一台服务器上使用文件/库(本地化)

亲CDN -节省网络空间(但在当今世界,这似乎无关紧要。在一个典型的网站上,你只能节省大约10-20mb的空间,而在当今的宏伟计划和廉价的服务器中,这又是什么呢)

  • 服务器上的打火机(?)=我真的很想知道这个。在服务器的处理器ram和i/o磁盘上,从CDN加载会更轻吗?还是会更糟,因为执行文档(例如index.php)会占用线程/mem/cpu周期,从而需要更长的时间才能完成

谢谢大家

每个HTTP/HTTPS请求都是web服务器的工作。 对JS、CSS或任何其他静态文件的请求将被重定向到CDN,该CDN通常具有分布式、快速和稳定的体系结构

如果您管理的web应用程序或网站的页面执行许多请求,并且您接收到大量用户,则每秒HTTP请求的数量可能会急剧增加;如果您的web服务器开始响应缓慢,那么最好拆分请求,CDN非常擅长管理静态内容

基本上,在执行调优时,服务器的规模可能会更小,从而节省资金


如果您没有面临性能不足的问题,那么您可能不需要使用CDN。

CDN的好处不(也不应该)适合您。这是为您的客户/用户准备的。使用CDN文件——特别是对于广泛使用的库,如jQuery(或任何其他大型库)——意味着它们将从靠近它们的物理位置接收文件的缓存副本。在大多数情况下,对大型库使用流行的CDN意味着用户以前也从其他人的站点下载过该资源,因此文件将在浏览器中本地缓存

这有助于减少用户下载文件的时间。这与您的服务器负载或您在所有情况下的开发能力无关,只与边缘情况的最小裕度有关。首先考虑你的用户


对大多数静态文件使用CDN对您的用户来说绝对是更好的。

“更快的用户体验(?)因为使用同一服务器上的文件/库(已本地化)时,网站页面执行速度很快”-如果它是一个公开可用的网站,为什么将文件全部放在同一服务器上会更快?我不是说它会慢一些,虽然可能会慢一些,但它们在运行之前都必须下载到最终用户的浏览器中,它们不会在web服务器上运行。哦,是的,我不知道我在想什么呵呵。很高兴被提醒,非常感谢!这是一个很好的观点。感谢您的反馈,我想知道使用CDN对库的加载顺序有何影响。这和在当地为他们服务一样吗@rockerest@Gnoliz根据此资源,假设
标记没有async/defer,浏览器必须暂停渲染,并在遇到每个
标记时立即执行脚本。您可以在链接资源的第3步A部分了解更多信息。关于CDN和类似的东西,还有一件事我不喜欢——它们正在改变!我的网站不是花哨的登陆页,一年后就会消亡,在我三年前加入这个项目之前,它已经在没有任何技术维护的情况下运行了4年。在7年内,每一个图书馆都会更新或者消亡,所以如果我把它保存在本地的话——我很好,我的网站肯定会存在。但是,当我使用CDN时,我需要检查“它还活着吗?”,“有新版本吗?”,“如果有,它会破坏任何兼容性吗?”,“服务器为什么没有响应”等等……我只想把这篇文章留给以后来这里的人:“CDN和类似的东西还有一件事我不喜欢的,它们正在改变!”这是对CDN的不正确使用。您应该确定所需的版本,并在CDN上使用该版本。没有什么能阻止你锁定一个版本。说得好,迈克,非常感谢!我想知道使用CDN会如何影响库的加载顺序。这和在当地为他们服务一样吗@通常CDN比标准主机更快