Кратко

  • NNTP объединил распространение, запрос, получение и публикацию, но не обязывал сервер открывать все функции каждому соединению.
  • MODE READER просил переключаемый сервер выйти из транзитного режима; новая выдача CAPABILITIES служила доказательством доступных после перехода команд.
  • Переход мог сбросить контекст, не допускал конвейерной или повторной отправки и сам по себе не давал права публикации, аутентификации или шифрования.

Один адрес, две правдивые выдачи

Сразу после подключения сервер сообщает IHAVE и MODE-READER, но не READER. Он готов работать с передачей статей и умеет переключаться. Клиент посылает MODE READER, снова запрашивает возможности и видит READER, возможно NEWNEWS и формы LIST; IHAVE вправе исчезнуть.

Первая выдача не стала ложной задним числом. Она относилась к прежнему состоянию. Ошибка возникает, когда клиент сохраняет её как бессрочное свойство имени хоста, а не как свидетельство конкретной точки сеанса.

RFC 977 в 1986 году поручил NNTP широкий набор задач: распространять, искать, получать и публиковать сетевые новости. Пользователь мог читать из центрального хранилища, а сотрудничающие узлы — обмениваться копиями. Единый синтаксис не уравнивал стоимость и доверие человеческого чтения и межсерверного feed.

Развёртывание обнаружило роль раньше стандарта

RFC 2980 описал уже распространённые расширения. MODE READER впервые появился в INN: клиент сообщал, что он программа чтения, а сервер мог перенастроиться для соответствующих команд.

Это не удостоверение личности. Клиент формулировал желаемую функцию, сервер решал, предоставить ли её. Реальная эксплуатация уже разделила работу за одним listener; стандарт дал переходу общий язык.

Упоминание мало реализованной команды SLAVE из RFC 977 не превращает её и MODE READER в симметричные положения переключателя. Источники доказывают лишь устойчивую потребность явно войти в режим чтения.

Возможности принадлежали текущему состоянию

RFC 3977 различает серверы чтения, транзита и переключаемые. Последний в transit mode публикует MODE-READER, но не READER. После успеха MODE-READER исчезает, READER появляется, а IHAVE может быть снят.

Список обязан точно отражать доступное сейчас. Роль, TLS и аутентификация способны изменить его внутри одного TCP-сеанса. Кэш без отметки состояния превращает экономию одного запроса в использование истёкших полномочий.

Реестр IANA NNTP Parameters согласует значения MODE-READER, READER, IHAVE и STREAMING. Он не доказывает сегодняшнее внедрение или политику конкретного узла.

На границе нельзя было опережать ответ

MODE READER запрещено включать в pipeline. Если следом до ответа отправлены GROUP и NEXT, стороны могут отнести эти байты к разным режимам. Сервер вправе отбросить ввод вокруг переключения; клиент тогда сопоставит ответы с командами, которые не исполнялись.

Команда разрешена один раз и не после операций безопасности или приватности. Сервер может вернуть состояние к моменту сразу после установки соединения и только затем перейти к чтению. Выбранная группа, текущая статья и иные допущения не обязаны сохраняться вместе с TCP.

Переход синхронизирует два автомата и две области полномочий. Обе стороны должны знать, какая грамматика действует для следующего байта и какая память прежней роли утратила силу.

Читатель ещё не был издателем

Ответ 200 означает режим чтения с разрешённой публикацией, 201 — с запрещённой. 502 сообщает, что чтение постоянно недоступно, после чего сервер закрывает соединение.

Вход в интерфейс чтения, право добавлять статьи и наличие самого сервиса остаются отдельными решениями. Текущий POST и политика точнее, чем расширительное толкование слова reader.

Безопасность менялась отдельно

В примере RFC 3977 STARTTLS появляется только после перехода к чтению. RFC 4642 отдельно задаёт TLS, RFC 4643 — аутентификацию. Они могут снова изменить список.

MODE READER не шифрует и не подтверждает личность. TLS также не создаёт читательскую роль. RFC 4644 связывает STREAMING с feed. Роль, субъект, защита и изменение данных должны оставаться разными осями.

Наследием стала явная утрата старых допущений

Один вход упрощает обнаружение и миграцию, но увеличивает цену устаревшего состояния. Раздельные адреса делают часть границ очевиднее и усложняют эксплуатацию. RFC не измеряют современное распространение вариантов.

Их долговечное правило не зависит от топологии: назвать переход, дождаться результата, перечитать полномочия и объявить, какой контекст мог исчезнуть. Живой транспорт не продлевает старый мандат.

Источники и пределы

Документы устанавливают правила, историю и названия, но не долю внедрения, трафик, внутреннее устройство продукта или местную политику. Регистрация не доказывает использование; MODE READER не является аутентификацией, шифрованием или разрешением публиковать.