一次完整的http请求

1.在浏览器数输入www.baidu.com,计算机执行的全部过程(一次完整的http请求过程)

整个流程如下:

第一步:域名解析(要查询www.baidu.com的IP地址)

  1. 浏览器首先搜索自己的DNS缓存(维护一张域名和ip地址对应的表);
  2. 如果没有,则搜索操作系统中的DNS缓存(维护一张域名和ip地址对应表);
  3. 如果没有,则搜索操作系统的hosts文件(window环境下维护的一张域名和ip地址对应表)
  4. 如果没有,操作系统将域名发送到本地域名服务器(递归查询的方式),本地域名服务器查询自己的DNS缓存,查找成功则返回,否则的话:
    4.1 本地域名服务器向根域名服务器(虽然没有每个域名的具体信息,但存储了负责每个域,例如com,net等的解析的顶级域名服务器的地址)发起请求,此处,根域名服务器返回com域的顶级域名服务器的地址。
    4.2 本地域名服务器向com域的顶级域名服务器发送请求,返回baidu.com权限域名服务器的地址(权限域名服务器用来保存该区中所有的主机域名和ip地址的映射);
    4.3 本地域名服务器向baidu.com权限域名服务器发起请求,得到的是www.baidu.com的ip地址。
  5. 本地域名服务器将得到的IP地址返回给操作系统,同时也将ip地址缓存起来。
  6. 操作系统将ip地址返回给浏览器,同时自己也将ip地址缓存起来。
  7. 浏览器得到了域名对应的ip地址。

第二步:发起tcp的三次握手过程

2.1 ARP(地址解析协议)(网络层协议):解决的是同一个局域网内,通过ip地址得到mac地址
每个主机都有ARP高速缓存(存储本局域网内的IP地址和mac地址的映射关系),源主机通过广播的形式把自己的ip地址,mac地址,目标主机的ip地址发给本网段的其它主机,目标主机通过ARP响应分组的形式将自己的mac地址回应给源主机。
2.2 路由选择协议(如果不在一个局域网内,通过ARP协议找到本网络中的一个路由器的mac地址,剩下的怎么到达这个路由器由路由选择协议来做)
2.2.1 内部网关协议IGP即在一个自治系统内部使用的路由选择协议,包括RIP(基于UDP的应用层协议:最短路由协议即通过的路由数最少,大于15认为不可达);OSPF协议(网络层)和IS-IS协议,IGRP(内部网关路由协议),EIGRP(增强型内部网关路由协议)
2.2.2 外部网关协议(BGP(基于TCP的应用层协议))

第三步:建立tcp连接后发起http请求

http的缓存机制和getpost区别

第四步:服务器响应http请求

第五步:浏览器解析html代码,并请求html中的资源

第六步:断开tcp连接

第七步:浏览器对页面进行渲染并且呈现给用户。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值