|
|
|
Управляющие сообщения NNTP
Если сообщение содержит строку "Control:", это означает, что данное сообщение — управляющее. Управляющие сообщения используются для обмена служебной информацией между UseNet-хостами (а не пользователями). Управляющие сообщения передаются с использованием того же самого механизма, как и обычные сообщения, т. е. через систему групп или конференций подписки. Примечание Для совместимости со старыми версиями системы, сообщения адресованные группе "all.all.ctl" считаются управляющими. Если сообщение этой группы не содержит поля "Control:", поле предмета сообщения "Subject:" для таких сообщений интерпретируется как параметр "Control:". Кроме того, если в сообщениях этой группы первые 4 символа поля "Subject:" содержат подстроку "cmsg", оставшаяся часть поля "Subject:" интерпретируется как управляющее сообщение. Поля "Control:" заголовка сообщения содержат команду и параметры команды: первое слово представляет собой команду, остальные — параметры этой команды. Другие поля заголовка и тело сообщения тоже могут использоваться как потенциальные параметры команды. Например: Управляющие сообщения передаются автоматически программным обеспечением хоста UseNet, и отправлять управляющие сообщения вручную следует крайне осторожно. Сообщения о неправильно составленных поступивших управляющих сообщениях или об ошибках их обработки передаются не отправителю сообщения, а администратору локальной системы, из которой сообщение было отправлено.
Отправить такую команду может только автор статьи или администратор локальной UseNet-системы. Обработчик данного управляющего сообщения, прежде чем его применить, сверяет параметры "Sender:" и "From:" управляющего и исходного сообщений.
Например, хост (А) получил сообщение <[email protected]> и хочет передать его на хост (В). Тогда (А) отправляет через какую-либо из конференций, на которые подписан (В), хосту (В) управляющее сообщение "ihave <[email protected]> А". Хост (В) отвечает, опять же через какую-либо из конференций, на которые подписан хост (А), управляющим сообщением "sendme <[email protected]> В". После получения сообщения "sendme", хост (А) отправляет хосту (В) данное сообщение. Эти команды позволяют хостам выбирать статьи для пересылки, тем самым уменьшая передаваемый поток новостей "вслепую". Однако, если размер сообщения ненамного превышает размер управляющего сообщения, пользоваться этим механизмом невыгодно. В таких случаях используются групповой запрос сообщений. Для этого строится команда, в которой идентификаторы требуемых сообщений (Message-ID) содержатся не в поле заголовка, а в теле сообщения — по одному в каждой строке.
Это сообщение создает конференцию с именем "groupname". Тело данного управляющего сообщения может содержать краткую аннотацию новой группы (предназначение, уровень и темы дискуссий и т. д.). Если указан аргумент "moderated" — это означает, что у данной группы есть председательствующий, который следит за уровнем и темами дискуссий. По умолчанию новая конференция не имеет председательствующего. Статья новостей может быть отправлена в конференцию только после того, как данная конференция будет создана. Это сообщение удаляет конференцию с именем "groupname".
Первая строчка тела сообщения содержит имя отвечающей системы, затем располагается информация ответа. Разделитель колонок — символ ":". Первая колонка содержит имя хоста соседа, вторая — имена конференций, в которые данный хост отправляет статьи. Третья и четвертая колонки не специфицированы, их интерпретация зависит от конкретной реализации программного обеспечения.
|
|
|