Стандарт на службу каталогов Х.500 был разработан изначально для организации публичных справочников общего доступа, позволяющих хранить информацию из любой области человеческих знаний. Он представляет собой набор рекомендаций комитета ССПТ/ГШ, описывающих исключительно принципы построения и форматы данных для взаимодействия систем, предоставляющих сервисы поиска в глобальных хранилищах информации. Выбор средств реализации полностью возлагается на разработчика. Существуют две редакции этих рекомендаций - 1988 и 1992 гг. Каталог (directory), построенный в соответствии с рекомендациями Х.500, способен хранить информацию о наборе произвольного числа целевых объектов (objects of interest), имеющих различную структуру. Целевые объекты хранятся в информационной базе объектов (DIB - Directory Information Base). Каждый объект имеет связанный с ним набор сведений о структуре, свойствах и множестве разрешенных над ним действий, называемый классом объекта. Сами классы, в свою очередь, также трактуются как объекты. Каждый экземпляр объекта, хранящийся в каталоге, должен соответствовать одному из зарегистрированных в DIB классов. Для обеспечения непротиворечивости данных в каталоге объекты необходимо создавать и модифицировать только в соответствии с правилами, предписанными классами этих объектов. Для отражения того факта, что сущности реального мира могут содержать вложенные сущности и одновременно содержаться внутри других сущностей, введена иерархия сущностей. Сочетание информационной базы объектов и знаний об их иерархии образует дерево информационного каталога (DIT - Directory Information Tree). Как и положено дереву, оно имеет корень (root entry), узлы, называемые также контейнерами (container entry), и листья (leaf). Корень является стартовой точкой каталога. Объекты-контейнеры содержат в себе один или более объектов-листьев и/или других контейнеров. Листья не содержат вложенных объектов и, как правило, представляют собой собственно целевые объекты. Однако если объект создается «под листом», лист становится контейнером. Набор определений и правил, регулирующих структуру информационной базы, называют схемой каталога (Directory Schema). Схема каталога определяет, объекты каких классов могут быть созданы в рамках каталога, каковы набор и предельные значения их атрибутов, как они могут взаимодействовать друг с другом, и где в информационном дереве каталога они могут находиться. Внутри информационной базы каталога каждый объект должен иметь уникальное имя (name). Чтобы однозначно адресовать объект внутри информационной базы, его полное имя в базе также должно быть уникальным и отражать положение объекта в дереве каталога. Единственный способ получения такого имени состоит в последовательном добавлении к имени объекта имен уровней иерархии при движении вверх по дереву объектов. Полученное имя называют характерным именем (DN - Distinguished Name). Имена, получаемые на промежуточных уровнях, называют относительными характерными именами (RDN - Relative Distinguished Name). Эти имена можно использовать при относительной адресации объектов каталога на каком- либо уровне иерархии. Строгого формата построения характерного имени именования спецификация Х.500 не приводит. Необходимо отметить, что, несмотря на некоторую схожесть формата адресов Х.400 с Х.500, у них совершенно разная природа и свойства. Значения ключей в адресе Х.400 могут быть произвольными. В Х.500 в связи с тем, что набор ключевых слов не определен стандартом, напротив, порядок следования ключей должен строго соответствовать пути к объекту в дереве каталога. В остальном адреса Х.400 и Х.500 вполне совместимы, и многие Х.400-системы поддерживают настройки Х.500 для ведения глобальных адресных книг и их автоматической репликации. Для сокрытия внутренней структуры каталога и механизма работы с ним в составе информационной системы необходимо предусмотреть два компонента, упоминавшихся ранее: системный и пользовательский агенты каталога (DSA и DUA соответственно). При обращении клиента к каталогу за информацией об интересующих его объектах DUA выступает в роли промежуточного звена, преобразующего запрос в формат, понимаемый DSA и возвращающий полученные результаты в ожидаемом пользователем виде. В свою очередь, DSA принимает запросы со стороны пользовательских агентов и выполняет их или переадресует запрос другим системным агентам, если запрашиваемая информация не относится к обслуживаемой им части каталога. Каталог, представляемый единым информационным пространством, на практике может быть распределен между различными DSA. В состав информационной системы входит произвольное число системных агентов, каждый из которых отвечает за различные подмножества общего информационного дерева каталога. Часть общего каталога, за обслуживание которой отвечает отдельный DSA, называют фрагментом (Fragment). Фрагмент включает в себя произвольное число поддеревьев из произвольных мест каталога. Системный агент использует различную технику для обработки запросов, поступающих от пользовательского агента на те части каталога, которые не обслуживаются данным DSA: • цепной поиск (chaining), когда запрос при необходимости перенаправляется другому DSA, и результаты работы последнего возвращаются пользователю; • перенаправление (referral), когда системный агент инструктирует пользовательского агента, к которому DSA обратился за нужной информацией. Использование цепного поиска и перенаправления требует возможности непосредственного взаимодействия DSA, что не всегда выполнимо, и накладывает существенные ограничения на область применения таких систем. Чтобы сократить время, затрачиваемое на обработку пользовательского запроса, применяют метод репликации (replication) фрагментов между системными агентами каталога. При этом DSA отслеживает изменения, вносимые в подотчетный ему фрагмент, и доставляет их остальным системным агентам. В этом случае относительно актуальная копия всего каталога доступна для поиска каждому DSA системы, однако использование такой схемы требует дополнительных затрат ресурсов на размещение избыточных копий информации. Для почтовых систем данный вариант организации доступа к каталогу единственно возможный, так как отдельные фрагменты могут не иметь непосредственного соединения друг с другом. Единицей репликации данных является пространство имен (Name Context), представляющее собой отдельную ветвь общего дерева. Несмотря на массу достоинств, реальных систем, полностью отвечающих рекомендациям Х.500, не так много, и все они, как правило, функционируют либо на уровне региональных административных доменов, либо в государственных учреждениях и силовом секторе. Высокая сложность реализации и громоздкость интерфейсов взаимодействия подсистем привели к появлению параллельных служб каталогов, заимствующих идею Х.500, но по-другому реализующих протоколы доступа и форматы передачи данных.