1. 用户打开自己的浏览器,在地址栏中输入 URL,例如 alignedleft.com/tutorials/ d3/。因为没有指定协议,所以浏览器会使用默认的 HTTP 协议,在 URL 前面补 上“http://”。
2. 浏览器尝试通过互联网连接 alignedleft.com 所在的服务器,连接其 80 端口(这 是 HTTP 连接的默认端口)。
3. 与 alignedleft.com 关联的服务器同意连接,并准备接收浏览器的请求。(“我会等 你一晚上,不见不散。”)
4. 浏览器请求访问位于目录 /tutorials/d3/ 下的页面。
5. 服务器把那个页面的 HTML 内容发给浏览器。
6. 浏览器收到 HTML 后,根据其中引用的其他文件(包括 CSS 样式表和图片)再 聚合并显示出完整的页面。为此它还要再连接到同一台服务器,每次请求并取得 一个文件。
7. 服务器响应,根据请求发回每个文件。
8. 网页文档传输完毕。浏览器履行它最费劲的职责——渲染内容。首先通过解析 HTML 确定内容的结构,然后根据 CSS 选择符为匹配的元素应用样式,最后把 图片插入到页面中,并执行 JavaScript 代码。
或许你不敢相信,每单击一次链接都会经历上述步骤。这些步骤比大多数人想象的 要复杂,但却是理解客户端 / 服务器对话的基础,也是理解 Web 运行原理的基础。
--------摘自
《数据可视化实战 使用D3设计交互式图表Interactive Data Visualization for the Web》
Scott Murray 著 李松峰 译