在浏览器输入url后按回车会发生什么

83 阅读1分钟

浏览器会先查看浏览器缓存,系统缓存(host文件)和路由缓存是否有该域名所对应ip,有则直接访问,没有则进行dns域名解析,连接根服务器发送请求,通过迭代查询递归查询查找ip及端口,找到后通过三次握手开始TCP连接,浏览器发送http请求,服务器响应并返回结果,最后进行下图四次挥手结束TCP连接(有求必应),浏览器解析html代码并渲染页面,最后通过js引擎执行代码

三次握手图解,摘自:juejin.cn/post/684490…

image.png

四次挥手: image.png

拓展一下dns的迭代查询和递归查询

迭代查询是问根服务器有没有该域名对应ip,根服务器没有则会返回其他服务器让你自己去找,需要自己找多次服务器。

image.png

递归查询是问根服务器有没有该域名对应ip,根服务器没有则会自己去问其他服务器有没有对应ip,最后直接给个答复,只需要自己找一次服务器。

image.png