URLs are state containers
URL может быть не просто адресом страницы, а полноценным хранилищем состояния веб-приложения. Автор статьи случайно обнаружил это, когда в коде PrismJS нашёл URL, который полностью восстанавливал его конфигурацию подсветки синтаксиса — все темы, языки и плагины были закодированы в одном адресе. Это напомнило ему о мощи URL как инструмента управления состоянием, который часто игнорируют в пользу сложных решений вроде глобальных хранилищ и контекстов.
URL предоставляет четыре ключевых преимущества бесплатно: возможность делиться ссылками, создавать закладки, использовать историю браузера и глубокую навигацию. Разные части URL кодируют различные типы состояния: путь — для иерархической навигации, параметры запроса — для фильтров и настроек, якоря — для клиентской навигации. Среди распространённых паттернов для параметров запроса — множественные значения через разделители, вложенные данные, булевы флаги и массивы.