一次完整的HTTP请求过程
当我们在WEB浏览器的地址栏中输入:www.baidu.com,然后回车,然后发生了什么?
过程简述:
1.对www.baidu.com这个网址进行DNS域名解析
2.根据这个IP,找到对应的服务器,发起TCP的三次握手
3.建立TCP连接后发起HTTP请求
4.服务器响应HTTP请求,浏览器得到HTML代码
5.浏览器解析响应HTML代码,并请求HTML代码中的资源(如js,css,图片等)(先得到HTML代码,才能去找这些资源)
6.浏览器对页面进行渲染呈现给用户
7.服务器关闭TCP连接
注:
1.DNS怎么找到域名的?
DNS域名解析采用递归查询的方式,过程是:先去找自身的DNS缓存-->缓存找不到就去找根域名服务器-->根域名又会去找下一级,这样递归查找之后,找到了,给web服务器
2.为什么HTTP要基于TCP协议来实现?
TCP是一个端到端的可靠的面向连接的协议,HTTP是基于传输层TCP不用担心数据传输的各种问题(当发生错误时,会重传)
3.最后一步浏览器是如何对页面进行渲染的?
1)解析HTML文件构成DOM树
2)解析CSS文件构成渲染树
3)边解析