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 原因代码。 下表显示了对 创建会话 请求的响应的典型原因代码。 有关 HTTP 原因代码的列表,请参阅 RFC 2616

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

reason-description

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

BITS-Packet-type

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

BITS-Protocol

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

BITS-Session-Id

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

BITS 使用 GUID 来标识会话,但你可以使用任何 HTTP-legal 字符串(最多 100 个字符)。

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 服务器需要标识编码 (纯文本) 。 仅当原因代码为 200 或 201 时,才包括此标头。

Content-Length

将 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