初识WEB:输入URL之后的故事
初识WEB:输入URL之后的故事 1. 概述 2. HTTP请求过程 3. 相关性能检测及优化手段 4. 浏览器的呈现过程 5. 浏览器的呈现引擎 6. 引用及延伸阅读 概述 为什么输入 www.cnblogs.com 之后敲一个回车,浏览器就会显示我们所看到的内容?这家伙在背后到底偷偷的干了哪些事情?今天我们就来挖掘一下这背后的故事。 HTTP请求过程 为直观明了,先上一张图: 画完之后,才发现原来我的字写的这么难看,别喷我,小伙伴们! 下面是详细的步骤以及说明: 输入URL,敲回车。 针对当前URL检查是否存在本地缓存, 如果存在,则会加载本地缓存进行呈现。如图,经过 (1)-> (2) ->(9) ->(10)。 ( 感谢“我是你的猪”的纠错 :) ) 根据URL找到对应的IP地址。这一步通常被称为DNS轮询,这里面是有缓存机制的。缓存的顺序依次为:浏览器缓存->操作系统缓存->路由器缓存->DNS提供商缓存->DNS提供商轮询。 建立TCP连接到上一步找到的机器 用上一步建立的连接发送http request 等待并接收http response 关闭TCP连接,视情况而定,http1.1已经支持keep-alive。那么这个TCP请求是可以被后面的request利用的,这样就可以减少不断建立连接而造成的损失。 检查状态码,如果response的状态码出现3XX(跳转)