java - 使用 TCP 通信比 HTTP 通信有何优势?

标签 java http jsp tcp

我已经使用 TCP 实现了客户端服务器 jave 程序的分配。现在我要解释为什么当 HTTP 等其他替代方案也可用时我选择 TCP 进行通信。 所以我需要一些为什么 TCP 比另一个更好的原因..

最佳答案

HTTP 不是 TCP 的替代品。它是建立在 TCP 之上的协议(protocol)。

自定义交互式协议(protocol)在 TCP 上实现时比在 HTTP 上实现效率更高,因为 HTTP 在相当基本的请求/响应基础上工作。

在纯 TCP 连接上,两端都可以随时发送消息。在 HTTP 上,服务器不能真正主动地向客户端发送消息。需要等待客户端发送请求。

HTTP 的一个优点是它几乎被普遍理解:所有语言都有服务器和客户端库,有很好理解的缓存和代理机制,还有各种各样的内置内容协商机制。

因此这是高级抽象或低级抽象之间的传统权衡:

  • 较低级别的抽象 (TCP) 提供了高度的灵 active 和实现几乎所有内容的可能性,但使用起来并不那么简单
  • 更高级别的抽象 (HTTP) 提供了更多的内置功能并且更容易支持,但更难添加额外的功能

关于java - 使用 TCP 通信比 HTTP 通信有何优势?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5974364/

相关文章:

java - Autowiring 变量的方法为 null

java - 在 Java 中 : why some Stream methods take int instead of byte or even char?

javascript - 如何快速显示大部分 html 页面,然后最后加载缓慢的内容?

具有多个源的 Java 命令行编译

java - 在java中Greping文件路径

javascript - 确定 cookie 的来源是 javascript 还是跟踪像素

javascript - Node JS 上的 HTTP 请求回调

android - 从 android 中的 HttpURLConnection 获取响应代码

java - 将 JSP 与 OSGi 结合使用时无法启动片段包

java - 上传pdf文件