Tomcat(这里以 tomcat 代表 web 服务器)和 Servlet 比照:
Tomcat 能够了解成用于 http 平台的服务器,能承受 http 的申请并剖析。
Servlet 是 java 外部的一种标准,精确的说,他能够对参数进行剖析,创建对象而后返回数据。
这两者比照,差不多就是 Tomcat 负责申请连贯,断开连接,连贯校验等操作,Servlet 次要解决外部数据操作,留神这个对申请的操作实际上是最简单的。
Tomcat 和 Netty 比照:
tomcat 是 web 服务器,次要针对 http 协定,netty 反对各种协定,本人造协定都 OK,当然 netty 也能封装 http 协定,所以也当然能够用 netty 当做 web 服务器。
Tomcat 是基于 netty 吗?貌似不是,tomcat 官网上是这么写的:
Tomcat 8.5 and 9.0 have completely dropped the BIO connector.
也就是说,老版本 tomcat 只有 bio,起初退出了反对 nio 性能,8.5 之后罗唆间接放弃 bio 模式了。
Tomcat 用 java 起初的 NIO 来优化本人,netty 也是基于 nio,不过用 netty 做一个 http 服务器仿佛没那么轻松,所以 netty 更多畛域在于走各种 rpc 协定,消息中间件,或者其余畛域的网络通讯。
Servlet 和 Netty 比照:
这两个仿佛没什么可比照的,不过都是前身都是 java,关系比拟远
如果说把 java 当做元祖,Nio(这里指 java 的 NIO)当做老爹,Tomcat 和 netty 关系能够当做兄弟(Nio),tomcat 跟 nginx 表兄关系(nginx 跟 nio 没父子关系),那 Servlet 和 netty 能够当做堂兄关系(Servlet 跟 Nio 没关系)。
————————————————
原文链接:https://blog.csdn.net/bibiboy…