IPP, which stands for Internet Print Protocol, is a standard protocol for printing, configuring print options, and managing print jobs. It's the native protocol understood by CUPS, the Common UNIX Printing System. It's also widely supported by Windows, Macintosh, and Linux clients. The server accepts local print jobs or, when so configured, jobs from other computers on the LAN or Internet.
WebDAV is a protocol for distributed authoring of web content on web servers. Think of it like FTP, but without FTP.
So what's so interesting about these two seemingly unrelated protocols? They both extend HTTP. Yes, that's right. Normal web servers, like Apache and IIS, may optionally load WebDAV modules. WebDAV clients use the same URL as any web browser, but send special WebDAV HTTP commands like COPY, MOVE, LOCK, UNLOCK, and MKCOL (make directory). (HTTP already includes a PUT command for content uploads.) The outermost layer of CUPS is a normal HTTP server running on port 631. You can administrate CUPS using a regular web browser. When printing a job, a client opens a regular HTTP connection and sends a Print-Job request.
The benefits of extending HTTP are obvious. HTTP already includes extensive, well-tested mechanisms for authentication and security, including SSL. By taking advantage of these features, WebDAV and IPP servers can safely and securely permit remote access by authorized users. In fact, the CUPS configuration file purposefully bears a striking resemblance to Apache's httpd.conf.

Leave a comment