了解REST:REST是一种高容量传输吗?

时间:2010-02-08 16:18:07

标签: http rest

我正在设计一个需要通过TCP移动多GB备份映像的系统,我正在将REST视为ONC RPC的替代品。

例如,我可能有

POST http://site/backups/image1

其中image1是50GB文件,其数据包含在HTTP正文中。

我的问题:这是否属于REST的范围?通过HTTP移动海量文件是不合适的吗?我的初步测试显示性能不是太差,我喜欢干净的,可调试的协议,而不是自定义的ONC RPC服务器。但这是否会超载网络服务器的角色?

谢谢, -Steve

3 个答案:

答案 0 :(得分:1)

HTTP具有与FTP相同的开销。

如果经常要求HTTP服务器执行比FTP服务器更多的工作。但是,否则,使用HTTP发送大文件与使用FTP大致相同。

唯一的考虑因素是确保您的Web服务器和Web应用程序框架配置为执行此类操作,而无需在Apache中不必要地扩展整个50Gb文件。

答案 1 :(得分:1)

史蒂夫,

HTTP具有先行后移'功能',允许客户端询问服务器是否在实际发送数据之前接受数据提交。我会考虑使用它来避免传输GB数据,以发现服务器当前不愿意处理它们。查看HTTP Expect标头和100个继续状态代码。

此外,您可以在RESTful方法中使用FTP,IOW,按照

的方式思考
<backup-store href="ftp://example.org/site/backup/images/"/>

让您的客户了解ftp URI方案。

最后,HTTP中的T表示传输而不是传输 - 这是一个重要的区别,因为前者是应用程序语义(HTTP是应用程序协议),后者不是。

HTH,

答案 2 :(得分:0)

REST与数据的大小或用于传输数据的方法无关。