前端面试经常遇到这样一道题。点击一个url后会发生什么?
大体流程:浏览器会根据url的域名查找ip,向ip地址的服务器发送请求,与服务器建立连接,请求文档,服务器收到请求后,就响应请求,正常情况200,返回文档,浏览器渲染文档。
这里面每一段都可以剖析出一个知识点来。
浏览器如何根据url的域名查找ip?
查找过程:在本机的host文件下看能不能找到,找不到时就会去找路由器。路由器就会帮浏览器来查找ip,路由器先是在路由缓存中查看有没有这个ip,路由缓存基本就是路由表了。路由器也找不到的时候就需要向本地域名服务器请求协助,本地域名服务器也找不到的时候就会去找根域名服务器。
向ip地址的服务器发送请求,与服务器建立连接?这里涉及到的知识点就是http协议那些事了
http请求的建立,三次握手四次挥手。要明白的问题,为什么要三次握手,两次会怎样。为什么要四次,三次会怎样以及每次收到包后的状态。
服务器收到请求后,就响应请求,正常情况200,返回文档,
状态码的问题,常见状态码404,500,304,302,301等
浏览器渲染文档
DOM树的建立,CSSOM树,Render树,布局,绘制。什么时候repaint,什么时候reflow