我正在设计一个需要通过TCP移动多GB备份映像的系统,我正在将REST视为ONC RPC的替代品。
例如,我可能有
POST http://site/backups/image1
其中image1是50GB文件,其数据包含在HTTP正文中。
我的问题:这是否属于REST的范围?通过HTTP移动海量文件是不合适的吗?我的初步测试显示性能不是太差,我喜欢干净的,可调试的协议,而不是自定义的ONC RPC服务器。但这是否会超载网络服务器的角色?
谢谢, -Steve
答案 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与数据的大小或用于传输数据的方法无关。