Web服务器的工作原理.docxVIP

  1. 1、本文档共10页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

Web服务器的工作原理

Web服务器工作原理概述

不少时候我们都想知道,web容器或者web服务器(比如Tomcat或者jboss)是怎样工作的?它们是怎样处理来自全世界的http请求的?它们在幕后做了什么动作?JavaServletAPI(例如ServletContext,ServletRequest,ServletResponse和Session这些类)在其中扮演了什么角色?这些都是web应用开辟者或者想成为web应用开辟者的人必须要知道的重要问题或者概念。在这篇文章里,我将会尽量给出以上某些问题的答案。请集中精神!

文章章节:

?什么是web服务器、应用服务器和web容器?

?什么是Servlet?他们有什么作用?

?什么是ServletContext?它由谁创建?

?ServletRequest和ServletResponse从哪里进入生命周期?

?如何管理Session?知道cookie吗?

?如何确保线程安全?

什么是web服务器,应用服务器和web容器?

我先讨论web服务器和应用服务器。让我在用一句话大概讲讲:

“在过去它们是有区别的,但是这两个不同的分类慢慢地合并了,而如今在大多在情况下和使用中可以把它们看成一个整体。”

在Mosaic浏览器(通常被认为是第一个图形化的web浏览器)和超链接内容的初期,演变出了“web服务器”的新概念,它通过HTTP协议来提供静态页面内容和图片服务。在

那个时候,大多数内容都是静态的,并且HTTP1.0只是一种传送文件的方式。但在不久

后web服务器提供了CGI功能。这意味着我们可以为每一个web请求启动一个进程来产生

动态内容。现在,HTTP协议已经很成熟了并且web服务器变得更加复杂,拥有了像缓

存、安全和session管理这些附加功能。随着技术的进一步成熟,我们从Kiva和

NetDynamics学会了公司专属的基于Java的服务器端技术。这些技术最终全都融入到我

们今天依然在大多数应用开辟里使用的JSP中。

以上是关于web服务器的。现在我们来讨论应用服务器。

在同一时期,应用服务器已经存在并发展很长一段时间了。一些公司为Unix开辟了

Tuxedo(面向事务的中间件)、TopEnd、Encina等产品,这些产品都是从类似IMS和

CICS的主机应用管理和监控环境衍生而来的。大部份的这些产品都指定了“封闭的”产品

专用通信协议来互连胖客户机(“fat”client)和服务器。在90年代,这些传统的应用服

务器产品开始嵌入HTTP通信功能,刚开始要利用网关来实现。不久后它们之间的界线开

始变得含糊了。

同时,web服务器越来越成熟,可以处理更高的负载、更多的并发和拥有更好的特性;应

用服务器开始添加越来越多的基于HTTP的通信功能。所有的这些导致了web服务器与应

用服务器的界线变得更窄了。

目前,“应用服务器”和“web服务器”之间的界线已经变得含糊不清了。但是人们还把

这两个术语区分开来,作为强调使用。

当有人说到“web服务器”时,你通常要把它认为是以HTTP为核心、webUI为向导的

应用。当有人说到“应用服务器”时,你可能想到“高负载、企业级特性、事务和队列、

多通道通信(HTTP和更多的协议)”。但现在提供这些需求的基本上都是同一个产品。

以上就是关于web服务器和应用服务器的全部内容。现在我们来看看第三个术语,即

web容器。

在Java方面,web容器普通是指Servlet容器。Servlet容器是与JavaServlet交互的

web容器的组件。web容器负责管理Servlet的生命周期、把URL映射到特定的

Servlet、确保URL请求拥有正确的访问权限和更多类似的服务。综合来看,Servlet容器

就是用来运行你的Servlet和维护它的生命周期的运行环境。

什么是Servlet?他们有什么作用?

在Java里,Servlet使你能够编写根据请求动态生成内容的服务端组件。事实上,Servlet

是一个在javax.servlet包里定义的接口。它为Servlet的生命周期声明了三个基本方法—

—init()、service()和destroy()。每一个Servlet都要实现这些方法(在SDK里定义或者用

户定义)并在它们的生命周期的特定时间由服务器来调

文档评论(0)

代写材料 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档