| 关键词: 干扰 浏览器 内容 CSS 网站 之前 CDN 一个 猜想 图中 |
最近连打开外国网站(毫无敏感信息的普通网站)的速度也是越来越慢」。毛十八也提到之前一个订欧洲火车票的网站也是时断时好。我猜想这是 CDN 受到干扰的原因。于是问她要来了那个订票网站的网址查了一下,果然用到了 Akamai 的 CDN。我大概在 2010 年的时候观察到 CDN 被干扰的现象。当时我也不明白,CDN 上只有样式没有内容,为什么要对它动手?后来我知道了 CSS 是一种「阻塞渲染资源」:Render Blocking CSSBy default CSS is treated as a render blocking resource, which means that the browser will hold rendering of any processed content until the CSSOM is constructed.也就是说,在 CSS 加载完成之前,浏览器都不会对正文内容进行渲染。你也许曾经听过干扰的几种方式:DNS 污染、关键字阻断、针对特定端口丢包等等。不过我猜想对于 CDN 的干扰有一种特别的方式:限速。浏览器对于 HTTP 请求会定义一个超时时间,一般都不会低于 30 秒。假设在超时为 30 秒的情况下以每 30 秒 1KB 的速度发送 CSS 的内容,一方面不至于使浏览器由于超时而放弃请求 CSS,另一方面对于一个 100KB 的 CSS 来说,完整加载的时间就需要 50 分钟。而在此之前浏览器不会去主动渲染正文内容——你很可能就会碰到题图中的那种情况:标题已经显示;进度走了一半;页面一片空白。这大概就是「上不去」或者「越来越慢」的原因了。嗯,反正你们要说国内技术团队不懂创新我是不信的。 |
|
声明:文章版权归原作者所有 部分文章转自互联网 如有侵权请联系
[邮箱地址] 删除
|