Fragment
使用 片段 数据包将上传文件的片段发送到服务器。
BITS_POST remote-URL HTTP/1.1
BITS-Packet-Type: Fragment
BITS-Session-Id: {guid}
Content-Name: filename
Content-Length: length
Content-Range: Bytes range/total-length
Content-Encoding: encoding
-
BITS_POST
-
特定于 BITS 的谓词,用于向 BITS 服务器标识此数据包。
将 remote-URL 替换为绝对 URI 或相对 URI。 通常,将 remote-URL 替换为作业的远程文件名。 有关网络负载均衡注意事项,请参阅 Create-Session 数据包中的 BITS-Host-Id 标头。
-
BITS-Packet-type
-
将此请求数据包标识为片段数据包。
-
BITS-Session-Id
-
标识与服务器的会话的字符串 GUID。 将 {guid} 替换为服务器 在 Create-Session 响应数据包的 Ack 中返回的会话标识符。
-
Content-Name
-
仅使用初始片段指定此标头。 将 filename 替换为作业中本地文件名的名称。 该名称不包括路径。
-
Content-Length
-
将 length 替换为在片段正文中发送的字节数。
-
Content-Range
-
告知服务器在目标文件中应用范围的位置。 将 range 替换为目标文件中范围的开始和结束偏移量。 偏移量从零开始。 如果给定的范围与现有范围重叠,则 BITS 仅写入该区域的非重叠部分;BITS 不会覆盖现有内容。 例如,如果第一个数据包包含范围 0 到 100,第二个数据包包含范围 50 到 150,则 BITS 只写入第二个数据包的字节 101 到 150。 将 total-length 替换为文件中的总字节数。
-
Content-Encoding
-
将编码替换为客户端在片段上使用的编码类型。 客户端必须使用服务器在 Create-Session 响应数据包的 Ack Accept-Encoding 标头中标识的编码。 服务器使用编码类型来解码片段。 所有片段必须指定相同的编码。
如果编码类型为 Identity,则不要发送此标头。 BITS 服务器仅支持标识编码。
片段是数据包正文中发送的字节范围。 客户端按从偏移量零开始的顺序发送片段;服务器不跟踪非连续范围。 如果客户端发送非连续范围,服务器将在 Ack for Fragment 响应中返回 HTTP 416 (范围不满足) 返回代码。
Content-xxxx 标头是标准 HTTP 1.1 标头。 有关 Content-xxxx 标头的更多详细信息,请参阅 RFC 2616 规范。