IPP contains two basic object types: Printer and Job. Each object type contains characteristics of a real printer or a real print job. Each object type is defined as a set of possible attributes that can be supported by that particular object type.
To enable all Printer and Job objects to be unambiguously referenced, they are all identified by a Uniform Resource Identifier (URI). The URI concept and implementation as an identifier is useful because it provides a means of uniquely identifying both the method of communicating with the print service (IPP) and a distinct network identifier for a printer queue (//server/printers/queue) or job.
When a print request is created, the IPP protocol message generated must contain the printer-uri of the Printer object the operation is to be performed against. Possible values for a printer-uri can be retrieved from a printer object or naming service printer-uri-supported attribute.