首页 > 编程知识 正文

web服务器的主要作用,服务器的工作原理简述

时间:2023-05-03 17:05:06 阅读:114143 作者:300

摘要: Web服务器概念广泛,我们最常说的Web服务器是Web服务器,是一种建立在internet上并驻留在某台计算机上的程序。 Web服务器能够向Web客户端(例如浏览器)提供文档和其他服务,可以是被设计为遵守HTTP协议的网络APP应用程序,也可以是Web客户端。

Web服务器和HTTP服务器可以是相同的。 当然必须细分。 HTTP服务器是一种基于HTTP协议提供文档浏览的服务器,通常提供静态文件。 另一方面,Web服务器复盖了HTTP服务器,Web服务器不仅可以存储信息,还可以根据用户在Web浏览器中提供的信息执行脚本和程序。Web服务器 约等于 HTTP服务器 + 其他服务

虽然目前有很多广为人知的Web服务器,但其中最主流的服务器是Apache、Nginx和IIS

每个Web服务器的实现细节不同,是为了某种情况而设计开发的。 但是,基本机制是一样的。 这也是这次基础篇中说明的内容。

一、Web服务器工作原理图解

首先,暂且不考虑HTTP协议的各种请求方式,按照**(Web服务器工作方式概要01 )的图来看一次web服务的工作流程。 假设浏览器为客户端

)用户填写网址返回滑架、点击链接、点击按钮等操作后,浏览器获取该事件。

)2)浏览器与对方服务程序建立TCP连接。

)3)浏览器以HTTP协议形式**打包用户事件,其本质上是发送缓冲器中HTTP协议形式的字节流。

)4)浏览器确认对方可以写入,将该数据包推送至互联网,该数据包通过网络最终传递给对方服务程序。

)5)服务器端程序接收到该数据包后,同样以HTTP协议形式分解数据包,解析客户端意图。

)6)了解客户端意图后,进行分类处理,提供某种文件或处理数据。

)7)将结果加载到缓冲区、HTML文件或单个图像等中。

(8)按照HTTP协议格式)将7 )的数据打包

)9)服务器确认对方是可写的,将该数据包推入互联网,该数据包通过网络最终传递给客户端。

) 10 )假设浏览器得到软件包后,以HTTP协议格式解包,然后解析数据,即为HTML文件。

(11 )浏览器在页面上显示HTML文件

以上是Web服务器动作的基本原理。 事实上,我们可以看到这只是一种网络通信。 我们应该确信,作为服务器,其根本工作不过三个

接收数据2 .发送数据3 .数据处理

Web服务器的本质是接收数据http解析逻辑处理http分组发送数据高级的服务器无非就是将这三个部分更加细致的设计了。,提供Web服务器的静态文件的结构图解Web服务器最主要的功能是提供静态文件。 日常网络浏览大多为网络浏览,只有少数情况下才有一些数据提交操作。 因此,结合上图,重点说明GET请求下Web服务器的工作原理。

其他过程几乎没有变化。 重点是红色和蓝色的部分。

)1)在用户单击web链接或浏览器加载某些资源(css、jpg …)时发生。

)6)服务程序解包后,确认它是GET请求,且是对该服务器上某个资源的请求。 首先,服务程序检查路径是否存在,并检查是否可以获取路径的文件。

(7-1)如果请求的路径错误,或者该资源无法获取给用户,则返回错误提示页面。 许多服务的错误页面只有404个。 更专业的是将错误分类并返回到相应的错误代码页。

(7-2)如果路径合法且能够获取文件,则服务程序根据该文件类型进行不同的装载过程,并将该类型记录为(8)的HTTP协议中的相应返回类型,并添加到响应报头中。

以单击页面链接为例,浏览器首先请求HTML文件,然后按同一流程依次请求HTML文件中包含的资源文件路径。

三、Web服务器数据提交机制图不能只通过浏览网页满足所有人的需求,客户端和服务器必须有数据交流。

即使单方面资源要求锁定大气的是网络主力军。

需要清楚地知道数据发送对用户起什么作用。

(1)资源上传)登录验证)3) API接口调用)4)远程命令等

数据发送极大地提高了用户体验,将HTTP短连接获取静态文件的方式提高到了动态交互级别。 这一性质催化了各种编程语言、框架。 例如PHP、JavaWeb。

关注当今主流的大型服务器,您会发现,再高级、再强硬的服务器实际上也是最基础的服务器。 那么顺便也学习一下最古老的动态技术CGI吧

其他过程几乎没有变化。 重点是红色和蓝色的部分。

)假设用户提交数据,用户单击按钮提交填写的信息。 )3)中,以POST形式写入,填写向服务器端提交的可执行程序的路径。

(6)服务端将参数绑定到该CGI,复制流程,通过管道传递参数和接收结果

(7)子进程运行CGI,)接收父进程发送的参数,运算完成后返回结果。

最后一次

父进程将结果装入静态模板文件,放入缓冲区

四、动态技术

我们得明白,Web服务器是以短连接为主,并且获取的数据到达浏览器的那一刻一定是静态的不变的。那么所谓动态实际是指两种情况

服务端产生
(1) 用户POST提交数据到某个程序,程序根据该数据作为参数运行,得出结果并装入静态的模板页面中,返回该静态页面。但对于用户来说,同一个页面,做了一个操作后数据不一样了。好了,这就是动态页面。(CGI原理)
(2) PHP的原理是,用户GET请求一个php后缀的文件,服务器先执行该php后缀文件中的PHP代码,将结果填入代码的位置,再返回。当然也可以提交数据参与运算再返回。客户端产生
(1) 用户GET请求一个JavaScript文件,服务端不做任何运算返回该静态文件。浏览器收到该JS文件,在本地执行并更新页面。
(2) 用户POST提交数据到服务端,服务端根据该提交的数据指令返回静态文件,浏览器收到后执行并更新。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。