在浏览器地址栏输入百度网址之后的故事(面试必考)


面试的时候,面试官经常会问这样的问题,我在浏览器地址栏输入”www.baidu.com”,之后发生了哪些事情呢,这个问题其实是想问你与网页访问有关的网络协议,下面我们就来简单梳理一下,如何比较得体的回答这个问题。

Step 1:地址解析。

如果是首次访问百度,输入地址回车后,浏览器访问系统Host文件从中寻找www.baidu.com对应的IP地址(Windows默认的host文件基本是空的,所以这步执行不会成功)。没有找到对应IP地址,则主机向DNS服务器发送请求,DNS服务器解析到域名对应的IP并返回。事实上,你在地址栏输入百度的IP而不是域名也可以实现访问。DNS服务既提供从域名到IP的解析,也提供从IP到域名的解析。

DNS服务详解:
http://blog.csdn.net/Solo95/article/details/78524886

这里写图片描述

Step 2:建立TCP连接

拿到百度的IP后,浏览器通过TCP协议建立TCP连接。TCP是一种可靠的传输协议,其建立要经过三次握手,其释放要经历四次挥手

TCP连接的三次握手和四次挥手:
http://uule.iteye.com/blog/2213562

Step 3:使用HTTP协议请求网页内容。

HTTP是一种请求/应答协议,通过客户机和服务器相互发送信息的方式工作。通常HTTP消息包括客户机向服务器的请求消息服务器向客户机的响应消息。使用HTTP消息头,可以实现客户机与服务器之间的HTTP请求和HTTP应答。消息头分为通用头、请求头、相应头、实体头。

Step 4:渲染。

客户端收到服务器的HTTP应答后,从其中提取出HTML文件,然后进行渲染,之后就可以看到百度的首页了。


查看知乎讨论:
用户用浏览器访问一个网站的时候背后的过程与步骤是怎样的?
https://www.zhihu.com/question/20513729

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值