1.3.4.2 Uploading to an Alternate Server
If the destination URL refers to a network load balancer or multiple servers, it is possible that the messages sent as part of each request could be forwarded to a different server behind the load balancer, depending on the server configuration.
In order to have the messages related to a given request entity sent only to a specific server, this protocol provides the capability of sending the server's unique address as part of the BITS-Host-ID header as part of the Ack to the CREATE-SESSION message. See section 2.2.3 for the message format for the Ack to CREATE-SESSION.
After the client sees that BITS-Host-ID header fields are sent from the server, it replaces the host in the destination URL with the value of the BITS-Host-Id (section 2.2.3.2) header field, and it sends the future message requests related to the given upload to the updated destination URL. Header fields are used as specified in [RFC2616] section 4.2.
If the client makes no progress in the time interval provided through BITS-Host-Id-Fallback-Timeout (as specified in section 2.2.3), the client reverts to the origin server and continues the given upload.
See the state diagram in section 3.1.1.2 for the use of BITS-Host-ID and BITS-Host-Id-Fallback-Timeout.