3.2.5 Message Processing Events and Sequencing Rules

The client initiates the Web Point-and-Print Protocol by sending a Driver Selection Request message (section 2.2.4) to the server. On receiving this message, the server validates parameters as follows:

  • The PRINTER_RESOURCE parameter is a valid absolute path of a printer resource.

  • The CLIENT_INFO section of the URL is a supported ClientInfo value (section 2.2.2) value.

If parameter validation fails, the server MUST fail the operation immediately, returning HTTP error 500 (Internal Server Error). If parameter validation succeeds, the server composes a response to the client as follows:

  • The server uses the received CLIENT_INFO parameter to determine the location of the appropriate printer driver. The mechanism is implementation specific. If a matching driver is found, the server creates a Driver Selection Response (section 2.2.5), replying to the client with an HTTP 302 redirect.<6>

  • If a matching driver cannot be found, the server fails the operation, replying to the client with HTTP error 500 (internal server error).

Processing of a Driver Download Request (section 2.2.6) follows the rules specified for GET processing ([RFC2616] section 9.3). The format of the data returned in the response is specified in the Driver Download Response (section 2.2.7).