1. 输入url点击回车
2. 浏览器进行DNS查找,
- (a)先去浏览器DNS缓存里找,没有找到,
- (b)就去系统DNS缓存里找,没找到,
- (c)就去在host文件中查找,没找到,
- (d)就去ISP DNS缓存找,互联网服务提供商(如中国电信)也会提供DNS服务, 还没找到,
- (e)就去顶级DNS服务器查找。
3. 浏览器发起http请求:
- (a)TCP层进行三次握手,握手之后链接就建立起来了,然后开始进行数据传输。
- (b)TCP收到HTTP层数据后,会将数据流砍成一个个小数据块,然后就像快递单子一样,将这些数据块贴上来源IP和PORT以及目的地的IP和PORT, 然后传给IP层;
- (c)IP层,在自己做一些事情后,将数据传送给目的地IP;
- (d)目的地IP收到数据后,会将数据给TCP层,
- (e)TCP层根据数据包上的PORT,将数据发给指定的PORT,然后应用层的代码就可以listen到啦。
- (f)listen到了之后,会进行数据回写,就这样客户端与服务器进行了通信。客户端拿到了需要渲染的html页面
- (g)TCP四次挥手,断开连接
4. 浏览器拿到html页面之后,开始进行渲染
浏览器渲染页面过程请移步点击这里