我打算建一个网站。我希望它是尽可能优化,所以我想也使用CDN的图像和视频等。
该网站将只为一个国家(荷兰,一个非常小的国家)。在这种情况下,我真的能从使用CDN中获益吗?
如果不需要CDN,是否仍然建议将该类型的内容放在例如子域(content.mydomain.com或cdn.mydomain.com)中?
发布于 2017-08-10 19:52:04
通常情况下,你会使用CDN,这样生活在另一个国家的人就有更少的时间加载图像和视频等。在您的情况下,如果只有荷兰人连接到您的网站,提供来自格罗宁根(荷兰北部)或马斯特里赫特(荷兰南部)的图片和视频几乎没有任何好处。也不需要把它放在一个子域中。只要把它组织得井井有条,比如把网站的图片放在www.domain.com/images文件夹中。
发布于 2017-08-10 20:07:48
如果CDN的成本不高,你的网站的用户想要一个快速加载的网站,并且有很多用户,那么你将从CDN中受益。请记住,将向最终用户显示页面的浏览器将在他的机器上,web开发的目标之一是提供更好的用户体验。
当您的浏览器下载一个html页面时,它会尝试下载相关的资源,如样式表、javascript、图像、视频等,同时也要完成页面的下载并在浏览器中呈现出来。每个浏览器对每个主机名都有一个并发请求限制。因此,在此限制之前,浏览器可以从主机名并行下载内容。然后在浏览器中有最大连接数限制。其他项目排队,并在第一个项目完成下载时开始下载。在chrome中查看www.microsoft.com的网络标签页,或者像facebook这样的其他大型网站,你就可以看到它的发生。
通过使用CDN,您可以向浏览器提供更多的主机名来下载内容,因此并行下载量会增加。最终用户的页面加载速度更快。
此外,请注意,您的图像应该针对大小和比例进行web优化。他们不应该在较大的尺寸,然后缩放到较小的内容区域。请注意,如果不是必需的,您的视频不应该在页面呈现时自动播放。
此外,如果您可以对通过cdn托管的图像或css或js文件使用内容过期,效果会更好。已经通过浏览器下载的内容、具有遥远的内容到期日期(超过几个月)、并且当前在缓存中可用的内容不需要花费网络请求来下载内容。在这里,我假设你已经在为js和css做内容捆绑和压缩了。
如果您需要在web上查看更多内容,您可以查看Steve Souders或Web性能优化。
https://stackoverflow.com/questions/45612856
复制相似问题