Какой способ создать cookie, через интерфейс или бэкэнд?
Насколько я понимаю, cookie-файл - это какой-то способ сделать наше веб-приложение актуальным.
Так как куки могут создаваться как в javascript (внешний интерфейс), так и из http ответа (бэкэндом), существует ли какой-либо принцип, когда куки должны создаваться внешним интерфейсом, а когда бэкендом?
Если какой-то пользовательский сценарий может быть дан, это было бы здорово.
3 ответа
Есть несколько соображений:
Где создается содержимое файла cookie? Если это идентификатор сеанса, то он, вероятно, создан на сервере, поэтому там будет создан файл cookie. Если это пользовательское предпочтение просмотра, которое не сохраняется на стороне сервера, то это, вероятно, установлено в клиенте, и cookie будет установлен там.
Серверные куки могут быть установлены с дополнительной защитой (называемой только http), которая делает их видимыми только для серверов, но не для клиентского JavaScript, но они все еще сохраняются браузерами для представления конкретного клиента.
Это одно и то же. Используйте все, что вам удобно. Например, если вы что-то делаете в JS (в front-end) и хотите сохранить cookie, сохраните его из JS. То же самое для серверной части.
Это может помочь.
Учтите, что код на стороне сервера выполняется перед кодом на стороне клиента.
Я сталкивался с такой ситуацией:
Мой бэкэнд-код отслеживает каждое движение на сайте, а индикатор для посетителя - это cookie. Однако при первом посещении, когда у пользователя нет cookie, моя функция сохранит это движение с индикатором. undefined
потому что пользовательский запрос обрабатывается до генерации куки.
Так что в этом случае я бы пошел с бэкэндом для печенья.
В то же время мне нравится создавать куки на стороне клиента, когда мне нужно исправить поврежденный сайт WordPress, и я использую внешний API Node.JS в качестве клея.