我们使用一个非常简单的模型,并假设它是最简单的HTTP请求,不使用代理并且使用的是IPv4
1. 浏览器首先判断使用的是什么协议(ftp/http),然后对URL进行安全检查。最后浏览器查看缓存,如果请求的对象在缓存中并且是比较新的。那么直接跳到步骤9
2. 浏览器请求OS返回服务器的IP地址
3. 操作系统启动DNS查询并向浏览器返回服务器的IP地址
4. 浏览器使用TCP协议建立与服务器的连接
5. 浏览器通过TCP连接发出HTTP请求
6. 浏览器收到HTTP响应。这时候浏览器可能关闭TCP连接,或者继续使用它来请求其他数据。
7. 浏览器检查响应报文的状态码。并根据不同的状态码做不同的处理。
8. 如果响应是可缓存的,那么就存储在缓存区。
9. 浏览器解码响应报文(比如文件是压缩的就需要解压缩)
10. 浏览器渲染响应的数据。