一文看懂Tomcat、Nginx和Apache的区别
📅 2023-08-14
👍 0 赞
tomcat用在Java后台程序,难道不能用apache和nginx? 题目中的Apache其实是Apache HTTP Server Project,和 Nginx一样都是开源的HTTP服务器 软件。 HTTP服务器本质上也是一种应用程序——它通常运行在服务器上,绑定服务器的IP地址并监听某个TCP端口,接收并处理HTTP请求,这样客户端(如Chrome这样的浏览器)就能通过HTTP协议获取服务器上的网页(HTML格式)、文档(PDF格式)等资源。 强大的Java类库也实现了简单的HTTP服务器供开发者使用: HttpServer (Java HTTP Server ) 使用这种类库能很容易的运行一个HTTP服务器,它们都能通过绑定IP地址并监听TCP端口来提供HTTP服务。 相比于Apache HTTP Server,Tomcat能动态生成资源 并返回给Client。 Apache HTTP Server和Nginx都能将某一文本文件内容通过HTTP协议返回到客户端,但该文本文件的内容固定——无论何时、任何人访问它得到的内容都完全相同,即 静态资源 。 Apache HTTP Server和Nginx本身不支持生成动态页面,但可以通过其他模块来支持(例如通过Shell、PHP、Py脚本动态生成内容)。若想要使用Java程序动态生成资源内容,使用这类HTTP服务器就很难。 Java Servlet及JSP可以让Java程序也能处理HTTP请求并且返回内容(由程序动态控制)的能力,Tomcat正是支持运行Servlet/JSP应用程序的容器(Container): Tomcat运行在JVM之上,和HTTP服务器一样,绑定IP地址并监听TCP端口,而且: 与Servlet程序合作处理HTTP请求 根据HTTP请求生成HttpServletRequest对象并传递给Servlet进行处理,将Servlet中的HttpServletResponse对象生成的内容返回给浏览器 虽然Tomcat也可认为是HTTP服务器,但通常它仍和Nginx协作:
🔓 解锁阅读全文
📤 分享到社交平台
💬 微信
📢 微博
💬 QQ
👥 QQ空间
🔗 复制链接