说一下浏览器输入URL发生了什么?1 输入地址,浏览器查找域名的IP。浏览器向该IP地址的web服务器发送一个http请求。2 在发送请求之前浏览器和服务器建立TCP的三次握手,判断是否是tttp缓存,如果是强制缓存且在有效期内,不再向服务器发请求。如果是http协商缓存向后端服务器对比。在有效期内,服务器返回304.直接从浏览器获取数据,如果不再有效期内服务器返回200,返回新数据3请求发送出去服务器返回重定向,浏览器再按照重定向的地址重新发送请求,如果请求的参数有问题,服务器返回404.如果服务器挂了返回500,如果有数据一切正常,4 当浏览器拿到服务器的数据后,开始渲染页面同时获取HTML页面中的图片,音频、css 、js,在这期间获取到js文件之后,会直接执行js代码,阻塞浏览器渲染,因为渲染引擎和js引擎互斥,不能同时工作,所以通常把scrip标签放在body标签底部5 渲染过程就是先将HTML转化为dom树,再将css渲染成stylesheet,根据dom树和stylesheet创建布局树,对布局树进行分层,最后合成绘制成页面