Rendering on the Web

Terminology

Rendering

  • SSR: Server-Side Rendering – rendering a client-side or universal app to HTML on the server.
  • CSR: Client-Side Rendering – rendering an app in a browser, generally using the DOM.
  • Rehydration: “booting up” JavaScript views on the client such that they reuse the server-rendered HTML’s DOM tree and data.
  • Prerendering: running a client-side application at build time to capture its initial state as static HTML.

Performance

  • TTFB: Time to First Byte – seen as the time between clicking a link and the first bit of content coming in.
  • FP: First Paint – the first time any pixel gets becomes visible to the user.
  • FCP: First Contentful Paint – the time when requested content (article body, etc) becomes visible.
  • TTI: Time To Interactive – the time at which a page becomes interactive (events wired up, etc).

参考:
Rendering on the Web

代码不死

几十年前的可自定义种子的随机数生成代码

参考:
The Central Randomizer
Linear congruential generator
http://www.ict.griffith.edu.au/anthony/info/C/RandomNumbers
JavaScript随机数生成算法中为什么要用9301, 49297, 233280作为Magic Number

浏览器的工作原理

2011 Tali
浏览器的工作原理:新式网络浏览器幕后揭秘
How Browsers Work: Behind the scenes of modern web browsers
How Browsers Work: Behind the scenes of modern web browsers

2018 Google
Inside look at modern web browser (part 1)
Inside look at modern web browser (part 2)
Inside look at modern web browser (part 3)
Inside look at modern web browser (part 4)

阿里云 CDN 部分地区 HTTPS 资源被劫持

公司在全国大部分地区都有业务,使用了阿里云作为 CDN 提供商,全链路使用 HTTPS 协议,证书是在阿里云申请的。
2018 年 1 月份出现过一次福建地区 HTTPS 被劫持,一个 js 资源被 302 至 https://ts.olyoneshop.com/rouyf/ghytuj/gyytru2.js 后将整个页面跳转至第三方页面。
由于是 HTTPS 协议被劫持,当时胡思乱想了一通 GFW 省级节点之类的想法,不过最后证明时出现了被迫害妄想症(哈哈,想多了)。
原因是由于阿里云 CDN 内部使用 HTTP 协议,在两个节点中间的数据传输,被中间链路中的某家运营商劫持了(具体哪家没说),内部改为 HTTPS 协议解决。

2018 年 10 月又在新疆地区出现 HTTPS 被劫持,随机某个 js 资源被替换为一段代码,动态注入原始 js 资源和 http://39.106.146.43:1616/mb.php?id=kh03 输出的 js 资源。
关键在于其代码水平过于低劣,劫持了 HTTPS 协议的 js 资源,却试图动态写入 HTTP 协议的 js 资源,妥妥的被浏览器的安全策略拦截了,造成正常页面出现错误。
联系了阿里云客服,确认 CDN 上的文件 MD5 是正常的。而在本地直接访问被注入的 url 链接无任何响应输出,且经查询得知 39.106.146.43 属于北京市阿里云机房(也有一说香港)。
不同于上次福建地区劫持的恶意页面跳转,本次新疆地区劫持试图悄悄注入未知功能的脚本,只是因为水平低劣而暴漏,于是被迫害妄想症又冒了上来(不回来真的吧)。
目前联系了客服,刷新了一下 CDN 缓存。至少测试的部分地区看起来已经正常了,至于是否完全正常,只有阿里云知道了。

后续还是出现了劫持,阿里云再次给出使用年初的解决方案。