Кратко
- 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 не измеряют современное распространение вариантов.
Их долговечное правило не зависит от топологии: назвать переход, дождаться результата, перечитать полномочия и объявить, какой контекст мог исчезнуть. Живой транспорт не продлевает старый мандат.
Источники и пределы
- https://www.rfc-editor.org/rfc/rfc977.html
- https://www.rfc-editor.org/rfc/rfc2980.html
- https://www.rfc-editor.org/rfc/rfc3977.html
- https://www.rfc-editor.org/rfc/rfc4642.html
- https://www.rfc-editor.org/rfc/rfc4643.html
- https://www.rfc-editor.org/rfc/rfc4644.html
- https://www.iana.org/assignments/nntp-parameters/nntp-parameters.xhtml
Документы устанавливают правила, историю и названия, но не долю внедрения, трафик, внутреннее устройство продукта или местную политику. Регистрация не доказывает использование; MODE READER не является аутентификацией, шифрованием или разрешением публиковать.
Обзор для участников
Подробный контекст профиля
Войдите с подходящим уровнем подписки, чтобы открыть полный обзор и примечания к источникам.
Только для Стратегического сообщества
Стратегическое сообщество
Открыто всем читателям. Вступите и войдите, чтобы открыть обзоры профилей.
Вступить в Стратегическое сообществоТолько для Альянса лидеров
Альянс лидеров
Для проверенных владельцев IP-активов и руководителей. Войдите, чтобы открыть обзоры Альянса.
Вступить в Альянс лидеров
