4.2 General Push Distribution Sequence with $F Packets
The following sequence occurs between a client and a server during a push distribution.
The client sends a PushSetup request.
If the server requires the client to be authenticated, the server and client exchange access authentication HTTP headers as specified in [RFC2616] section 11.
Note The HTTP exchanges required for authentication are defined by the selected authentication scheme.
If authentication is not required, or if authentication has succeeded, the server responds with a "204 No Content" HTTP response.
The client sends a PushStart request, followed by an $H packet and $D packets.
The client sends $F filler packets to ensure that the total length of the message body equals the size specified by the client in the Content-Length header.
When the client has sent the amount of data allowed in the PushStart request, the server responds with a "204 No Content" HTTP response. The client then sends a new PushStart request, followed by more $D packets.
The client sends $F filler packets to ensure that the total length of the message body equals the size specified by the client in the Content-Length header.
When the client has sent the amount of data allowed in the PushStart request, the server responds with a "204 No Content" HTTP response. The client then sends a new PushStart request, followed by more $D packets.
After all $D packets have been sent to the server, the client sends an $E packet with the Reason field set to 0x00000000 to indicate that the data transfer has been completed. The server then closes the connection on receiving the $E(0x00000000) packet.
The client closes the TCP connection to the server. This action also ends the streaming session.
The following figure shows a message sequence with three PushStart requests. If it is possible for the client to determine that a proxy HTTP server is used when connected to the server, then the client sends Multiple PushStart requests (as specified in section 3.1.4.2.1). Windows clients send a single PushStart request when HTTP proxy servers are not used.

Figure 2: General push distribution sequence with $F packets and multiple PushStart requests