3 回答
TA贡献1859条经验 获得超6个赞
其实理解本质即可:
1. servlet是放到http容器中运行的,也就是说,容器已经替你完成底层的工作,例如处理连接,协议解析等,这样自己可以专注于业务逻辑的处理。拿tomcat举例,tomcat底层已经tcpip,之后实现http协议,具体io的处理是bio还是nio,这些可以配置,用户只需要写servlet处理get,post等方法即可。
2. 如果不写servlet,使用netty等框架,就等于更底层一点,netty只负责tcpip的链接的处理,提供了一个框架给你,具体的协议的制定,实现等一般自己完成,使用bio或nio等需要自己控制。
优缺点:
1.使用tomcat,编写servlet等的方式,优点:开发效率高,client端处理灵活,只要支持http协议即可;缺点:性能相对来说,会比较低,毕竟http传递的消息头和消息体的传输还是比较大的
2. 使用netty,优点:性能较高,支持的协议更灵活,可以是http,可以是自定义的协议。缺点:开发效率低,对编程要求高。
TA贡献1816条经验 获得超6个赞
完全可以,走简单字符串协议交互,并发还能得到保障,但是不方便与第三方合作与接入,还是推荐http型的api网站,json交互。这样调用方便,扩展容易。首选springMVC
TA贡献1807条经验 获得超9个赞
在你的设计中是否需要,或完全应用 HTTP协议。比如消息头 状态码 消息格式 消息体这类信息。 如果你本身没有把HTTP当成应用层协议,而只是作为传输层协议,那么是的,可以完全用纯tcp替代。
添加回答
举报