Gymterview
junior

Что такое URL Rewriting

URL Rewriting — это механизм управления сессией, при котором идентификатор сессии добавляется к каждому URL как параметр (;jsessionid=ABC123). Используется как fallback, когда cookies отключены в браузере клиента.

Контейнер автоматически определяет, поддерживает ли клиент cookies. Если нет — идентификатор сессии добавляется ко всем ссылкам в ответе. Для корректной работы URL rewriting разработчик должен пропускать все URL через методы response.encodeURL() и response.encodeRedirectURL().

Недостатки URL rewriting:

  • ID сессии виден в URL, что создаёт риск перехвата (session hijacking)
  • URL с jsessionid сохраняются в истории браузера и логах
  • Необходимо кодировать каждый URL в приложении — легко пропустить
  • Поисковые системы могут индексировать URL с разными jsessionid как разные страницы

В современных приложениях URL rewriting практически не используется. Cookies — стандартный механизм, а для API — JWT-токены в заголовке Authorization.

На собеседовании: достаточно сказать, что это fallback для cookies. На практике URL rewriting — legacy-подход с проблемами безопасности.