Linux: браузеры с графическим интерфейсом не учитывают имена служб '/ etc / services'

1211
kolypto

Я хотел бы избежать запоминания общих имен портов: например, для моего CUPS это http://localhost:631/.

Я знаю, что в '/ etc / services' есть имена сервисов (называемые псевдонимами для портов):

$ cat / etc / services | grep ipp ipp 631 / tcp # Протокол интернет-печати IPP 631 / UDP 

И это работает просто отлично:

рысь http://localhost:ipp/

Однако accessng http://localhost:ipp/не работает в Firefox, Opera, Konqueror.

Есть идеи?

1
Используйте номер порта ... EmmEff 14 лет назад 0
Похоже, вы ничего не знаете о лени;) Во всяком случае, если есть такая функция - она ​​должна работать! :) kolypto 14 лет назад 0
GUI имеет тенденцию быть отделенным от приложений CLI (и конфигураций). Например, вы можете настроить туннель SOCKS в графическом интерфейсе, но приложения командной строки об этом не знают. Jeremy L 14 лет назад 0
Нет, это не так. Браузеры должны просто использовать getportbyname () для портов [az] * kolypto 14 лет назад 1

2 ответа на вопрос

5
TRS-80

Файл с ошибкой . Подождите, кто-то сделал, и это было отклонено, потому что это противоречит RFC 1738 . Поэтому я думаю, вам придется убедить Mozilla (или Opera, или KDE) передумать.

Или напишите обновленный RFC и убедите сеть принять его, а затем убедите команды браузеров обновить свое программное обеспечение. :-) Doug Harris 14 лет назад 1
Или, если вы используете Firefox (или, что угодно, кроме Opera), напишите свое собственное расширение. grawity 14 лет назад 0
4
jtimberman

Будьте рады, что авторы браузера придерживаются RFC ( 1738 ). Хаос возникает, когда производители программного обеспечения не следуют RFC, поскольку эти документы задают темп для стандартов в Интернете.

Использование номера порта вместо имени службы является кроссплатформенным, поскольку не все системы имеют согласованное содержимое для / etc / services или эквивалентный.

В частности, в этом случае в разделе 3.1 RFC говорится:

3.1. Общий синтаксис интернет-схемы

Хотя синтаксис для остальной части URL-адреса может варьироваться в зависимости от
конкретной выбранной схемы, схемы URL-адресов, которые предполагают прямое использование
протокола на основе IP для указанного хоста в Интернете, используют общий синтаксис для данных, специфичных для схемы:

 //<user>:<password>@<host>:<port>/<url-path> 

...

port The port number to connect to. Most schemes designate protocols that have a default port number. Another port number may optionally be supplied, in decimal, separated from the host by a colon. If the port is omitted, the colon is as well. 
Вы абсолютно правы. Единственное, что смутило меня, что lynx смог правильно обработать URL. Спасибо, в любом случае :) kolypto 14 лет назад 1