租用问题

质量为本、客户为根、勇于拼搏、务实创新

< 返回租用问题列表

Web服务器提供服务的方式是甚么?

发布时间:2023-01-06 09:26:43

  很多接触互联网计算机不久的小火伴对Web服务器的了解都十分浅显,下面我们来讲说Web服务器提供服务的方式是甚么?

  Web服务器提供服务的方式是甚么?(经常使用的Web服务器有哪些)

  Web服务器由于要同时为多个客户提供服务,就一定要使用某种方式来支持这类多任务的服务方式。一般情况下可以有以下三种方式来选择,多进程方式、多线程方式及异步方式。其中,多进程方式中服务器对一个客户要使用一个进程来提供服务,由于在操作系统中,生成一个进程需要进程内存复制等额外的开消,这样在客户较多时的性能就会下降。为了克服这类生成进程的额外开消,可使用多线程方式或异步方式。在多线程方式中,使用进程中的多个线程提供服务, 由于线程的开消较小,性能就会提高。事实上,不需要任何额外开消的方式或者异步方式,它使用非阻塞的方式与每一个客户通讯,服务器使用一个进程进行轮询就好了。

  虽然异步方式最为高效,但它也有自己的缺点。由于异步方式下,多个任务之间的调度是由服务器程序本身来完成的,而且一旦一个地方出现问题则全部服务器就会出现问题。因此,向这类服务器增加功能,一方面要遵从该服务器本身特定的任务调度方式,另外一方面要确保代码中没有毛病存在,这就限制了服务器的功能,使得异步方式的Web服务器的效力最高,但功能简单,如Nginx服务器。

  由于多线程方式使用线程进行任务调度,这样服务器的开发由于遵从标准,从而变得简单并有益于多人协作。但是多个线程位于同一个进程内,可以访问一样的内存空间,因此存在线程之间的影响,并且申请的内存一定要确保申请和释放。对服务器系统来说,由于它要数天、数月乃至数年连续不停的运转,一点点毛病就会逐步积累而终究致使影响服务器的正常运转,因此很难编写一个高稳定性的多线程服务器程序。但是,不是不能做到时。Apache的worker模块就可以很好的支持多线程的方式。

  多进程方式的优势就在于稳定性,由于一个进程退出的时候,操作系统会回收其占用的资源,从而使它不会留下任何垃圾。即使程序中出现毛病,由于进程是相互隔离的,那末这个毛病不会积累起来,而是随着这个进程的退出而得到清除。Apache的prefork模块就是支持多进程的模块。

  Web服务器提供服务的方式是甚么?以上就是Web服务器提供服务的方式了,想取得更多web服务器的内容,请关注达达云!