Le protocole d'impression sur Internet (IPP) est défini dans les RFC2910 et RFC2911. C'est un protocole extensible, par exemple "IPP Everywhere" est un candidat pour une norme en matière d'impression mobile et cloud et des extensions IPP pour l'impression 3D ont été publiées.
Comme IPP est basé sur _HTTP_, il hérite de toutes les fonctionnalités de sécurité existantes telles que l'authentification de base/digest et le chiffrement _SSL/TLS_. Pour soumettre un travail d'impression ou récupérer des informations d'état de l'imprimante, une requête POST HTTP est envoyée au serveur IPP écoutant sur le **port 631/tcp**. Une célèbre implémentation IPP open-source est CUPS, qui est le système d'impression par défaut dans de nombreuses distributions Linux et OS X. Tout comme LPD, IPP est un **canal** pour déployer les données réelles à imprimer et peut être utilisé comme vecteur pour des fichiers PostScript ou PJL malveillants.