尽管有类似的问题,但我无法找到一个总结数据传输协议的不同选项及其在速度、安全性和可靠性方面的优缺点的问题。
作为一名开发人员,我创建了一个 Web 服务,它在服务器端生成一个大小从 500Mb 到 5Gb 的单个文件。我正在研究将文件传输到客户端的不同选项。
据我所知,传输层中最突出的两个解决方案是 TCP 和 UDP,TCP 提供更可靠的传输,但需要时间成本,而 UDP 会牺牲可靠性来换取速度。
在应用层,我知道存在提供可靠传输的 UDP 实现,例如 RUDP 和 UDT。
重要的是要提到可以在不要求客户端进行安装或特殊配置的情况下使用的协议,以便从服务器端获取数据。
我的问题是:
是否有任何基于 UDP 的应用层协议在客户端开箱即用,例如 HTTP 或 FTP?
是否有任何基于 TCP 的协议提供与 UDP 类似的速度?
UDP 协议是否提供像 Https 这样的安全数据传输方式?
目标是
- 交付数据,不丢失任何数据包
- 以安全(加密)的方式交付数据
对于实现,我目前使用 JAX-WS 和 Glassfish 作为应用服务器。