admin管理员组文章数量:1534194
从浏览器输入http://www.baidu,到看到百度主页的过程中到底发生了什么?
网络模型
1. 根据网络七层模型,浏览器和服务器都可以认为是应用层的一个应用,
2. 所以本质上来说就是从一个应用层到另外一个应用层的过程,在我们这个过程中主要采用的http协议进行通信
HTTP协议(简单介绍)
HTTP 是一个在计算机世界里专门在两点之间传输文字、图片、音频、视频等超文本数据的约定和规范
1. http的请求规范:
请求行(请求类型,欲访问资源,协议版本)
请求头(headers,cookies等)
Host:请求的目的地(主机域名)
User-Agent:客户端的信息,它是检测浏览器类型的重要信息,由浏览器定义,并且在每个请求中自动发送
空行 请求头后面必须有一个空行
请求正文(请求体)(参数)可以为空
DNS解析
1. HTTP协议基于底层的 TCP/IP 协议,所以必须要用 IP 地址建立连接。由于我们在浏览器输入的是域名,所以我们需要把域名转换为IP地址,也就是域名解析(DNS)
2. DNS流程:
第一步:检查浏览器缓存中是否缓存过该域名对应的IP地址
第二步:如果在浏览器缓存中没有找到IP,那么将继续查找本机系统(hosts)是否缓存过IP
第三步:向本地域名解析服务器LDNS发起域名解析的请求
第四步:向根域名解析服务器发起域名解析请求
第五步:根域名服务器返回顶级域名解析服务器(gTLD)地址。如、、,全球只有13台
第六步:本地域名服务器LDNS向gTLD服务器发起解析请求
第七步:接受请求的gTLD服务器查找并返回此域名对应的Name Server域名服务器的地址,这个Name Server通常就是用户注册的域名服务器,例如用户在某个域名服务提供商申请的域名,那么这个域名解析任务就由这个域名提供商的服务器来完成
第八步:Name Server域名服务器会查询存储的域名和IP的映射关系表,在正常情况下都根据域名得到目标IP地址,连同一个TTL值返回给DNS Server域名服务器
第九步:返回该域名对应的IP和TTL值,LDNS会缓存这个域名和IP的对应关系,缓存时间由TTL值控制
第十步:把解析的结果返回给用户,用户根据TTL值缓存在本地系统缓存中,域名解析过程结束
在实际的DNS解析过程中,可能还不止这10步,如Name Server可能有很多级,或者有一个GTM来负载均衡控制,这都有可能会影响域名解析过程。
TCP协议
传输控制协议(英语:Transmission Control Protocol,缩写:TCP)是一种面向连接的、可靠的、基于字节流的传输层通信协议,由IETF的RFC 793定义。在简化的计算机网络OSI模型中,它完成第四层传输层所指定的功能。用户数据报协议(UDP)是同一层内另一个重要的传输协议。
TCP 报文是 TCP 层传输的数据单元,也称为报文段ÿ
版权声明:本文标题:从浏览器输入http:www.baidu.com,到看到百度主页的过程中到底发生了什么? 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://m.elefans.com/dongtai/1726870038a1087787.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论