web-hosting - 使用 CDN 和我们自己的服务器哪个更好?

标签 web-hosting cdn file-handling web-development-server front-end-optimization

在开发网站时,使用 CDN 链接来集成字体、jquery 和所有这些东西是一个好习惯吗?或者将文件保存在我们自己的服务器上更好。 假设,我将 jquery 文件保存在美国的托管空间中,并且我的浏览器对其发出请求。如果我使用 CDN 会更好吗?以便浏览器可以从最近的CDN服务器获取文件 这是真正的逻辑吗?我的意思是这就是它的工作原理吗?

最佳答案

是的,靠近用户的位置是优点之一。但是 CDN 是否适合特定网站取决于许多因素,例如服务器负载和速度、相对于大多数访问者的位置等。

根据您的问题,我假设您不是在谈论使用像 Cloudflare 这样的 CDN,而是在谈论“ajax.googleapis.com”之类的东西,它通常用作字体和常用代码的“CDN”。

我想通常使用 CDN 不会有什么害处,而且可能是有益的(减少明显的国际请求/响应延迟,减少服务器带宽使用,甚至本地访问者也可能会看到一些改进)。

您的问题中未提及的优点和缺点:

如果您使用主要的 CDN(例如 Google)来提供其他网站也很流行的字体和 jquery - 那么您的访问者的浏览器可能已经拥有该 Google URL 的文件的缓存副本,并且不会尝试再次请求。加快您的页面在浏览器中的显示速度。

使用 CDN 可能会稍微增加网站“损坏”的风险。如果您使用 CDN 来服务 jQuery,那么如果服务器或 CDN 出现故障,您的页面将会“损坏”。可能性不大,但 CDN 中断并非未知。

如果所有内容均由您的网站提供,则浏览器只需对一个域执行 DNS 查找 - 如果您使用 CDN,则浏览器必须执行额外的域名查找;但效果可能微乎其微。

关于web-hosting - 使用 CDN 和我们自己的服务器哪个更好?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46315876/

相关文章:

linux - 部署 JSP 网站

css - Bootstrap 。需要建议重新本地 CSS 文件和 CDN 链接

google-cloud-platform - Google CDN随机不提供gzip内容

c++ - 即使在包含 std 命名空间之后,fstream 也无法在 Visual Studio 2017 中工作

azure - 如何让您拥有的现有域指向 Azure 的服务器?

mysql - 如何将 HeidiSQL(或类似的 MySQL 管理器)与托管数据库一起使用

azure - 从 DC 中托管的服务器迁移到 Azure

git - 将内容从 GitHub 移动到 JsDelivr 有哪些步骤?

java - 如何在Java中使文件读取平台独立

matlab - 我应该如何将矩阵写入十六进制格式的文本上?