Nginx与Tomcat的区别,什么是HTTP服务器(处理静态资源的服务器),什么是处理动态资源的服务器

Nginx和Tomcat都是常用的Web服务器,但它们的主要作用不同。
Nginx是一个HTTP服务器,反向代理服务器和通用TCP/UDP代理服务器。它通常用于静态内容、媒体流和负载均衡。在高流量和高并发负载下,Nginx表现更出色,并且能够轻松处理静态文件、压缩和SSL/TLS卸载等任务,以减轻后端服务器的负担。

什么是HTTP服务器呢?
HTTP服务器是指能够接收HTTP请求并返回HTTP响应的服务器软件或服务。它主要用于向客户端(例如Web浏览器)提供静态资源,如HTML页面、图像文件、CSS和JavaScript文件等。HTTP服务器通常会将这些静态资源存储在磁盘上,并在接收到请求时直接返回相应的文件。(并没有什么逻辑处理,就和链接差不多的处理)
所以说Nginx只能处理静态资源,不能处理jar包之类的动态资源。

 

什么是反向代理呢?
正向代理和反向代理都是通过代理服务器去访问其他服务器。
正向代理简单说就是vpn,就是通过代理服务器去访问你想访问的网站的内容,再去转发给客户端。

反向代理就是请求通过代理服务器分发给不同的服务器处理,从而避免请求都是同一台服务器处理,减轻服务器压力。

Tomcat是一个Java Servlet容器,实现了Java EE规范的一部分并支持Java Servlet、JavaServer Pages(JSP)和Java WebSocket等技术。
简单说你就可以把它理解成java环境的一种补充,里面有servlet和jsp等api的实现,如果没有这些实现的话代码就运行不了(类比于c就是提供dll文件)。所以为什么说springboot内嵌Tomcat,因为打包好的jar包里面包含了这种servlet等接口的实现,所以就不需要Tomcat也能运行。所以Tomcat本质上是提供servlet等规范的实现。
Tomcat通过Java代码实现动态内容的生成,而且能够处理复杂的业务逻辑。
但是Tomcat中也包含HTTP服务器,也就是能通过静态的资源名直接访问对应资源,但是功能没有NGINX那么强大,不是一个纯粹的HTTP服务器。
Tomcat服务器也没有反向代理的功能,它只是人家发给它什么请求,它返回对应的内容,并不会分发请求。

动态资源是指在每次请求时都需要根据用户的请求生成或处理的内容,返回对应的信息,如用户登录状态是什么、购物车里有哪些东西等等。

相比于静态资源的特点就是它更需要逻辑,而不是像静态资源那样直接返回。
我们通过使用脚本语言或后端框架来实现这些逻辑,并交给处理动态资源的服务器运行,从而能够执行一些特定的逻辑,根据具体的请求返回生成的动态内容。

HTTP服务器主要用于提供静态资源,而处理动态资源的服务器则同时包含了HTTP服务器的功能,并且能够动态生成和处理内容。实际上,在处理动态资源的服务器中,通常也会包含一个HTTP服务器用于处理静态资源的请求。


总的来说,Nginx和Tomcat都有自己特定的作用和优点,具体选择取决于应用场景和需求。一般情况下,Nginx用于处理静态资源和负载均衡,而Tomcat用于处理动态内容和服务器端Java应用程序。
在现在的前后端分离中,一般先启动前端工程(ngnix),然后启用后端工程(tomcat或运行springboot代码),然后再通过访问Nginx的端口的页面去访问后端接口。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值