#blog
На сегодня статья "URL как контейнер состояния", которая напоминает нам, что URL тоже может быть инструментом для разработчика.
- URL — это не только адреса, но и состояние: они сохраняют контекст, работают без перезагрузки, поддерживают кнопку «Назад», закладки и шаринг.
- URL — ключ кэша, аналитики и версионности.
- Состояние кодируется через:
⚫️ Путь — иерархия (/users/123/posts).
⚫️ Параметры — фильтры, пагинация, настройки (?sort=date&page=2).
⚫️ Якорь — позиция на странице (#section, #L20-L30).
- Храните в URL:
⚫️ Фильтры, поиск, сортировку.
⚫️ Режимы (список/сетка), вкладки.
⚫️ A/B-тесты, версии, флаги.
- Не храните:
⚫️ Пароли, токены, временные состояния (модалки, скролл), большие объекты (например, base64-JSON).
- Практика:
⚫️ Используйте URLSearchParams и pushState/replaceState.
⚫️ Дебаунс для частых обновлений (например, поиск).
- Антипаттерны:
⚫️ Потеря состояния при обновлении.
⚫️ Непонятные параметры (?a=1&b=2).
⚫️ Перегрузка URL.
⚫️ Поломка истории браузера.
Статья: https://habr.com/ru/articles/962828/
Post #82
143