1.4.1. Служба новостей Internet
Служба новостей (Network News) была создана в начале 80-х годов для организации электронных досок объявлений для пользователей систем UNIX. Она изначально была ориентирована на работу в архитектуре клиент-сервер и позволяла вести дискуссионные группы, распределенные между несколькими серверами с возможностью автоматической репликации вновь поступающих сообщений. Для общения серверов между собой и клиента с сервером был создан протокол передачи сетевых новостей (Network News Transport Protocol), который в несколько модифицированном виде успешно используется по сей день. В начальных реализациях служба имела несколько слабых мест, в частности плохую защиту от возникновения бесконечных циклов передачи сообщений от сервера к серверу, не совместимый с почтовыми системами формат данных и адресации и т.п.
Для преодоления недостатков первых версий в лаборатории AT&T была разработана служба USENET, впоследствии ставшая общепризнанным стандартом и успешно существующая по сей день. Используя тот же протокол NNTP, что и предшествующие реализации, USENET ввела в употребление новый формат и способ адресации сообщений, совпадающий с принятыми в SMTP-системах. Информация, специфическая для службы новостей, указывалась в расширенных полях заголовка сообщения. Это, в частности, позволило разрабатывать клиентские программы для чтения почты и новостей на основе единого кода, а также использовать существующие сети SMTP для получения новостей в тех местах, где непосредственный доступ к серверу новостей по каким-либо причинам был невозможен. Кроме того, было введено понятие контрольных сообщений, предназначенных для обмена управляющей информацией между серверами новостей и упрощающих процесс автоматического создания и удаления дискуссионных групп и ликвидации устаревших сообщений.
Вся информация, хранимая в USENET, представляется единым иерархическим деревом, организованным по тематическому признаку. В этом смысле USENET выступает в роли тематического каталога, содержащего мнения людей на ту или иную тему.
Сообщения, именуемые также статьями (articles), объединенные общей тематикой, помещаются в тематические группы, называемые группами новостей (newsgroups). Группы новостей, в свою очередь, могут содержаться внутри других групп, образовывая тематические иерархии. Каждый уровень иерархии называется категорией. В рамках категории группа имеет уникальное имя. Полное характерное имя группы получается последовательным добавлением слева на право имен категорий при движении вниз от корня по дереву иерархии. Имена категорий разделяются точкой.
Иерархии, или их отдельные ветви, реплицируются между серверами, образующими пространство USENET. В качестве единицы репликации выступает отдельная статья. При репликации используется схема издатель-подписчик. Каждый сервер USENET может быть подписан на некоторое подмножество групп, предоставляемых другими серверами. Одновременно он может публиковать некоторое подмножество групп, расположенных непосредственно на нем, в том числе группы, получаемые по подписке. В терминах USENET репликация именуется заполнением (feed), в зависимости от того, какой сервер выступает инициатором этого процесса, различают два типа заполнения: