gpt4 book ai didi

java - 使用 Java 在 REST Web 服务中启用恢复中断下载

转载 作者:塔克拉玛干 更新时间:2023-11-01 19:12:23 25 4
gpt4 key购买 nike

我正在为客户编写一个 REST 网络服务来下载大型数据文件。作为其中的一部分,我想实现一项功能,以在发生异常或原始请求连接丢失时启用恢复中断下载。

我在网上做了一些研究,发现在请求 header 中支持 Range/If-Range 属性可能是解决方案,如 http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html 中所示.

我的问题是

  1. 在 REST web 服务范围内,在客户端 HTTP 请求 header 中支持 Range/If-Range 属性是最常用和最佳实践,还是仅将字节偏移量作为查询参数传递到客户端 GET 请求,例如 hostname:port/download?token=?byteoffset=??

  2. 如果采用前一种方法,在服务器端,是否有一种标准方法来处理 JAX-RS 规范中带有 Range 字段的请求(我使用的是 Java)?直接的方法是从文件中打开一个 InputStream 并绕过给定的字节数。

最佳答案

一般来说,不要使用与meta有关的参数——关于资源(或你需要的部分)的信息,所以你应该使用范围,并确保服务器允许这样做。

请注意,例如,byteoffset 不是资源本身有意义的部分、组件或语义上有趣的部分,而是一种克服部分内容的方法(同样,对于所有资源都是相同的,因此你必须为此使用允许的 header ,嘿!他们在那里就是为了那个)。

关于java - 使用 Java 在 REST Web 服务中启用恢复中断下载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10284946/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com