即使引入了网络延迟,将子域用于静态资源也可以提高性能吗?

马修·萨尔萨门迪(Matthew Salsamendi)

根据Yahoo的网络标准建议,我们正在努力将我们的网络基础结构切换为对静态资源使用单个子域。从理论上讲,这将提高性能,因为它将允许浏览器异步发出请求以获取所需的静态资源。我们将Cloudflare用作CDN,但我有点担心DNS会增加额外的延迟,指向Cloudflare的任何强制转换IP范围(而只有15ms)可能会抵消通过切换到静态子域。

奥弗·泽利格

额外的延迟是疏忽大意的。浏览器/客户端将只解析一次新的静态子域。总体而言,它的确有回报,原因如下:

  1. 浏览器可能会更有效地将请求并行处理到不同的域(尽管最近的发展使这成为过去,事实上,一些研究表明,今天的域分片甚至更糟
  2. 您的CDN源将提供具有更好的优化头的文件。没有用于Cookie的标头(不需要),用于客户端和代理缓存的更好的标头。
  3. 最重要的是-CDN将静态内容散布到全球各地(所谓的“边缘”),因此您的客户将从附近的服务器获取静态内容,从而将延迟降至最低。

关于您的最后一段,我认为有些混乱...静态文件并非要从Web服务器内部获取。您的代码应访问本地文件(并非总是如此,因为某些文件可以存储在NAS左右)。静态子域/ CDN中的静态文件是从用户的浏览器而不是从Web服务器获取的。您的Web服务器自己创建页面(可能是动态页面,例如PHP,ASP.NET文件等),这些页面会将HTML呈现给客户端。HTML引用了其他静态资源:JS,CSS,图像等-这些资源理想上应驻留在某种CDN中。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

将静态类合并到设计中可以提高性能吗?

来自分类Dev

将const调用应用于原始类型时,是否可以提高性能?

来自分类Dev

字符/数字的乘法可以提高性能吗?

来自分类Dev

通过使用yield与foreach可以提高性能吗?

来自分类Dev

带ListenAndServe的Goroutine可以提高性能吗?

来自分类Dev

我可以禁用dgrid中的排序以提高性能吗?

来自分类Dev

可以缓存JSON以提高性能/加载时间吗?

来自分类Dev

值得将ArrayList转换为数组以提高性能吗?

来自分类Dev

有效地检查并替换子字符串-我可以在这里提高性能吗?

来自分类Dev

缓存对齐会提高性能吗?

来自分类Dev

SSD交换会提高性能吗?

来自分类Dev

suitescript将项目子列表添加到itempricing子列表-提高性能

来自分类Dev

Postgres:在nvme磁盘上创建表空间可以提高性能吗?

来自分类Dev

我可以禁用“禁用应用程序以帮助提高性能”通知吗?

来自分类Dev

通常,将输出重定向到/ dev / null是否可以提高性能?

来自分类Dev

将常用字符串定义为变量是否可以提高性能?

来自分类Dev

普通类,单例类或静态方法以提高性能

来自分类Dev

SQL提高性能

来自分类Dev

skSpriteKit提高性能

来自分类Dev

提高性能-Java

来自分类Dev

CLS 提高性能

来自分类Dev

Redshift按字母排序会提高性能吗?

来自分类Dev

多线程会提高性能吗?场景Java

来自分类Dev

C ++中的宏会提高性能吗?

来自分类Dev

SyntaxNet 处理大量句子,GPU 能提高性能吗?

来自分类Dev

禁用视觉效果会提高性能吗?

来自分类Dev

Java crypto,是否可以重置IV以提高性能?

来自分类Dev

骨干:范围界定是否可以提高性能?

来自分类Dev

名字和姓氏表可以提高性能?

Related 相关文章

热门标签

归档