输入域名到显示网页的网络过程
来源:互联网 发布:数据库集群方案 编辑:程序博客网 时间:2024/05/29 04:35
应用层:
首先浏览器是在应用层上的WEB服务。WEB服务的实现主要包含了HTTP超文本传输协议,URL统一资源定位符,HTML超文本标记语言,以及浏览器和服务器。在WEB服务中浏览器相当于C/S模式中的client客户端,服务器相当于server服务端,是一对多的关系。 在你敲击域名之后,浏览器首先会查看自己有没有关于这个域名的缓存。如果没有,则查看本地计算机的缓存,如果还没有,则会调用DNS服务进行域名解析。
1. 浏览器缓存
2. 本地缓存
3. 调用DNS服务
调用DNS服务后,会发送一个DNS解析请求的报文,该报文是基于传输层的UDP协议。在进行IP分组封装后分组会被直接传到默认路由器(默认网关),如果路由器缓存有该域名IP,则直接转发回浏览器。如果没有,则需要发送到DNS服务器上进行解析。如果你的DNS服务器在外网,而你在ip地址是局域网如172.31.1.1,这时就会调用NAT服务。NAT服务会从IP池中临时分配给你一个外网的唯一IP地址,用你访问外部网络。(DNS服务器地址可以从本地连接中查看)。DNS服务器接收到解析请求后会进行查找,查找到则返回结果,否则会进行一个迭代或者递归查找,最后将域名对应的IP地址进行返回。1. 路由器缓存
2. NAT服务提供外网IP
3. DNS服务器查找返回结果:递归或者迭代查找
上述完成的是一个域名解析的过程,即只是完成了让浏览器获得你所输入的域名的IP地址。然后上述的过程没有对传输层进行讲述,我将在下面的过程对传输层和网络层进行一定的阐述。
传输层:
得到IP地址后,浏览器会向IP对应的服务器发送一个GET的HTTP请求报文。在传输层上,HTTP协议是基于TCP协议传输的。所以TCP对HTTP请求报文进行封装成TCP报文,然会对服务器请求连接,在完成3次握手后,TCP连接建立成功。即浏览器和服务器之间可以开始传输数据了。由于是GET请求,所以服务器会返回一个HTML主页给浏览器。服务器端首先将包含了HTML文本的HTTP应答填入TCP滑动窗口缓存,然后根据TCP的流量控制和拥塞控制对缓存中的内容进行传输到客户端。浏览器成功接受到html文本后根据html标准进行解析,最终展示成一个主页的形式给用户查看。如果用户此时关闭了页面,TCP则会进行四次挥手断开浏览器与服务器端的连接。
1. HTTP请求报文2. TCP3次握手连接
3. 根据TCP流量控制和拥塞控制传输主页文本
4. 浏览器解析主页文本
5. TCP4次握手断开连接
上述已经把整个过程都讲完了,然后下面我在稍微提一下网络层。网络拓扑路径:客户端-路由器-路由器-路由器-服务端。传输层针对的是端到端之间的传输服务,而网络层针对的是点到点的传输。
网络层:
TCP报文往下到网络层时,IP协议会对该报文进行处理。如果报文内容过大,则会对其进行分段,裁减成多分IP报文进行传输。在点与点之间传输时,主要处理的是路由转发算法。因为端与端之间存在着多个路由,所以要研究如何传输才能使得总体较优。路由转发算法包括:标准路由转发,向量路由转发,最短距离路由转发等。1. 分组分段
2. 路由转发
在数据链路层所讨论的则是Bit级别的数据问题。不做深究。以上就是大致的一个过程,涵盖了应用层,传输层和网络层。里面有很多细节都是值得讨论的。像是3次握手,拥塞控制,路由转发算法等。
一个其他人的超详细分析
点击打开链接
- 输入域名到显示网页的网络过程
- 从输入网址到显示网页的过程分析
- 从输入网址到显示网页的过程分析
- 从输入网址到显示网页的过程分析
- 从输入网址到显示网页的过程分析
- 从输入网址到显示网页的过程分析
- 从输入网址到显示网页的过程分析
- 从输入网址到显示网页的过程分析
- 输入网址到网页显示的过程是什么?
- 从输入网址到网页显示所经过的过程
- 输入网址到网页显示的过程是什么?
- 从输入网址到网页显示过程
- 从输入网址到网页显示过程
- 网络-从输入网址到显示页面的过程
- 输入网址到显示网页的全过程
- 从输入网址到网页显示过程是什么?
- 从浏览器中输入url地址到浏览器中显示网页内容 的过程分析
- 从输入网址到显示网页的过程中发生了什么?
- POJ3660---Cow Contest(floyed传递闭包问题)
- 红黑树原理简析
- 表单数据验证
- 从互联网进化的角度看AI+时代的巨头竞争
- jsp——9大内置对象
- 输入域名到显示网页的网络过程
- Rviz教程(七):Plugins: New Display Type
- 2017暑假七林集训day8
- 剑指offer——和为S的连续正数序列(基本思路)
- 单片机—LED灯(一)
- String:strStr()求一个字符串在另一个字符串中第一次出现的索引
- 阿里巴巴的相关-----ODPS技术架构、Java Web架构、PAI机器学习平台
- EVP 对称加密
- ------区间DP hdu 5115