Основная цель id
($id
с draft-06
) - организовать область для разрешения $ref
.
$id
не обязательно должен быть существующим ресурсом HTTP.Идентифицированная схема может быть даже определена в другой ( пример в наборе тестов спецификации).
В спецификации схемы JSON предполагается, что валидатор должен иметь возможность разрешать ссылки на основе $id
s, определенных в текущемсхемы.Удаленные ссылки также должны быть разрешены, но нет никаких ограничений на то, как именно это должно происходить.
Во многих случаях сетевые взаимодействия во время проверок очень нежелательны из-за высокой задержки.Большинство реализаций предоставляют способ предварительной загрузки / определения ресурсов схемы путем явного $id
перед проверкой.
В соответствии с spec корневая схема ДОЛЖНА иметь $id
, который является абсолютным URI, но должен лиили нет, он должен быть доступен через HTTP-клиент, зависит от вас и вашего валидатора.