面试题: 浏览器中输入url后按回车键发生了什么?

开心一刻

       作业妩媚地躺在我的床上,娇媚的唇角轻启:“官人,这可都一个月了,你怎么还不来碰碰人家。”
这作业也不愧是美人,声音微颤,最后声线上扬了三度,像羽毛似的撩的人心痒痒。
       我一巴掌糊它脸上:“最后三天让你知道我的厉害!”

题目引出

       浏览器中输入url后按回车键发生了什么?使用到了7层网络模型中的哪些协议?

精选回答

  1. URL解析
  2. DNS查询
  3. TCP连接
  4. HTTP请求
  5. 响应请求
  6. 页面渲染

详细过程

URL解析: 主要用于判断输入的url是一个合法的url还是一个带搜索的关键字,进行相对应的操作;
DNS查询:获取域名对应服务器IP地址;
       DNS是什么?
       DNS是一种组织成域层次结构的计算机和网络服务命名系统,用于TCP/IP网络,所提供的服务是用来将主机名和域名转换成IP地址的工作。
       DNS解析过程:
       首先查询浏览器DNS缓存,如果没有再查询主机hosts文件;
       主机查询DNS缓存,如果没有就会给本地DNS发送查询请求;
       本地的DNS服务器向根域名服务器发送查询请求,根域名服务器返回该域名的一级域名服务器;
       该本地服务器给该一级域名服务器发送查询请求,然后依次类推直到查询到该域名的IP地址;

TCP连接:TCP三次握手建立TCP连接;
HTTP请求:浏览器发送HTTP请求到目标服务器;
响应请求:目标服务器受到请求后,进行逻辑操作,返回一个HTTP响应,之后可以进行TCP四次挥手断开TCP连接;
页面渲染:浏览器对拿到的服务器资源进行解析,比如重定向、存储cookie、解压gzip等,再根据不同资源采用不同的解析方式,解析HTML,构建DOM树,解析CSS,生成CSS规则树,合并DOM树和CSS规则树,生成rander树。

使用到的协议

应用层:DNS、HTTP、HTTPS、SSL
传输层:TCP、UDP
网络层:IP、RIP、OSPF
数据链路层:ARP

总结

       由这个一个问题能引申出很多问题,例如DNS解析过程、HTTPS握手过程、HTTP1.0和HTTP1.1和HTTP2.0的区别、TCP三次握手四次挥手、TCP UDP区别、ARP协议过程等等,大家加油。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值