Как сервлет узнает, что браузер отключил куки? - PullRequest
0 голосов
/ 26 июня 2019

Буду признателен, если кто-нибудь объяснит, как сервлеты могут узнать, что куки были отключены в браузере клиента.

Я понимаю, что при создании сеанса в сервлете: Если куки включены, сервер вернет sessionID в виде куки. Если куки отключены, sessionID будет записан в URL.

Что я не понимаю, так это то, как сервер может узнать, что куки отключены. HTTP - это протокол без сохранения состояния, я не знаю, как сервер может сказать, что клиент отключил куки. Я ожидаю, что сервер не получит куки в заголовке запроса, но это может означать, что куки не были установлены в первую очередь.

Я проверил эти ответы: Файлы cookie сервлета HttpSession отключены Управление сеансом, когда broswer отключил куки

Они оба объясняют, как включить перезапись URL, но не объясняют, как сервер знает, что куки были отключены на клиенте.

1 Ответ

0 голосов
/ 28 июня 2019

как сервлеты могут узнать, что куки отключены

Они не могут. Когда сеанс создается впервые, сервер отправляет идентификатор сеанса как в виде файла cookie, так и с перезаписью URL. По второму запросу, если он получает cookie сеанса, он прекращает переписывать URL-адреса.

...