Network News Transfer Protocol

Сетевой протокол передачи новостей (NNTP — ) [KL86] поддерживает передачу статей электронных групп новостей. Агент пользователя использует NNTP для коммуникационного взаимодействия с локальным сервером новостей, который использует NNTP для взаимодействия с центральным хранилищем статей новостей.

ПРИМЕНЕНИЕ СЕТЕВЫХ НОВОСТЕЙ

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

Затруднения, связанные со списками рассылки, стали толчком для создания системы групп новостей USENET, разработанной в 1979 г. и стандартизованной в 1983 г. [Hor83J. Главная идея состоит в хранении сообщений в централизованной базе данных вместо помещения отдельных копий в почтовые ящики каждого из подписчиков. База данных состоит из набора групп новостей (например, soc.cultu- re.indian), каждая из которых соответствует упорядоченному списку сообщений. Имена групп новостей состоят из строк, разделенных точками. Схема именования иерархическая. Например, множество связанных между собой групп новостей начинается с soc или rec. База данных поддерживает запросы для извлечения статей из групп новостей, а также индексирование, перекрестные ссылки и контроль «возраста» статей. Системный администратор может задавать стратегии по удалению устаревших статей после истечения определенного периода времени с целью освобождения пространства на сервере.

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

•    адрес электронной почты отправителя статьи,

•    тема статьи,

•    дата/время создания статьи,

•    число строк текста в статье,

•    уникальиый идентификатор сообщения статьи,

•    список групп новостей, являющихся получателями статьи.

Группы новостей могут быть реплицированы на различные серверы в Internet. Например, компания или университет может иметь свой сервер новостей для поддержки определенного круга пользователей. Локальный сервер новостей может не реплицировать все Группы новостей, а поддерживать особые Группы новостей, предназначенные для сообщества его пользователей. К примеру, университет может исключить Группы новостей по ряду тем, по поддерживать дополнительные Группы новостей по различным учебным курсам, по которым ведется обучение.

Пользователи читают и размещают статьи с помощью агента пользователя, который координирует взаимодействие с локальным сервером новостей. Агент пользователя предоставляет интерфейс, который отображает краткое содержание статей, которое включается в строки заголовка, и поддерживает чтение и публикацию статей. Большинство Web-браузеров способно связываться с локальным сервером новостей. В Web группа новостей идентифицируется по URL, который содержит имя Группы (например, news:soc.culture.indian). Помимо отображения текста некоторые пользовательские агенты могут осуществлять синтаксический Анализ и отображение форматированных данных. Кроме того, пользовательский агент запоминает, к какой группе новостей обращается пользователь, а также какие сообщения прочитаны или удалены. Эта информация обычно хранится в локальном файле, который может быть прочитан при следующем вызове пользователем Агента. Некоторые Web-сайты предоставляют доступ к статьям групп новостей и разрешают пользователям читать статьи (путем загрузки HTML-файлов), а также публиковать статьи (путем отправки содержимого HTML-форм). В этом случае Web- браузер связывается непосредственно с Web-сервером, который координирует взаимодействие с сервером групп новостей.

ПРОТОКОЛ NNTP

NNTP появился в 1986 г., заменив протокол UNIX-to-UNIX Copy Protocol (UUCP), использовавшийся для передачи статей групп новостей. NNTP координирует передачу сообщений между локальным сервером новостей и централизованным хранилищем. NNTP также может использоваться для взаимодействия между агентом пользователя и локальным сервером новостей. NNTP-клиент устанавливает одно ТСР-соединение с портом 119 NNTP-сервера. Подобно FTP и SMTP, NNTP- клиент выдает команды серверу, который возвращает трехзначный код ответа и необязательное текстовое сообщение. В зависимости от кода ответа, отклик NNTP может содержать дополнительные параметры. Количество и тин этих параметров фиксирован для каждого кода ответа, чтобы упростить интерпретацию ответа NNTP- клиентом. При обработке команд NNTP-сервер отслеживает текущее имя Группы новостей и номер статьи, к которой осуществляет доступ NNTP-клиент.

В NNTP имеется множество команд, которые выполняют различные функции. Один набор команд предоставляет общую информацию о NNTP-сервере и различных группах новостей, в гом числе:

•    перечень команд, воспринимаемых NNTP-сервером,

•          список имеющихся групп новостей, включая информацию о первой и последней статье в каждой группе, а также сведения, разрешена ли публикация статей в данной группе новостей,

•    список групп новостей, созданных после определенной даты/времени,

•          список статей, опубликованных в определенной группе новостей после определенной даты/времени.

Предоставление информации об изменениях, произошедших после определенной даты/времени, дает возможность NNTP-клиенту обновлять свое представление групп новостей и статей без предъявления к NNTP-серверу требования хранить информацию в интересах каждого клиента. Другие команды используются для перехода к другой группе новостей (ссылка на которую осуществляется по ее имени), перехода к другой статье (ссылка на которую осуществляется по идентификатору сообщения или по ее номеру в группе новостей), перехода на одну ста- тыо назад в пределах текущей Группы новостей и перехода на одну статью вперед в пределах текущей Группы новостей.

Другие команды возвращают всю статью, только ее заголовки или только содержание. Для каждой из этих команд статья идентифицируется rio ее идентификатору или по числу, указывающему ее позицию в группе новостей. В NNTP также имеются команды, связанные с создапием новых статей. Клиент отправляет статью через существующее ТСР-соединение, следуя тем же соглашениям, которые действуют для SMTP. Конец статьи идентифицируется по одиночной точке "." в строке. После получения статьи централизованное хранилище создает уникальный идентификатор сообщения и добавляет статью в группу новостей. Другие команды поддерживают репликацию сообщений между двумя NNTP-серверами. В NNTP также предусмотрена команда для завершения сеанса клиентом. После получения ответа на команду завершения NNTP-сервер закрывает ТСР-соединение.

Источник: Web-протоколы. Теория и практика. — M.: ЗАО «Издательство БИНОМ», 2002 г. – 592 c.: ил.

Вы можете следить за любыми ответами на эту запись через RSS 2.0 ленту. Вы можете оставить ответ, или trackback с вашего собственного сайта.

Оставьте отзыв

XHTML: Вы можете использовать следующие теги: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

 
Rambler's Top100