web服务器原理(一)
web整体来说可以分为前端和后端,也就是浏览器和服务器。其中浏览器负责呈现,服务器负责数据处理。我们可以先将这两部分看做黑盒,忽略里面的具体内容,于是web就变成了这个样子:

这两个部分各自处理各自的工作,浏览器将html和js代码渲染成为可视化的界面,服务器端进行数据库操作、业务处理等等,那么他们之间是怎么沟通的呢?浏览器必须通知服务器它需要哪些数据,服务器在得到浏览器的通知后必须准备好数据,然后传递给浏览器,这其中包含了两个问题:
1.浏览器和服务器之间要怎么样进行消息的发送和接收
2.浏览器和服务器之间怎么互相识别对方发送过来的消息
让我们一个个处理。首先看这两部分之间怎么发送消息。浏览器和服务器可能位于不同的计算机上,其中浏览器可以在电脑、手机、平板等等平台上,而服务器一般位于电脑上,这就需要两个不同的设备能够进行通信。当然这个问题早已解决,解决方案就是internet的TCP/IP协议。TCP/IP协议包括物理层、链路层、网络层、传输层、应用层,从物理层面到应用层面解决不同设备间的通信问题。在这里我们不需要掌握太多关于底层的知识,设备和操作系统已经将物理层、链路层、网络层、传输层封装起来,构成了我们能直接使用的工具——Socket。这个工具这里也先不介绍,暂时把它当做快递员,浏览器和服务器都可以将数据交给它,告诉它要到达的地址,它负责中间的传递过程。现在,我们有了沟通的渠道,我们的web就变成了这样:

下一步,浏览器和服务器必须互相理解。就像两个人交流必须说都能听懂的话一样,浏览器和服务器之间也必须使用一致的语言,这种语言就是HTTP协议。HTTP协议规定了Socket这个快递员必须要得到的三个部分:收件人、寄件人、包裹,在HTTP里面对应着请求行、消息报头、请求正文,也叫作状态行、消息报头、响应正文,前者是浏览器发给服务器时使用的名称,后者是服务器回传给浏览器时使用的名称,两者在具体内容上有不同但对于快递员Socket来说都是一样的。具体关于HTTP的知识这里也不详说,反正浏览器和服务器之间已经有了交流的语言,加上上面的交流工具,浏览器和服务器之间已经可以进行对话了。现在web是这样:

整个web的基本原理就是这样,总结一下:
1.web分为两个部分,浏览器和服务器,浏览器负责呈现,服务器负责处理
2.浏览器和服务器之间使用Socket进行通信,使用HTTP协议作为通信协议
接下来我们要了解的就是Socket这个快递员是怎么工作的,它是怎么样得到包裹,又是怎么样跨越网络让包裹到达目标的。

浙公网安备 33010602011771号