2.2.6 FRAGMENT

The client MUST use this message to send a block of data from the request entity to the destination URL. The intent of the protocol is for the client to send the data in one or more nonoverlapping fragments, starting with the first byte of the request entity and proceeding to the last byte. However, in several cases the client state and server state can hold different values for the next byte to be transferred. For instance:

  • When a previous FRAGMENT message was interrupted due to a transient failure in the network, the client, or the server.

  • When the server or client state changes due to external events such as restoration from a backup.

  • When the client's current fragment is sent to a different server than previous fragments, for example, because the client's HostID fallback timer expires.

See section 3.2.5.1.2 for the validation required of the server.

The client and server MAY impose limits on the minimum and maximum length of a fragment's body.<10>