前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >在浏览器地址栏输入百度网址之后的故事(面试必考)

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

作者头像
Steve Wang
发布2018-02-05 17:31:44
1.4K0
发布2018-02-05 17:31:44
举报
文章被收录于专栏:从流域到海域从流域到海域

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

Step 1:地址解析。

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

DNS服务详解: https://cloud.tencent.com/developer/article/1037263

这里写图片描述
这里写图片描述

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

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2017年11月13日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Step 1:地址解析。
  • Step 2:建立TCP连接。
  • Step 3:使用HTTP协议请求网页内容。
  • Step 4:渲染。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档