目录
概述
网络全貌(初识)
浏览器访问web服务器过程
是访问web服务器并显示网页这一过程,包含浏览器和web服务器的一系列交互,像下面这样:
浏览器:请给我xx网页的数据
web服务器:好的,这是你要的数据
上面的交互完成后,浏览器会将从web服务器获取到的数据显示在屏幕上
概括就是
(1)浏览器向web服务器发送请求
(2)web服务器根据请求向浏览器发送响应
浏览器和web服务器之间的机制
要实现这样的交互,需要一个能在浏览器和Web服务器之间传递请求和响应
的机制
1.通信过程中需要确定正确是通信对象(因为网络是由很多计算机等设备相互连接组成的),并将请求和响应发送给它们
2.要考虑到请求和响应在传递过程中丢失或损坏的情况(请求和响应的本质都是电信号和光信号)
所以,需要一种机制,可以在遇到任何情况都能将请求和响应准确无误
地发送给对方
请求和响应都是01
(由0和1组成的数字信息,这个是要传播的,当然是01咯)
所以这个机制是一种能够将数字信息搬运到指定目的地
的机制
”机制“的实现
这种机制由操作系统中的网络控制软件,和交换机、路由器等设备分工合作实现。
基本思路:
将数字信息分割成小块,以“包”为单位运送。
这里的包类似于物流快递中的概念。
包=信件或包裹,交换机和路由器=分拣处理区
包的头部有控制信息(目的地等信息),交换机和路由器(有很多)根据头部的控制信息分拣这些包,然后送到目的地
网络的全貌
网络=这个搬运数字信息的机制+网络应用程序(浏览器和web服务器这样的)
所以,这两部分组合起来就是网络的全貌
整体过程概览
浏览器的工作方式
浏览器访问web服务器,从在浏览器中输入网址(并按下enter键)开始
输入网址后,浏览器会按一定规则分析网址含义,然后根据网址含义生成请求消息
书中的例子:
http://www.lab.glasscom.com/sample1.html
这个例子浏览器生成的请求消息表示“请给我sample1.html这个文件中储存的网络数据
”
然后浏览器会将请求消息发给Web服务器(但是不是浏览器发的消息)
传送消息是搬运数字信息的机制负责的工作(前面说的能够将数字信息搬运到指定目的地的机制,网络的组成部分)
所以,这一步其实是浏览器委托操作系统中的网络控制软件将消息发送给web服务器,浏览器并不亲自负责数据的传送
浏览器把数据委托出(给操作系统)去为止,是浏览器的这一部分工作
协议栈、网卡
这是第二章的内容,搬运数据的机制
协议栈是操作系统中的网络控制软件。协议栈会打包从浏览器中接收的消息,再加上控制信息(目的地址等)
协议栈还有其他功能,比如发生通信错误时重新发包,调节数据发送速率等
消息经过协议栈变成包之后,交给网卡(硬件,负责以太网或无线网络通信)
网卡会将包转换为电信号并通过网线发送出去
这样包就进入网络中了
集线器、交换机、路由器
客户端计算机可以单独直接接入互联网,也可以通过局域网(家庭或公司的局域网)接入互联网,这里以典型场景后者作为说明对象
假设客户端计算机是连接到局域网中,再通过宽带线路(ADSL和光纤到户(FTTH)等)接入互联网
这个场景中,网卡发送的包会经过交换机等设备,到达用来接入互联网的路由器。
路由器后面就是互联网
接入网、网络运营商
数据从用来接入互联网的路由器出发,就进入互联网内部
接入网==互联网的入口线路
接入网连接到签约的网络运营商,并接入被称为接入点的设备(接入点的实体是一台专为运营商设计的路由器,可理解为离家最近的邮局)
包从接入点被发送到各个地方,接入点后面就是互联网的骨干部分
互联网骨干部分有大量这样专为运营商设计的路由器,它们连接起来,网络包就在这些路由器之间穿行
防火墙、缓存服务器
通过骨干网后,网络包到达web服务器所在的局域网中,接着它会遇到防火墙
防火墙检查进入的包
检查完后,包可能会遇到缓存服务器(保存可重复利用的网页数据,如果再遇到就可以直接从缓存数据中读取,不用再访问web服务器)
web服务器
网络包到达web服务器后,数据会被解包并还原为原始的请求消息,这个解包的过程对应打包的过程,也是由操作系统中的协议栈完成的。
之后web服务器会分析请求消息的含义,并按请求消息的指示将数据装入响应消息中,然后由协议栈打包,网卡发回给客户端,通过前面叙述相反的过程。
响应消息返回客户端
响应到达客户端后,浏览器会从中取出网页数据并在屏幕上显示,到这里访问web服务器的操作就完成了