内容分发网络(CDNs) 在过去几年间彻底改革了网络主机. 取代了单个服务器托管网站的方式, 你可以跨多个系统和负载分发文件。
大多数 CDN 被用于管理静态资源文件, 例如: 图片, 视频, 音频, CSS 与 JavaScript 文件. 并可以通过大量公共与私有的 CDN 系统获取到公共的 JavaScript 类库, HTML5 Shim, CSS Reset, 字体和其他可用的资源.
目前, 有很多的免费 CDN 服务, Google, Microsoft, Yahoo 和其他大量网站都提供了各种的 CDN 服务. 举个例子, 在 YouTube 和 Vimeo 提供了如此身体的免费服务后, 几乎没有人在本地保存自己的视频了. 与此相同的是, 若果你需要引入jQuery, 你可以这么做:
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.4/jquery.min.js.js"></script>
或者
<script src="http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.6.4.min.js"></script>
同样, 你也可以使用私有收费的 CDN 服务, 比如: Amazon S3, Microsoft Windows Azure 和 MaxCDN 来托管你的文件.
使用 CDN 会为你的网站和公司带来如下的帮助:
1. 不同的域名
浏览器会限制相同域名下并发连接(文件下载)的数量. 目前大都允许4个连接, 因此第五个下载请求会被阻塞, 直到之前的文件被完全接收完毕. 在同一个网站内下载很多大型文件时会经常看到这个限制.
CDN 文件被托管在不同的域名上. 事实上, 一个单独的 CDN 允许浏览器同时下载远远超过4个文件.
2. 文件可以被预缓存
jQuery 是无所不在的. 一个用户在访问你的页面时候, 可能有很大的几率已经访问过使用 Google CDN 的其他网站. 因此, 这个文件已经被浏览器缓存, 就不需要再次下载了.
3. 高容量的基础设施
或许你拥有不错的主机, 但是我打赌它不具备 Google, Microsoft 或 Yahoo 提供的主机的容量和可扩展性. CDN 提供了高可用性, 更低的网络延迟和较低的丢包率。
4. 分布数据中心
如果你的主服务器位于达拉斯, 那么欧洲或者亚洲的用户访问文件肯定会产生大量的横跨大陆的电子信号跳跃. 很多 CDN 提供了本地化的数据中心, 使其更贴近用户, 从而产生更快的下载速率.
5. 内置的版本控制
通常可以链接到一个特定版本的 CSS 文件或 JavaScript 类库. 你可以按需总是请求 “最新的” 版本.
6. 使用情况分析
很多商业性质的 CDN 提供了文件使用情况报告. 那些报告可以提供网站的分析情况, 并且在某些情况下, 可能会提供一个更好的效果的视频视图和下载内容.
7. 提高性能, 节约成本
CDN 可以分配负载, 节省带宽, 提高性能并且减少现存的主机的消耗 - 通常是免费的.
22 Sep 2011 ▸ 7 Reasons to use a Content Delivery Network