浅谈Web服务器的内部工作原理

1)了解Web服务器的基本知识

Web服务器又叫做APP服务器是一个大的容器,由Tomcat和其他众多的APP服务器组成,其中的Tomcat是整个Web服务器的基石,相当于是一个大的框架,但是仅仅有Tomcat是远远不够的,功能缺乏,需要进一步在框架中添加东西,以形成Web服务器更完善的功能。与Web服务器相对应的是Browser(浏览器),大体有三层功能,也可以说是三个分身,第一是用作基本的客户端,第二是起解释作用,第三是当成应用程序。服务器和客户端是相辅相成的,互相影响的。

下面的图示也是对有关Web服务器的相关描述,可以根据图示对照我上面的文字介绍达到更好的理解。

在这里插入图片描述

2)了解“上网”过程

在了解Web服务器的内部工作原理之前,我们需要先了解“上网”的基本过程,大致上有以下几个步骤:
1.开启浏览器;
2.指定需要连接的Web服务器(也叫做APP服务器)地址(专业术语是“域名”);
3.由浏览器向DNS(域名解析服务器)发送域名进行解析,得到Web服务器的IP地址;
4.向目标IP地址发送首页文件(通常是index.html文件)“请求”;
5.服务器接收到“请求”后将index.html资源“响应”给浏览器;
6.浏览器解释(执行)index.html文件内容,并根据其内容向服务器发送其他的操作“请求”。

在了解了上述的“上网”过程之后,接下来对web服务器的内部工作更进一步的解释。

3)Web服务器的内部工作原理

像我们平时所使用的浏览器,像百度,火狐等等,都是一些大规模人群共同所操作使用的浏览器,按照正常的思维,我们肯定会想,使用的人多了自然就会面临一定的问题。比如,服务器要有大多的容量才可以承载大量的客户端使用,或者是多个客户端同时上线能不能正常的使用浏览器,那这些除了和宽带,内存配置这些基本属性有关之外,还可能受哪些因素的影响。这些都是我们可以想到的问题。
但事实上,我们平时使用浏览器的时候没有遇到过这样的问题,或者说是很少出现你打不开浏览器,还有点击操作失败的情况(先暂时抛开网速,内存这些配置问题)。这就与今天所说的Eeb服务器的内部工作原理有关了,继续来说,浏览器要能正常进行工作,首先必然要连接上Web服务器,那么浏览器如果向服务器发送连接请求,就可能会出现多个浏览器同时向服务器发送请求,这样服务器端会面临超高访问量的情况。

在这里插入图片描述

结合上面的图片描述来说问题的解决,针对这种情况,可以设置多个Tomcat来解决多个浏览器的连接请求,并不是每个Tomcat都携带一份自己的信息,而是把都需要的一些信息则存放在一个共同的数据库中,需要用到的时候直接在数据库里面取。重点是在浏览器和服务器之间增加一个类似分发器(或代理)的部分,浏览器不是直接给Web服务器发送连接(请求),而是由浏览器先向这个分发器发送连接请求,分发器则根据此时Tomcat的自身状况为浏览器匹配到最合适的一个Tomcat(自然,如果某一个Tomcat持续的收到分发器发来的请求,他自身也可以进行“拒绝”连接,向分发器发送信息暂停服务,分发器再继续匹配其他的Tomcat),再将请求发送给Tomcat,Tomcat在收到请求后进行处理,将相应返回给浏览器,完成浏览器和服务器之间的连接。在这个过程,分发器起到的作用很简单,它只是作为了浏览器和服务器之间的连接桥梁,一旦两者连接成功之后它的作用也就没有了。

发布了6 篇原创文章 · 获赞 8 · 访问量 178

猜你喜欢

转载自blog.csdn.net/Ctrl_viviya/article/details/105273688