首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >通过Web传输单个大文件。应用层和传输层选项

通过Web传输单个大文件。应用层和传输层选项
EN

Stack Overflow用户
提问于 2013-10-29 11:30:21
回答 1查看 159关注 0票数 0

虽然也有类似的问题,但我未能找到一个问题来总结数据传输协议的不同选择及其在速度、安全性和可靠性方面的优缺点。

作为一名开发人员,我创建了一个web服务,在服务器端生成一个文件,大小从500 5Gb到5GB不等。我正在研究将文件传输到客户端的不同选项。

据我所知,传输层中最突出的两种解决方案是TCP和UDP,TCP提供了更可靠的传输,并在时间上付出了代价,而UDP牺牲了可靠性以保证速度。

在应用层,我知道UDP的实现,提供可靠的传输,如RUDP和UDT。

非常重要的是要提到可以使用的协议,而无需客户端进行安装或特殊配置,以便从服务器端获取数据。

我的问题是:

  1. 是否有任何基于UDP的应用层协议在客户端开箱即用,如HTTP或FTP?
  2. 是否有任何基于TCP的协议与UDP协议提供类似的速度?
  3. UDP协议提供了像Https这样的数据传输的安全方式吗?

目标是

  1. 提供数据而不丢失任何包。
  2. 以安全(加密)的方式传送数据

对于实现,我目前使用JAX和Glassfish作为应用服务器。

EN

回答 1

Stack Overflow用户

发布于 2013-10-29 11:56:02

您的整个问题似乎已经决定TCP“太慢”,而UDP是您的救星。你的问题缺少重要的细节:

  1. 当文件被发送时,接收到它重要吗?
  2. 您在web服务中使用了哪些技术/框架?
  3. 您可以在客户端使用哪些技术/框架?
  4. 您目前在传输速度方面是否有任何问题?这是谁的错,你的序列化,你的代码,你的网络还是TCP的?

至于1,如果是,那就忘了UDP吧。TCP的速度相对较慢,因为它保证按顺序(只要存在连接)进行数据传递,这是您永远无法使用UDP的。请参阅哪个套接字编程最好(TCP/UDP)?

对于2和3,一些问题可能通过应用不同的序列化程序、格式化程序或传输来解决,但这完全取决于您如何实现服务和客户端。

对于4,我不认为TCP太慢。一旦窗口足够大,并且达到了速度,当输入适当大小的数据时,它将使用所有可用的带宽。例如,参见UDP和TCP相比,速度有多快?

现在请回答你们的问题:

是否有任何基于UDP的应用层协议在客户端开箱即用,如HTTP或FTP?

取决于你的盒子。

是否有任何基于TCP的协议与UDP协议提供类似的速度?

是的,例如视频流协议,那里的损失是可控的。

UDP协议提供了像Https这样的数据传输的安全方式吗?

TCP和UDP是传输,他们不在乎你传输什么。安全性是层次分明的,例如,请参见数据报传输层安全性

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19657035

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档