Почему CUPS поставляет веб-сервер вместо использования httpd?

CUPS реализует собственный веб-сервер для размещения CGI-программ на http://localhost:631.

сервер: https://github.com/apple/cups/blob/master/cups/http.c

CGI-страницы: https://github.com/apple/cups/tree/master/cgi-bin

Создание веб-сервера только для демона печати кажется дублированием кода и раздуванием, что может привести к усложнению поддержки кода и возможному созданию ошибок.

Почему настоящий демон httpd, такой как Apache, не используется?


person Mateus    schedule 10.12.2016    source источник


Ответы (2)


CUPS использует протокол Интернет-печати (IPP) для передачи заданий от клиентов печати к серверам печати (и, возможно, к принтерам, если они поддерживают IPP).

IPP основан на HTTP.
Но IPP не то же самое, что и HTTP.

Кроме того, веб-сервер CUPS отличается от демона печати CUPS. Вы можете полностью отключить веб-интерфейс, добавив WebInterface No в свой cupsd.conf.

Использование Apache или любого другого демона HTTP не так сильно раздуло бы CUPS: потому что эти демоны не говорят по IPP и не предоставляют никаких функций в качестве сервера печати. Таким образом, добавление их в CUPS только для веб-интерфейса скорее раздует CUPS!

person Kurt Pfeifle    schedule 16.08.2017
comment
Интересно, можно ли использовать CUPS в качестве небольшого веб-сервера с CGI. Если да, то это сделает CUPS наиболее широко используемым веб-сервером в мире. Также в Ubuntu (и, возможно, в других дистрибутивах) уже установлен BusyBox с httpd, который поддерживает CGI. Так, например, если CUPS сможет его использовать, то, возможно, мы сможем сделать его еще меньше. - person Sergey Ponomarev; 09.06.2021

Я хочу, чтобы веб-сервер CUPS запускал PHP, чтобы я мог выполнять с ним несколько задач печати и сканирования без установки другого веб-сервера.

person user178167    schedule 02.08.2021