Ack for Create-Session

使用 Ack for Create-Session 数据包来确认客户端的 Create-Session 请求。

reason-code reason-description
BITS-Packet-Type: Ack
BITS-Protocol: {guid}
BITS-Session-Id: {guid}
BITS-Host-Id: PublicHostName
BITS-Host-Id-Fallback-Timeout: Timeout
Accept-Encoding: Identity
Content-Length: length
BITS-Error-Code: error-code
BITS-Error-Context: error-context

头文件

reason-code

将原因代码替换为 HTTP 原因代码。 下表显示了响应 Create-Session 请求的典型原因代码。 有关 HTTP 原因代码的列表,请参阅 RFC 2616

原因代码 说明
200
没问题。 请求已成功。
201
Created. 已创建会话。
403
已禁止。 不允许用户将文件上传到指定的 URL。
404
找不到该加密提供程序。 指定的 URL 不存在。
409
冲突。 该文件存在于服务器上,无法覆盖。

reason-description

将原因说明替换为与原因代码关联的 HTTP 说明。 例如,如果原因代码为 200,请将原因说明设置为“确定”。

BITS-Packet-Type

将此响应数据包标识为 Ack 数据包。

BITS-Protocol

用于标识服务器要用于此会话的协议的字符串 GUID。 将 {guid} 替换为客户端在 创建会话 请求中包含的协议列表中的协议标识符;BITS-Supported-Protocol 标头包含列表。 仅当原因代码为 200 或 201 时,才包含此标头。

BITS-Session-Id

用于标识此会话到客户端的字符串 GUID。 将 {guid} 替换为客户端在所有后续请求数据包中发送的会话标识符。

BITS 使用 GUID 来标识会话,但可以使用最多 100 个字符的任何 HTTP 合法字符串。

BITS-Host-ID

可选。 仅当设置了 BITS IIS 扩展属性 BITSHostId 时,才包含此标头。 将 PublicHostName 替换为 BITSHostId 属性中的服务器名称或 IP 地址。

客户端必须在所有后续数据包上替换远程 URL 的服务器部分。 如果客户端未在后续数据包上指定此主机名,则作业可能在场中的另一台服务器上再次开始,并将部分上传文件保留在上一台服务器上。

BITS-Host-Id-Fallback-Timeout

可选。 仅当指定 BITS-Host-Id 标头时,才包含此标头。 将 Timeout 替换为 BITSHostIdFallbackTimeout 属性中的超时值。 BITSHostIdFallbackTimeout 属性是 BITS IIS 扩展属性之一。

客户端使用超时期限来确定它尝试重新连接到 BITS-Host-Id 标头中指定的服务器名称的时间,然后再还原到作业远程文件名中指定的主机名。 当 BITS 无法连接到 BITS-Host-Id 服务器时,计时器将开始。 还原到服务器的连接时,计时器将重置。 如果未指定超时期限,则客户端永远不会还原到远程文件名中指定的主机名。

Accept-Encoding

标识在发送到服务器的片段上使用的编码方案。 片段数据包包含数据包正文中的编码片段。 BITS 服务器需要标识编码 (纯文本) 。 仅当 Reason-code 为 200 或 201 时,才包含此标头。

Content-Length

将长度替换为响应正文中包含的字节数。 即使响应正文不包含内容,也是必需的。

BITS-Error-Code

将错误代码替换为十六进制数字,表示与服务器端错误关联的 HRESULT 值。 仅当原因代码不是 200 或 201 时,才包含此标头。

BITS-Error-Context

将错误上下文替换为表示发生错误的上下文的十六进制数字。 如果服务器生成错误,请为 BG_ERROR_CONTEXT_REMOTE_FILE指定十 六进制数 (0x5) 。 否则,如果上传文件传递到的应用程序生成了错误,则为 BG_ERROR_CONTEXT_REMOTE_APPLICATION 指定十六进制数 (0x7) 。 仅当原因代码不是 200 或 201 时,才包含此标头。

另请参阅

Create-Session