Вы, конечно, не должны использовать данные сеанса.Это для данных, которые необходимо сохранить, но они устанавливаются для каждого пользователя.Использование его для данных по запросу просто нарушит закладки и введет условия гонки.
У вас должен быть отдельный URI для каждого тега.Это не имеет значения (с точки зрения конечного пользователя), если вы используете динамически сгенерированный контент (либо через строку запроса, либо анализируете URI в коде на стороне сервера (большинство сред, например, Dancer , будут обрабатывать это).для вас)) или если вы используете сгенерированные статические страницы.
Статические страницы облегчают обработку кэширования и обеспечивают более высокую производительность в системах с очень высоким трафиком, но, как правило, требуют перестройки больших разделов сайта, если контентизменения.Вы можете получить аналогичные улучшения производительности, используя кэширование на стороне сервера (например, через memcached ).
Динамические страницы обычно проще реализовать.