Идентификатор сеанса генерируется на стороне сервера или на стороне клиента? - PullRequest
2 голосов
/ 24 октября 2008

На этой веб-странице http://www.w3schools.com/ASP/prop_sessionid.asp указано, что на стороне сервера создается идентификатор сеанса.

Если это так, то как сервер узнает, что это все тот же клиент во втором цикле ответа на запрос?

Конечно, SessionId будет сгенерирован на ClientSide, чтобы клиент был уверен в передаче того же значения на сервер?

Ответы [ 4 ]

14 голосов
/ 24 октября 2008

SessionID генерируется на стороне сервера, но хранится на клиенте в файле cookie. Затем каждый раз, когда клиент делает запрос серверу, SessionID используется для аутентификации существующего сеанса для клиента.

2 голосов
/ 24 октября 2008

Идентификатор сеанса обычно генерируется на сервере. Затем он отправляется клиенту либо в виде файла cookie в заголовках HTTP, либо путем включения его в HTML, то есть ссылки становятся href = my.html? Sessionid = 1234.

В следующем запросе клиента будет указан идентификатор сеанса либо в файле cookie, либо в части запроса GET.

0 голосов
/ 24 октября 2008

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

Если сервер работает в режиме без файлов cookie, ключ сеанса становится частью URL-адреса, и сервер анализирует его оттуда.

ДОБАВЛЕНО: ... и если сервер ожидает использовать файл cookie сеанса, но у клиента отключены файлы cookie, то с точки зрения сервера все запросы являются новыми сеансами, поскольку он не может сказать, что это один и тот же пользователь.

0 голосов
/ 24 октября 2008

Сервер сгенерирует идентификатор сеанса, если его не существует. Но как только он сгенерирован, клиент может передать этот идентификатор обратно на сервер. Если клиент изменит этот идентификатор, вы, скорее всего, получите сообщение об ошибке от сервера и сгенерированный новый идентификатор.

...