Основное различие между файлами cookie и сессиями заключается в том, где хранятся данные.
С помощью файлов cookie вы отправляете данные в браузер, и браузер продолжает отправлять их вам после каждого последующего запроса.
В сеансах вы сохраняете данные в памяти, а затем просто устанавливаете один файл cookie с идентификатором, чтобы идентифицировать кусок пространства в памяти сервера, где хранятся данные.
Принципиальным отличием является то, что когда данные хранятся в файлах cookie:
- может редактироваться пользователем
- это можно увидеть в сети при выполнении запросов
- добавляет вес каждого запроса в дополнительной требуемой полосе пропускания
- занимает меньше памяти сервера
Когда данные хранятся в сеансе:
- пользователь не сможет получить к нему доступ, не пройдя через вас
- он не отправляется туда и обратно с каждым запросом (только cookie с идентификатором сессии)
- но занимает память на сервере
- это может вызвать проблемы на крупных сайтах при необходимости перехода на несколько веб-серверов
Я бы сказал, что это зависит от масштаба. По большому количеству вопросов эти куки станут тяжелыми и сделают каждый запрос очень большим. Если ваш тест выполняется в среде, которая распределена по нескольким интерфейсным веб-серверам, о сеансах может быть и речи.
Я подозреваю, что решающим фактором будет целостность теста. Если крайне важно, чтобы пользователь не мог изменить данные (например, предыдущие ответы, текущий результат или временную метку для начала теста), вам нужно будет хранить данные вне их досягаемости, что означает использование сеансов.