从浏览器到服务器综述


从浏览器到服务器的探索之旅

大家都常常浏览网页获取自己所需要的知识,但是很少有人深究过这其中发生了什么奇妙的过程.从用户输入一个网址(URL)到成功访问到一个网页之间具体发生了什么呢?这就是这个专栏会为大家解释的东西.大家作为程序员也都知道一个网络应用被被分为客户端服务端,浏览一个网页就是客户端和服务器端的一个交互.从浏览器到服务器之间最主要的交互就是相当于下面的一段对话:

  • 浏览器:××服务器,我想对你的××资源进行××操作
  • 服务器:××浏览器,我 没有/有 完成你的要求,结果/原因是××.

虽然只是一样一段小小的交互,但是却要经历一个很复杂的过程.中间有很多我们需要考虑的问题,例如:

  1. 浏览器怎么知道你输入的网址所对应的服务器在哪?
  2. 浏览器发送的消息怎么样才能被服务器所认识?
  3. 发送的消息要怎么样才能成功的到达目的地(服务器)?
  4. 服务器面对众多的消息,怎么判别到来的消息是否是安全的?

所以针对这些问题,专栏里面的文章会浏览器到服务器的过程以及途中的问题为线索来为大家介绍计算机中的网络.

下面就是从浏览器到服务器的总体概括图(图来自<<网络是怎样连接>>):

在这里插入图片描述

依照该过程我也将本专栏分为几大部分.

为了加深理解我会以快递寄东西为生活中的例子来类比网络中的过程,我们(发件方)就相当于是浏览器,收货方就相当于是服务器

(一)Web浏览器

这一部分会探索浏览器的工作方式.因为我们浏览一个网页是从浏览器输入一个网址开始的.例如我们可以在浏览器中输入https://blog.csdn.net/qq_44823898.浏览器就会按照一定的规则去分析这个网址,并且生成消息.但是浏览器并不会去发送消息,而是委托操作系统来将消息发送出去.这个过程相当于我们(浏览器)把要发送的东西(消息)准备好然后委托该片区的快递员(操作系统)来将包裹发出去.

(二)协议栈,网卡

这一部分我们会探索搬运数据的机制.

首先出场的协议栈(网络控制软件).它会将浏览器中接收到数据进行打包,并且加上一些必要的信息例如:目的地址等.这个过程相当于区域快递员(骑着三轮的快递小哥)将收到的包裹交付给快递点(协议栈),快递点将东西打包并且贴上快递单,上面写着寄件人的基本信息和收货人的地址和信息(加上必要的信息).

接下来协议栈会将包交给网卡(负责以太网或者无线通信的硬件).然后网卡会将包转换成电信号并且通过网线发送出去.这样一来包就进入了网络之中.这个过程相当于快递点(协议栈)将包裹(包)交付给运输快递员(开着装满包裹的大卡车的快递员,相当于网卡).然后运输快递员开着大卡车就进入了交通干路(网络中)

(三) 集线器,交换机,路由器

接下来出场的物品会根据接入互联网的不同形式而有所不同.客户端计算机既可以通过家庭或者公司的局域网接入互联网,也可以直接接入互联网.这个过程相当于快递的种类有很多种,有的是铁路运输有的是航运.我们的探索之旅将以最典型的场景:客户端通过连接到家庭和公司的局域网中,然后通过ADSL和光纤等宽带线路接入互联网.

在这样的场景中,网卡发送的包会经过交换机等设备,到达用来接入互联网的路由器。路由器的后面就是互联网,网络运营商会负责将包送到目的地,

(四)接入网,网络运营商

接下来数据从用来接入互联网的路由器出发,进入了互联网的内部.互联网的入口线路称为接入网.一般来说我们可以通过光纤,有线电视等来进入互联网,这些都是接入网.

众多的接入网会连接到签约的网络运营商,并接入被称为接入点(Point of Presence,PoP) 的设备,这个接入点是由运营商来管理的,运营商会将你的消息传输到互联网之中.然后在发送到全世界.大家会发现在这个阶段就出现了和我们使用个体无关的设备(接入点).这也是运营商出现的原因.他们通过提供特殊的服务来使我们接入到互联网中并收取费用.常见的运营商有联通移动电信.

(五)防火墙,缓冲服务器

通过了在互联网中的一系列传输之后,包最终进入了Web服务器所在的局域网之中.接着它会遇到防火墙来对其进行检查.这一过程相当于小区保安对快递小哥送来的包裹进行一个基本的检查来保障户主的安全.

如果检查通过网络包接下来还可能会遇到缓存服务器.这是因为网页数据中有相当一部分是可以重复利用的.这些可以重复利用的数据就被保存缓存服务器中.如果要访问的网页数据正好能在缓存服务器中找到,那么就不需要麻烦服务器了,直接从缓存服务器中读取数据返回即可

(六)Web服务器

当网络包到达服务器之后,数据会被解包并且还原成原始的请求数据,然后交给Web服务器.和客户端一样,这个过程也是由**协议栈(网络控制器)**来完成的.接下来Web服务器会分析请求的含义并作出相应的回答.然后将数据转入响应消息中,发回到客户端.响应消息回到客户端的过程和之前我们介绍的过程正好相反
当响应到达客户端之后,浏览器会从中读取出网页的数据并在屏幕上显示出来.到这里,访问 Web 服务器的一系列操作就全部完成了,我们的探索之旅也到达了终点.

这就是这个专栏会介绍的所有知识的大纲,如何你对这部分内容感兴趣.欢迎你收藏点赞,你们的支持就是我用心写作的最大动力 谢谢.

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值