参考文章
https://blog.csdn.net/Charles_Tian/article/details/80204526
https://blog.csdn.net/zgege/article/details/81587502
流程图
流程图.jpg过程分析
开始了, 你总得输入一个url吧, 大家都用的www.baidu.com当然我也不例外。
Step1
浏览器会开启一个线程来处理这个请求。
Step2
刚刚输入的www.baidu.com是一个域名。其实浏览器并不会立刻就通过你的宽带运营商来请求页面。它会先去找缓存。(此处设计浏览器缓存的知识,以后一定要补上。)
- 找的是自身的DNS
- 找本地的Host文件
- 找无线路由器
- 发起DNS的系统调用,让宽带运营商帮忙找(这一部就不细说了)
以上步骤的目的只有一个那就是通过域名解析到IP地址!如果某一步找到了缓存中的IP地址, 那么就直接跳出这一步。
Step3
找到了IP地址,浏览器会向域名对应的IP地址服务器发起TCP连接, 进行“三次握手”(此处需要补充计算机网络的知识)
Step4
建立完成了TCP/IP连接,便向浏览器发送HTTP请求
Step5
服务器会处理请求, 并返回结果即HTML页面
Step6
浏览器会下载这些HTML文件,设置缓存,并关闭TCP连接。在此过程中肯定会有css, js, 图片等静态资源也会经过上述的步骤。
Step7
最终会根据HTML生成界面。(此处需要补充html渲染的过程。)
网友评论