Web服务器的功能:处理HTTP协议栈、文件系统映射及I/O、多线程处理请求/响应、日志记录、代理服务。

只使用Web服务器,我们只能实现Web1.0的部分功能——静态网页,因为Web服务器应用只能提供 http(s) 服务,即让用户访问静态资源(HTML 文档、图片、CSS 文件、JavaScript 文件等),它们不能执行任何编程语言,自然生成不了动态页面。

动态网页是需要生成的,它并不是Web服务器直接返回一个已有的资源,而是Web服务器程序通过接口给另一个程序(就是容器)一些信息(即用户提交的请求信息),然后这个容器返回一个即时生成的一个临时性的资源,Web服务器程序再将这个临时资源(即动态页面)封装后响应到用户。

这个生成动态页面的应用有许多种实现,但如果不能直接运行在操作系统上,我们就要给这个应用提供编程语言运行环境。提供这个环境的,就是一种中间件,也就是容器。可以将容器看做一个程序,它能运行操作系统不能直接运行的代码。

举例:Servlet容器。当Web服务器程序接受到一个动态页面的请求时,Web服务器程序会将这个请求传递给Servlet容器来处理,然后等待Servlet容器给这个请求生成的界面,它再把界面封装之后响应给浏览器端;Servlet容器接收到请求时,会根据配置文件(web.xml)找到对应的 Servlet 类,将它加载并实例化,然后调用其中的方法来处理用户请求,处理结束后,Servlet 容器将处理结果再转交给 Web 服务器。

虽然JRE也是一个编程语言运行环境,但因为Servlet类无法直接运行在JRE上,所以需要Servlet容器,Servlet容器依靠JRE运行,Servlet类再依靠Servlet容器运行。Servlet类将被作为一个模块载入到 Servlet 容器,然后由 Servlet 容器来实例化,并调用其中的方法。

所以Web容器(如Servlet)的主要功能是通信支持、生命周期管理和多线程支持等,对应了Servlet类与Web服务器的交互和对Servlet类的管理。

Web服务器与Web容器的概念相关推荐

  1. Web服务器与Servlet容器初步认识

    在本文中,我写了一些关于Web服务器.Servlet容器以及它与JVM的关系的基本概念.我想表达的是,Servlet容器也仅仅不过是一个Java程序. 1. 什么是Web服务器? 想要知道什么是Ser ...

  2. web服务器、Web中间件和Web容器的区别

    目录 Web服务器 中间件 容器 总结 Web开发的选择 我们经常会被Web服务器.Web容器和Web中间件这三个概念搞混.因为我们常见的很多网站要么是由IIS搭建,要么是由Apache.Tomcat ...

  3. Java使用Jetty实现嵌入式Web服务器及Servlet容器

    Jetty是一个Java实现的开源的servlet容器,它既可以像Tomcat一样作为一个完整的Web服务器和Servlet容器,同时也可以嵌入在Java应用程序中,在Java程序中调用Jetty. ...

  4. 理清web服务器跟应用服务器的基本概念(纯拷贝)

    一 常见的WEB服务器和应用服务器 在UNIX和LINUX平台下使用最广泛的免费web服务器是W3C.NCSA和APACHE服务器,而Windows平台NT/2000/2003使用IIS的WEB服务器 ...

  5. web服务器,web中间件,web容器的区别

    web服务器,中间件,web容器 web服务器 中间件 web容器 结论 前言:才学习的时候,就听过大名鼎鼎的web服务器,apache,iis,tomcat,后面进一步学习的时候,发现有个web中间 ...

  6. 【githubshare】可对 Web 容器、Web 服务器、Web 中间件以及 CMS 等 Web 程序进行漏洞扫描的软件

    GitHub 上一款开源的漏洞扫描工具:Vulmap,可对 Web 容器.Web 服务器.Web 中间件以及 CMS 等 Web 程序进行漏洞扫描,并且具备漏洞利用功能. 相关测试人员可以使用 vul ...

  7. Web服务器,Web容器和应用服务器的区别

    转载自http://www.2cto.com/os/201504/395183.html 1.什么是服务器? 2.Web服务器,Web容器和应用服务器的区别? 3.Apache和Tomcat的区别? ...

  8. web服务器和web应用服务器的区别

    首先,web服务器和web应用服务器不是同一个概念.起初,我也把两者混为一谈.现在说说自己对这两个的理解,如有不对之处,欢迎指出. web应用服务器 在java web开发时,最早接触的web服务器是 ...

  9. web浏览器与网站服务器,web服务器和web浏览器

    web服务器和web浏览器 内容精选 换一换 当您需要实现网站HTTPS化,并监控HTTPS业务流量,识别并阻断SQL注入.CC攻击等攻击,保护Web服务安全稳定时,本文档指导您如何实现网站HTTPS ...

最新文章

  1. 【代码块】代码块使用注意事项和细节讨论
  2. 使用Keras进行深度学习:(三)使用text-CNN处理自然语言(上)
  3. C# :异步编程的注意点
  4. CF613D-Kingdom and its Cities【虚树,LCA,树链剖分,贪心】
  5. 接口 DataOutput
  6. C++11 标准新特性:委派构造函数
  7. Java PipedOutputStream connect()方法与示例
  8. springboot+mybatis日志显示SQL
  9. 模板类的声明和定义要放在同一个文件
  10. Qt_模仿siri语音动画 全平台语音动画
  11. 易语言单窗口单ip软件源码_想要挣钱创收 那就用脚本操作手机群控软件啊
  12. B端和C端产品主要差异:用户、体验、数据
  13. Phi-divergence
  14. MMDetection——GPU训练
  15. java实现销售预测算法,预测5天销售
  16. 全球与中国二手服装市场现状及未来发展趋势
  17. python编写程序转换进制_python——进制转换
  18. 华数java 知乎_BAT都有意,知乎为什么和腾讯走到了一起?
  19. 网狐、6878、EWIN后台管理员帐号密码 对应数据库表
  20. 纵横内外·突破盲区|BF-TR8500​高功率全频段数字中继台

热门文章

  1. 用unigui来制作网站
  2. 【Qt】桌面应用开发教程——布局|按钮组|容器|常用控件|消息事件机制
  3. float 或者 flex 换行(打工人的愤怒)
  4. mysql 从后往前截取指定个数字符串_Mysql字符串截取函数SUBSTRING的用法说明
  5. HoloLens开发(配置)
  6. 【李开复】给家长的一封信(八)
  7. Pytest结合allure插件生成alluer测试报告【详细实战篇】
  8. WIN11从MSDN重新安装后 应用商店打不开 报错 0x80131500 0x00000194 报错 0x80240438
  9. typedef define
  10. 易助ERP5.0 不能同时运行多个仓库