Internet Printing Protocol
Протокол Інтернет-друку ( англ. Internet Printing Protocol (IPP) ) - це спеціалізований Інтернет-протокол для зв'язку між клієнтськими пристроями (комп’ютерами, мобільними телефонами, планшетами тощо) та принтерами (або серверами друку). Це дозволяє клієнтам створювати та відправляти одне або кілька завдань друку на принтер та виконувати запити щодо статусу принтера, статусу завдань друку або скасування окремих завдань друку.
Як і всі протоколи на основі IP, IPP може працювати локально або через Інтернет. На відміну від інших протоколів друку, IPP також підтримує контроль доступу, автентифікацію та шифрування, що робить його набагато більш безпечним та потужним механізмом друку, ніж його попередники.
IPP є основою інших фірмових програм друку, включаючи AirPrint, IPP Everywhere [1] та Mopria Alliance, і його підтримують понад 98% принтерів, що виробляються сьогодні. [2]
Історія
ред.IPP розпочався як пропозиція Novell щодо створення протоколу Інтернет-друку в 1996 році. Результатом став проект під назвою Lightweight Document Printing Application (Легка програма для друку документів (LDPA)) на базі Document Printing Application (Додаток для друку документів (DPA)). Приблизно в той же час Lexmark публічно запропонував щось під назвою HyperText Printing Protocol (HTPP), а HP і Microsoft розпочали роботу над новими службами друку для Windows 2000. Кожна з цих компаній вирішила розпочати спільний проект протоколу Інтернет-друку в Printer Working Group (PWG) та провела сеанс BOF із директорами з IETF. Засідання BOF у грудні 1996 року виявило достатню зацікавленість у розробці протоколу друку, що призвело до створення робочої групи IETF Internet Printing Protocol (IPP) [3], яка зупинила свою діяльність у 2005 році.
Наразі робота над IPP триває в PWG Protocol Internet Printing, [Архівовано 8 березня 2021 у Wayback Machine.] які публікують нові стандарти та документи про найкращі практики, що забезпечують розширення IPP та підтримку різних послуг та сервісів, включаючи 3D-друк, сканування, факсимільний зв'язок., хмарні сервіси та загальне управління системою і ресурсами.
Версії
ред.- IPP / 1.0 був опублікований як серія експериментальних документів у 1999 році.
- IPP / 1.1 був створений як повноцінний проект у 2000 році. IPP / 1.1 був оновлений у січні 2017 року, а потім прийнятий як Інтернет-стандарт #92 у червні 2018 року.
- IPP 2.0 був опублікований PWG як тестовий інтернет-стандарт у 2009 р. і визначив дві нові версії IPP (2.0 для принтерів та 2.1 для серверів друку) з можливостями, що обходять IPP 1.1. Подальший розвиток IPP 2.0 створив додаткову версію 2.2 для серійних принтерів. Ця модифікація була оновлена та затверджена як новий стандарт PWG у 2015 році.
- IPP Everywhere [Архівовано 2 травня 2021 у Wayback Machine.] був опублікований у 2013 році та забезпечує спільну мережу принтерів для підтримки так званого "друку без драйверів". Він базується на IPP та передбачає додаткові правила, такі як перелік основних форматів документів, які повинні підтримувати принтери. Критерії щодо самосертифікації було опубліковано в 2016 році, що дозволило виробникам принтерів отримати сертифікати для своєї продукції та бути переліченими на сторінці принтерів IPP Everywhere [Архівовано 8 березня 2021 у Wayback Machine.], що підтримується PWG.
Впровадження
ред.IPP реалізований за допомогою протоколу передачі гіпертексту (HTTP) і успадковує всі функції потокового передавання та захисту HTTP. Шифрування забезпечується за допомогою рівня протоколу TLS, використовуючи традиційний HTTPS. Цифрові сертифікати можна використовувати для автентифікації за допомогою TLS. Документ, що відправлен до друку, зазвичай надсилається як потік даних і може бути у різних форматах, таких як PDF або JPEG, залежно від можливостей цільового принтера.
IPP використовує традиційну модель клієнт-сервер. Запит IPP складається з пар ключ/значення, використовуючи власне двійкове кодування. Відповідь на запит IPP надсилається клієнту у форматі HTTP POST.
IPP використовує добре відомий 631 порт TCP.
Крім усього іншого, IPP дозволяє клієнту:
- запитувати можливості принтера (наприклад, підтримувані набори символів, типи носіїв, формати документів тощо)
- створити та відправити завдання друку на принтер
- запитувати стан принтера
- запитувати стан одного або декількох завдань друку
- скасувати раніше створені завдання друку
Список літератури
ред.- ↑ IPP Everywhere. Архів оригіналу за 2 квітня 2019. Процитовано 2 квітня 2019.
- ↑ Michael Sweet, Apple Inc. (15 травня 2018). CUPS Plenary, Joint PWG/Open Printing Meeting, Sunnyvale, California (PDF). Printer Working Group. Архів оригіналу (PDF) за 15 березня 2019. Процитовано 2 квітня 2019.
- ↑ IPP, Working groups, IETF, архів оригіналу за 2 жовтня 2010, процитовано 24 березня 2021.