根据范围标头的HTTP/1.1规范(http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.35),声明
HTTP中的字节范围规范适用于实体主体中的字节序列(不一定与消息主体相同)。
我的问题是假设我请求下载大小为1GB&它具有多个128MB的加密块。由于HTTP的字节范围不等于文件的大小,而是HTTP实体的大小,因此可以在不打破边界的情况下从服务器并行下载这些块。请注意,我不想重新组装文件。我想单独处理这些块进行解密。哪个Range标头将是最合适的&如何在Range标头中导出要发送到的正确值?
谢谢,
Range标头不适用于完整的HTTP实体,而仅适用于该HTTP实体的实体体。HTTP消息RFC(http://www.w3.org/Protocols/rfc2616/rfc2616-sec4.html)表示
HTTP消息的消息体(如果有的话)用于承载与请求或响应相关联的实体体。只有当应用了传输编码时,消息主体才与实体主体不同,如传输编码标题字段所示(第14.41节)
阅读的另一个好参考是http://www.ietf.org/rfc/rfc3229.txt(第4节-HTTP消息生成序列),它解释了HTTP响应是如何生成的。从概念上讲,当Range标头&在请求中提供了传输编码,Range首先用于消息响应生成&则应用传输编码。我认为大多数HTTP服务器都应该对此进行确认,因此我们可以应用范围标头w.r.t消息内容长度。