работа с файлами cookie без отправки в браузер и заголовки документов - PullRequest
0 голосов
/ 05 мая 2018

Я хочу разработать идею использования файлов cookie на стороне сервера, но боюсь, что не следует полагаться на поведение файлов cookie, поскольку в следующих ссылках говорится, что файлы cookie являются объектами на стороне клиента и на основе браузера:

Microsoft:

HTTP-куки предоставляют серверу механизм для хранения и извлечения информация о состоянии в системе клиентского приложения .

Википедия

HTTP-cookie (также называемый веб-куки, интернет-куки, браузер cookie или просто cookie) - это небольшой фрагмент данных, отправляемых с веб-сайта. и сохраняется на компьютере пользователя в веб-браузере пользователя, в то время как пользователь просматривает

w3schools :

Файл cookie часто используется для идентификации пользователя. Cookie - это небольшой файл что сервер встраивается на компьютер пользователя

Mozila.org:

HTTP-файл cookie (веб-файл cookie, файл cookie браузера) представляет собой небольшой фрагмент данных. что сервер отправляет в веб-браузер пользователя . Браузер может хранить и отправьте его со следующим запросом на тот же сервер.

Тем не менее, на стороне сервера я проверил, что изменение значения cookie-файлов работает нормально без роли браузера. Я хочу убедиться, что использование файлов cookie является стандартным способом, поэтому я полагаюсь на него для создания временных данных Я задавал в этом вопросе ранее.

<%
Response.Cookies("a")="test <br>"
response.write request.cookies("a")

Response.Cookies("a")="test1 <br>"
response.write request.cookies("a")

Response.Cookies("a")="test2 <br>"
response.write request.cookies("a")

Response.Cookies("a").Expires = DateAdd("d",-1,Now())
%>

результат:

test
test1
test2

И в заголовках страницы нет файлов cookie с именем "a" , а в браузере посетителя объект не создается. Кажется, что cookie был создан и уничтожен на сервере, и браузер ничего не знает об этом!

Мой вопрос таков: если определения из вышеперечисленных ссылок неверны? Они пропускают некоторые детали о характеристиках файлов cookie на стороне сервера? Какие проблемы возникают, если я использую куки в качестве временных переменных на стороне сервера?

1 Ответ

0 голосов
/ 06 сентября 2018

Нет такой вещи, как "куки на стороне сервера". Путаница заключается в том, что сервер просит браузер хранить куки. Этот поток Stack Overflow дает хороший пример:

Пример запроса браузера:

GET /index.html HTTP/1.1 Host: www.example.com

Пример ответа с сервера:

HTTP/1.1 200 OK Content-type: text/html Set-Cookie: foo=10 Set-Cookie: bar=20; Expires=Fri, 30 Sep 2011 11:48:00 GMT ... rest of the response

Здесь два куки foo = 10 и bar = 20 хранятся в браузере. второй истекает 30 сентября. В каждом последующем запросе браузер отправит куки обратно на сервер.

GET /spec.html HTTP/1.1 Host: www.example.com Cookie: foo=10; bar=20 Accept: */*

Возможно, вам понадобится пользовательский сеанс на стороне сервера (также упоминаемый в том же потоке). Реализация JEE обычно использует cookie-файл jsessionid для идентификации данных пользователя на стороне сервера. Взгляните на документацию Oracle о сеансе пользователя:

Термин «пользовательский сеанс» относится к серии пользовательских приложений. взаимодействия, которые отслеживаются сервером . Сессии используются для поддержание пользовательского состояния, включая постоянные объекты (например, обрабатывает компоненты EJB или наборы результатов базы данных) и аутентифицируется идентичности пользователей, среди многих взаимодействий. Например, сеанс может использоваться для отслеживания подтвержденного имени пользователя, за которым следует серия Направленные действия для конкретного пользователя.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...