【浏览器】用户访问一个网站的过程描述

从浏览器打开http://www.baidu.com地址回车发送请求到看到页面的过程:

主要分成 两个 步骤:

第一步:DNS服务器将域名解析成IP

具体来说:

  1. 客户端用户从浏览器输入 www.baidu.com 网站网址后回车后,浏览器会查询浏览器缓存,查找是否存在网址对应的IP解析记录。如果有,就直接获取到IP地址,然后访问网站;
  2. 如果浏览器缓存没有该记录,则在操作系统缓存即本地hosts文件中查找对应的IP;
  3. 如果还是没有,则将查询请求发给路由器,查看路由器缓存里是否有该IP地址的缓存;
  4. 如果依然没有,向本地域名服务器(Local DNS:一般是网络服务提供商,比如电信,移动,联通服务商)发出请求,获取IP;
  5. 以上都失败的话,LDNS会从DNS系统的“.”根开始(根域名服务器)请求www.baidu.com域名的解析,经过一系列的查找各个层次DNS服务器,最终会查找到www.baidu.com域名对应的授权DNS服务器,而这个授权DNS服务器,正是该企业购买域名时用于管理域名解析的服务器。这个服务器有www.baidu.com对应的IP解析记录,如果此时都没有,就表示企业的运维人员么有给www.baidu.com域名做解析;
  6. LDNS把收到来自授权DNS服务器关于www.baidu.com对应的IP解析记录发给客户端浏览器,并且在LDNS本地把域名和IP的对应解析缓存起来,以便下一次更快的返回相同的解析请求的记录;

第二步:客户端浏览器获取到了www.baidu.com的对应IP地址,接下来浏览器会请求获得的IP地址对应的Web服务器,Web服务器接收到客户的请求并响应处理,将客户请求的内容返回给客户端浏览器;

扩展

  • DNS是什么:
    域名系统(Domain Name System,DNS)是互联网的一项服务。它作为将域名和IP地址相互映射的一个分布式数据库,能够使人更方便地访问互联网。DNS使用TCP和UDP端口53[1]。
  • IP是什么:
    互联网协议地址(Internet Protocol Address,又译为网际协议地址),缩写为IP地址(IP Address),是分配给用户上网使用的网际协议(英语:Internet Protocol, IP)的设备的数字标签。
  • tcp/ip三次握手(建立连接协议):
    通过dns解析之后,拿到了ip,就可以通过ip向服务器发送http请求了,因为http是工作在第七层应用层,tcp是工作在第四层传输层,所以发生http请求之前,还会进行tcp的三次握手。
    tcp的三次握手是:客户端首先向服务器发送一个带有SYN标识和一个seq的随机数(“在吗?”),服务端收到后,需要给客户端回应一个ack,ack的值就是刚才的seq随机数的值+1,在回应包里,还包含一个SYN的标识和一个seq随机数(“在呢,干啥?”)。客户端收到服务端发过来的回应包之后,再给服务端发送一个ack,ack的值就是刚才服务端发过来的seq的值+1(“要个xxx数据呀”)。上面三步完成之后,三次握手就完成了,下面就可以开始传数据了

参考资料:
https://blog.csdn.net/m0_37812513/article/details/78775629
https://www.cnblogs.com/xsilence/p/6035559.html
https://blog.csdn.net/yonggeit/article/details/72857630

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值