Приведи друга: тебе 15% с каждого заказа, ему скидка 10%
ГлавнаяГлоссарийСохранение сессии
Глоссарий

Сохранение сессии

Удержание последовательности запросов узнаваемой как один посетитель. Требует, чтобы состояние клиента и адрес выхода держались вместе.

Сессия живёт сразу в двух местах. Сайт хранит состояние и выдаёт куку, указывающую на него. Ваша сторона хранит эту куку и возвращает её. По отдельности не работает ни одна половина, и большинство проблем с сессиями идёт от того, что сессией считают только одну из них.

Забывают обычно про адрес. Кука, выданная посетителю в Варшаве и вернувшаяся через час из Лиссабона, описывает то, чего с живыми пользователями не происходит, и многие сайты считают такое сочетание угнанной кукой, а не вернувшимся клиентом.

Для этого и нужны липкие сессии. Удержание одного выхода на время всей воронки держит обе половины согласованными, поэтому всё, где есть вход, корзина или многошаговая форма, живёт на липкой сессии или на статическом адресе, а не на ротации.

Обратная поломка тише. Общее хранилище кук на много воркеров превращает десятки параллельных запросов в одного очень странного человека, и проявляется это обычно лимитом, а не блокировкой, поэтому диагностируют его как темп, хотя дело в личности.

Две половины и их сроки

У серверного состояния свой срок, обычно длиннее визита. У куки срок, который задал сервер. У вашего выхода срок, который задали вы. Когда первым заканчивается самый короткий из трёх, сессия ломается так, что двумя другими это не объясняется.

Наши липкие сессии держат один резидентский адрес до пятидесяти минут, а статический ISP или датацентровый адрес держится весь срок. Это два способа сделать адресную половину живущей дольше остальных.

Хранилища кук должны быть на личность, а не на процесс. Одно хранилище на двадцать воркеров это одна личность, делающая двадцать одновременных запросов, что бы ни творила ротация адресов.

Сделать так, чтобы жили обе половины

Задайте время жизни адреса под воронку и держите одно хранилище на личность:

Воронка, остающаяся одним посетителем

# один выход на всю воронку и своё хранилище кук
S="login_c_PL_s_12_ttl_50m:password@proxy.sotaproxy.com:10000"

curl -s -c jar.txt -b jar.txt -x $S https://target.example/login
curl -s -c jar.txt -b jar.txt -x $S https://target.example/account

# вторая личность получает вторую сессию и второе хранилище
curl -s -c jar2.txt -b jar2.txt \
  -x login_c_PL_s_13_ttl_50m:password@proxy.sotaproxy.com:10000 https://target.example/login
  • Согласуйте ttl с воронкой, а не с обходом. Пятнадцатиминутная сессия под двадцатиминутную воронку падает на последнем шаге, а это самое дорогое место для падения.
  • Там, где работа должна пережить пятьдесят минут, для этого и существуют статические ISP-адреса.
  • Никогда не делите хранилище кук между воркерами. Это самая частая причина лимитов, которые выглядят проблемой темпа.

Что понимают неверно

Липкая сессия это не авторизация

Она держит адрес. Останетесь ли вы залогинены, решает состояние сайта и его собственный срок.

Ротация не сбрасывает сессию

Кука по-прежнему опознаёт вас. Новый адрес со старой кукой подозрительнее, чем каждое из двух по отдельности.

Дольше не всегда лучше

Один адрес, работающий целый день, сам по себе является сигналом. Сессии должны совпадать с воронками, а не со сменами.

Дело не только в логине

Корзины, многошаговые формы, постраничные поиски и оформление заказа несут состояние, которое ломает меняющийся адрес.

Готов использовать сохранение сессии?

SotaProxy даёт доступ к ротирующим резидентским, мобильным, дата-центр и ISP прокси. Без минимальных платежей.

Начать