当输入百度网址的时候会发生什么事情
1、服务器对www.baidu.com这个网址进行DNS域名解析,得到相对应的ip地址 。 DNS域名解析采用的递归查询的方式,过程是先去DNS缓存找>缓存找不到就去根域名服务器>根域名找不到又会去下一级,这样递归查找到之后,返回给浏览器 。
url(www.baidu.com)> IP地址(192.168.1.2)
为什么HTTP协议要基于TCP实现?
TCP是一个端到端可靠的面相协议,HTTP基于传输层TCP协议不用担心数据传输的各种问题(因为当发生错误时候,会重传)
2、拿到ip地址之后去和服务器建立TCP连接(三次握手)
3、建立TCP协议之后才能发送HTTP请求(tcp是比http更底层的协议,ip是tcp更下面一层的)。
4、http建立之后,服务器把html发送给浏览器。
5、浏览器解析HTML。
6、浏览器对发送来的HTML进行渲染,浏览器的核心(渲染引擎:静态资源。JS引擎:动态特效)
浏览器如何对页面进行渲染?
a :解析html文件构成dom树
b:解析CSS文件构成渲染树
c:JS单线程运行,JS优肯修改DOM结构,意味着在JS执行完成之前,会阻塞后续资源的下载
7、服务器的关闭连接 (TCP的四次挥手)