3.1.4.1.1 Sending the PushSetup Request

The PushSetup request MUST adhere to the syntax specified in section 2.2.2.1.

The request sent by the client MUST NOT specify any of the headers and tokens specified in section 2.2.1 which are defined only for use in responses.

The client MUST specify the User-Agent (section 2.2.1.8) header in the request.

The client MUST specify the Content-Type (section 2.2.1.1) header.

The client MUST specify the Content-Length header as specified in [RFC2616] section 14.13. Thus, it follows that chunked transfer coding (as specified in [RFC2616] section 3.6.1) MUST NOT be used.

The client SHOULD specify the X-Accept-Authentication (section 2.2.1.9) header.<2>

If the client is responding to an HTTP authentication challenge, it MUST include the Authorization header (as specified in [RFC2616] section 14.8) if the challenge is from a server, or the Proxy-Authorization header (as specified in [RFC2616] section 14.34) if the challenge is from a proxy.

Note If NTLM is used with HTTP 1.0 it is necessary to include the "Connection: keep-alive" in the request. For details about the usage of the Connection header in HTTP 1.0, see section 19.7.1 in [RFC2068].

The Cookie header SHOULD be included in the request. The push-id cookie MUST be included on the Cookie header, and the value of the cookie MUST be equal to the value of the Push-ID variable.

If the higher layer specifies a "template" publishing point on the server, the name of that publishing point MUST be included by using the Template-URL (section 2.2.2.1.1) directive in the message body of the POST request (If the publishing point identified by the URL on the HTTP request line does not yet exist, the server might use the Template-URL publishing point as a "template" when creating the publishing point).

If the higher layer requests that the publishing point identified by the URL on the HTTP request line be removed at the end of the streaming session, the message body of the POST request MUST include the AutoDestroy (section 2.2.2.1.2) directive. If the Template-URL directive is included in the message body, the AutoDestroy directive SHOULD also be included, even if the higher layer does not request the publishing point to be removed.

After sending the request, the client MUST wait for the response to be received. How to process the response is specified in section 3.1.5.1.