Android 系统(193)----图解从URL到网页通信原理

从URL到网页通信原理


内容导读

简单说,这个通信的过程是基于TCP/IP通信协议族规范的,完成从客户端到服务器端等一系列运作流程。1、TCP/IP协议族计算机与网络设备要相互通信,双方就必须基于相同的方法。这里就说到TCP/IP重要的层次化划分,按层次可以分为4层:应用层、传输层、网络层和数据链路层。如HTTP,FTP,DNS等协议;(2) 传输层:对应用层提供网络连接时的两台计算机的数据传输。传输层有两个性质不同的协议: TCP(Transmission Control Protocol,传输控制协议)和 UDP(User Data Protocol,用户数据报协议);(3) 网络层: 用来处理网络中流动的数据包,该层规定了通过怎样的传输路径将数据包传递到对方计算机。而计算机相对更容易处理一组数字,这时DNS域名解析服务应运而生。

前言

我们使用浏览器发送请求后页面是如何呈现在我们面前的呢?
在实际的学习web开发的过程中,网站开发,网络爬虫的程序设计都是需要这方面专业知识。接下来我们图解下这个URL到呈现页面的过程。

一、从URL请求响应过程概括

图解从URL到网页通信原理

URL请求过程.jpg

我们在浏览器中输入一个 URL,回车之后便会在浏览器中观察到页面内容。实际上这个过程是浏览器向网站所在的服务器发送了一个 Request(请求),网站服务器接收到这个 Request 之后进行处理和解析,然后返回对应的一个Response(响应)给浏览器,Response里面就包含了页面的源代码等内容,浏览器再对其进行解析便将网页呈现了出来。
这个过程是如何规范并实现的呢?简单说,这个通信的过程是基于TCP/IP通信协议族规范的,完成从客户端到服务器端等一系列运作流程。

二、TCP/IP 通信协议大家族的整体介绍

前面说过网络的通信是基于TCP/IP协议族规范的。那TCP/IP协议族是什么呢?如何规范网络通信的过程呢?
1、TCP/IP协议族
计算机与网络设备要相互通信,双方就必须基于相同的方法。比如,如何探测到通信目标、由哪一边先发起通信、使用哪种语言进行通信、怎样结束通信等规则都需要事先确定。不同的硬件、操作系统之间的通信,所有的这一切都需要一种规则,而我们就把这种规则称为协议(protocol)。通常我们说的TCP/IP协议族是互联网相关的各类协议族的总称。

图解从URL到网页通信原理

TCP/IP族.png

TCP/IP协议族由那么多的协议组成,那功能上如何划分的呢?这里就说到TCP/IP重要的层次化划分,按层次可以分为4层:应用层、传输层、网络层和数据链路层。层次化的好处在于每个层次内部的设计可以自由改动,并通过各层的接口关联起来,而如果只有一个协议统筹就需要对所有涉及到的部分都重新设计。

2、TCP/IP各层的作用
(1) 应用层:决定了向用户提供应用服务时候的通信活动。如HTTP,FTP,DNS等协议;
(2) 传输层:对应用层提供网络连接时的两台计算机的数据传输。传输层有两个性质不同的协议: TCP(Transmission Control Protocol,传输控制协议)和 UDP(User Data Protocol,用户数据报协议);
(3) 网络层: 用来处理网络中流动的数据包,该层规定了通过怎样的传输路径将数据包传递到对方计算机。如IP协议;
(4) 数据链路层:用来处理网络连接中的硬件部分。 如FDDI协议;

三、TCP/IP是如何规范通信过程

图解从URL到网页通信原理

通信过程.png

第一步、发送URL请求

图解从URL到网页通信原理

URL格式介绍.png

Url由以下元素组成:
(1) 传送协议:http:或者https:等
(2) 层级URL标记符号,为“//”固定不变
(3) 访问资源需要的凭证信息(可省略)
(4) 服务器地址。通常为域名,有时为IP地址(实际通信中需要通过IP地址访问,域名通过DNS服务器解析出IP地址)
(5) 端口号。以数字方式表示,若为HTTP的默认值“:80”可省略
(6) 路径。以“/”字符区别路径中的每一个目录名称
(7) 查询。GET模式的窗体参数,以“?”字符为起点,每个参数以“&”隔开,再以“=”分开参数名称与数据,通常以UTF8的URL编码,避开字符冲突的问题
(8) 片段。以“#”字符为起点,使用片段标识符通常可标记出已获取资源中的子资源

第二步、DNS对请求的URL域名解析

DNS(Domain Name System)服务是和 HTTP 协议一样位于应用层的协议,它提供域名到 IP 地址之间的解析服务。计算机既可以被赋予 IP 地址,也可以被赋予主机名和域名,用户通常使用主机名或域名来访问对方的计算机,而不是直接通过 IP 地址访问。而计算机相对更容易处理一组数字,这时DNS域名解析服务应运而生。DNS 协议提供通过域名查找 IP 地址,或逆向从 IP 地址反查域名的服务。

图解从URL到网页通信原理

DNS协议.png

第三步、生成HTTP请求报文

HTTP协议:按层次分, HTTP(HyperText Transfer Protocol,超文本传输协议)位于应用层,决定从客户端到服务器端等一系列通信内容及方式。

图解从URL到网页通信原理

HTTP协议.png

第四步、TCP连接建立数据通信

TCP协议:按层次分, TCP(Transmission Control Protocol,传输控制协议) 位于传输层。TCP 协议为了更容易传送大数据会对数据分割,并能够确认数据最终是否送达到对方。

图解从URL到网页通信原理

TCP协议.png

第五步、数据传输到IP地址

按层次分, IP(Internet Protocol)网际协议位于网络层。 IP协议的作用在于实现数据包传递到对方计算机IP地址,而IP间的通信依赖于MAC 地址(网卡所属的固定地址),需要再通过ARP 协议根据通信方的 IP 地址反查出对应的MAC 地址。

图解从URL到网页通信原理

IP协议.png

第六步、服务器接收并解析请求报文后回传响应报文

图解从URL到网页通信原理

服务器接收及解析请求报文后回传响应报文.png

小结

以上,我们了解各个协议的作用及通信的流程,针对Http协议后续再做详细介绍。

猜你喜欢

转载自blog.csdn.net/zhangbijun1230/article/details/80821446
今日推荐