← На главную

Matrix URIs Тима Бернерса-Ли: браузеры не поддержали

26.06.2026 15:15 · hackernews

Тим Бернерс-Ли в 1996 году задумался о расширении синтаксиса URL. Он предложил концепцию Matrix URIs — способ передавать именованные параметры прямо в адресной строке, используя точку с запятой как разделитель.

Идея простая. Обычный URL с косами отлично описывает иерархию вроде папок. Но для данных, которые удобнее задавать как таблицу или многомерную матрицу, иерархии недостаточно. Бернерс-Ли сравнивает это с вызовом процедуры в программировании: сначала идёт имя (иерархическая часть), а затем список параметров в формате ключ=значение. Вот пример из статьи: адрес //moremaps.com/map/color;lat=50;long=20;scale=32000 задаёт карту с координатами и масштабом. Параметры можно опускать — тогда сработает значение по умолчанию.

Дальше начинаются сложности. Как парсить относительные URL с такими параметрами? Если я хочу поменять только масштаб, логично написать ;scale=64000 как относительную ссылку. Для удаления параметра нужен специальный синтаксис — возможно, указать ;roads без значения. Бернерс-Ли честно признаёт: в 1996 году ничего из этого не реализовано. Он просто размышляет, как это должно работать, если порядок параметров не важен (а так и надо, ведь lat=50;long=20 и long=20;lat=50 — одно и то же), и как отличать пустое значение от отсутствия.

Он приводит таблицу логики парсинга. Относительно базового URL //moremaps.com/us/ma/cambridge;scale=50000;roads=main: ;scale=25000 заменяет только масштаб, ;roads удаляет параметр, ;roads= оставляет его с пустым значением, а ;rivers=all добавляет новый. Это мысленный эксперимент — Бернерс-Ли называет его «теоретическим обсуждением», потому что на тот момент ни один браузер не умел обрабатывать такие URL.

Итог: идея Matrix URIs так и не прижилась в браузерах, хотя, как пишет автор, её стоило бы внедрить «без кризиса». Она осталась заметкой на полях истории веба — интересным, но нереализованным расширением того, как мог бы выглядеть адрес страницы.

Читать оригинал →