Форум программистов, компьютерный форум, киберфорум
JavaScript для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
-62 / 2 / 0
Регистрация: 12.11.2020
Сообщений: 407

2 особенности по Сессионным куки, на которые не удалось найти ответ

10.07.2025, 08:04. Показов 1873. Ответов 49
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Если не затруднит, не подскажите ответы :

Вопрос 1. Где хранятся SessionCookie ? В памяти или на диске компьютера?
В одном источнике ответ нашел - в памяти (вроде бы логично) - но правильный ли он (учитывая, что был выражен в форме аксиомы без всяких ссылок) ?
Вопрос скорее более чисто технический, нежели практический. Ибо, даже если в памяти, то разница в скорости обработки информации совершенно минимальна.

Скорее пытаюсь определиться в целесообразности применения данного вида куки.
В пользу их применения - одна особенность - они сразу видны и на сервере. Передаю массив - не знаю, как в других языках, а php сразу формирует их в массив при чтении куки. Учитывая, если они хранятся в памяти - это оптимальный вариант передачи информации в плане скорости.
Но, т.к. одновременно использую аякс, не проще ли в нем передать всю информацию с точки зрения временных характеристик?

Вопрос 2. Можно ли принудительно командой js удалить (очистить) SessionCookie, чтобы они не передавались в сеансе ?
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
10.07.2025, 08:04
Ответы с готовыми решениями:

Удалить значение из куки ответом от сервера.
res.cookie(`token= ${token}; Secure; HttpOnly`) вот так я записываю значение в куки, а как удалить

Как исправить код, который запоминает в куках и выводит на след странице данные пользователя?
Здравствуйте. Имеется код, который запоминает в куках браузера введенные пользователем имя и...

Не удалось получить свойство "fadeIn" ссылки, значение которой не определено или является NULL
Доброго времени суток! Нашла хороший пример формы обратной связи:...

49
 Аватар для voraa
1284 / 1252 / 186
Регистрация: 21.01.2024
Сообщений: 5,761
10.07.2025, 08:28
Цитата Сообщение от 755 Посмотреть сообщение
Вопрос скорее более чисто технический, нежели практический.
Это чисто технический вопрос. Важно то, что к кукисам с атрибутом HttpOnly нет доступа из js и никто увидеть их не может, кроме сервера. А где браузер их ранит - не важно.
0
-62 / 2 / 0
Регистрация: 12.11.2020
Сообщений: 407
10.07.2025, 08:41  [ТС]
по вопросу 2 ответ нашел: нужно добавить max-age=-1
(странно, что не заметил ранее)

Добавлено через 11 минут
voraa, спасибо за комментарий.

Но не рассматриваю размещение в куках конфиденциальной информации- а просто массив, быстрей всего, числовой информации. И, если кто-то посторонний его увидит - не жалко. И, если модифицирует - тоже не страшно, ничего не произойдет- но, если правильно предполагаю - сессионные куки изменить сложно, учитывая их ограниченный срок?
Поэтому и не вижу необходимости в установке запрета httpOnly.
0
 Аватар для voraa
1284 / 1252 / 186
Регистрация: 21.01.2024
Сообщений: 5,761
10.07.2025, 08:45
Цитата Сообщение от 755 Посмотреть сообщение
по вопросу 2 ответ нашел: нужно добавить max-age=-1
Это же сервер делает. Т.е он сразу говорит - не посылай мне этот кукис назад. А какой смысл тогда его отправлять браузеру?
Из браузера изменить max-age нельзя

Добавлено через 1 минуту
Цитата Сообщение от 755 Посмотреть сообщение
но, если правильно предполагаю - сессионные куки изменить сложно, учитывая их ограниченный срок?
Ну вообще то они сделаны так, что их не только изменить, но даже прочитать в браузере невозможно.

Добавлено через 46 секунд
Цитата Сообщение от 755 Посмотреть сообщение
Поэтому и не вижу необходимости в установке запрета httpOnly.
Ну тогда это не сессионные кукисы, а обычные.
0
-62 / 2 / 0
Регистрация: 12.11.2020
Сообщений: 407
10.07.2025, 09:04  [ТС]
Цитата Сообщение от voraa Посмотреть сообщение
Ну тогда это не сессионные кукисы, а обычные.
Получается, неверно понял признак сессионных от обычных - считал, что отсутствие max-age является признаком сессионных кук.
"По умолчанию, если куки не имеют ни одного из этих параметров, то они удалятся при закрытии браузера. Такие куки называются сессионными («session cookies»)" https://learn.javascript.ru/cookie

Цитата Сообщение от voraa Посмотреть сообщение
Это же сервер делает. Т.е он сразу говорит - не посылай мне этот кукис назад. А какой смысл тогда его отправлять браузеру?
Из браузера изменить max-age нельзя
Но у меня почему-то получилось их удалить (?):
JavaScript
1
2
3
4
5
6
7
8
9
10
function g_kukSave ()   {
  p_nam= "Вася";
  document.cookie = "name="+ p_nam; 
  inf2.innerHTML = "<br> SAVE kuk name"
}
 
function g_kukDel ()    {
 document.cookie = "name=John; max-age=-1";
 inf2.innerHTML = "<br> DELETE kuk name"
}
0
Эксперт JSЭксперт HTML/CSS
 Аватар для krvsa
3843 / 1692 / 431
Регистрация: 14.03.2022
Сообщений: 4,314
10.07.2025, 09:36
Цитата Сообщение от 755 Посмотреть сообщение
Но у меня почему-то получилось их удалить (?):
JavaScript
1
document.cookie = "name=John; max-age=-1";
Это самые обычные куки...
https://learn.javascript.ru/cookie

Добавлено через 3 минуты
755, а есть еще HTTP-куки https://developer.mozilla.org/... es/Cookies
Сессионные cookie
Простой cookie, пример которого приведён выше, представляет собой сессионный cookie (session cookie) - такие cookie удаляются при закрытии клиента, то есть существуют только на протяжении текущего сеанса, поскольку атрибуты Expires или Max-Age для него не задаются. Однако, если в браузере включено автоматическое восстановление сеанса, что случается очень часто, cookie сеанса может храниться постоянно, как если бы браузер никогда не закрывался.
Добавлено через 1 минуту
755, пугаешь людей терминами...
0
-62 / 2 / 0
Регистрация: 12.11.2020
Сообщений: 407
10.07.2025, 09:46  [ТС]
krvsa, пусть это будут самые обычные куки (кстати и у меня сейчас после ваших комментариев такое же объяснение)

но там же написано (и это мне непонятно):
Цитата Сообщение от 755 Посмотреть сообщение
если куки не имеют ни одного из этих параметров, то они удалятся при закрытии браузера. Такие куки называются сессионными («session cookies»
Но в моме примере:
JavaScript
1
document.cookie = "name=Вася";
- у данного оператора не указана дата удаления - должны быть удалены при закрытии браузера, но у меня не удаляются. Одно из объяснений, что именно постоянные (хотя это противоречит указанному источнику, а данный источник вызывает доверие). Поэтому я думал ранее, что причина не удаления в настройках браузера.
0
Эксперт .NET
 Аватар для Usaga
14311 / 9391 / 1355
Регистрация: 21.01.2016
Сообщений: 35,420
10.07.2025, 09:51
755, а если немного абстрагироваться от технических особенностей кукисов, то вопрос про них откуда? У меня сформировалось смутное ощущение, что ты их или не по назначению собрался использовать, или ещё что-то неуместное про них задумал...
1
-62 / 2 / 0
Регистрация: 12.11.2020
Сообщений: 407
10.07.2025, 09:58  [ТС]
krvsa, именно это объяснение и видел:
Цитата Сообщение от krvsa Посмотреть сообщение
Однако, если в браузере включено автоматическое восстановление сеанса, что случается очень часто, cookie сеанса может храниться постоянно
Но как раз в этом источнике и относят данные куки к Сессионным, хотя они и сохраняются в компьютере.

Поэтому не пугаю, а пытаюсь разобраться: постоянные они или сессионные.

Почему это важно - если они сессионные, то, возможно и быстрей всего хранятся в памяти компьютера, т.е. отличаются способом хранения информации, а на мой взгляд это является их заметным плюсом.
0
Эксперт .NET
 Аватар для Usaga
14311 / 9391 / 1355
Регистрация: 21.01.2016
Сообщений: 35,420
10.07.2025, 10:16
Цитата Сообщение от 755 Посмотреть сообщение
быстрей всего хранятся в памяти компьютера
"скорость" хранения кукисов в браузере - самое последнее, что влияет на производительность странички... Ты задумал упреждающую оптимизацию ещё до замеров и сборов метрик?)
0
-62 / 2 / 0
Регистрация: 12.11.2020
Сообщений: 407
10.07.2025, 10:25  [ТС]
Цитата Сообщение от Usaga Посмотреть сообщение
то вопрос про них откуда? У меня сформировалось смутное ощущение, что ты их или не по назначению собрался использовать, или ещё что-то неуместное про них задумал...
Usaga, если рассматривать виды назначений, которые упоминаются в различных источниках, то быстрей всего ответ да. Есть такая цитата: все говорят этого нельзя, но оказывается кто-то один, "более умный", который говорит можно.

Если же серьезно, и сам пока не решил, стоит оно того или нет: один массив с информацией передаю на сервер через аякс. Другой массив (может и не быть) - в моем случае список id записей можно передать также через аякс. Но при этом массивы надо объединять. И не проще ли его передать через куки ? На мой взгляд - данный вариант минимум не хуже (если обсуждаемые куки являются сессионными)

Добавлено через 5 минут
Цитата Сообщение от Usaga Посмотреть сообщение
Ты задумал упреждающую оптимизацию ещё до замеров и сборов метрик?
Даже не знаю, но понял, что надо продумать по возможности заранее алгоритм хранения и получения информации: [куки], localStorage, indexedDB, sql.
И, если можно оптимизировать сразу (без всяких замеров), почему бы и нет
0
Эксперт JSЭксперт HTML/CSS
 Аватар для krvsa
3843 / 1692 / 431
Регистрация: 14.03.2022
Сообщений: 4,314
10.07.2025, 10:29
755, есть куки document.cookie, а есть http куки. Таки это разный "вид" кук.

Судя по твоим примерам, ты используешь обычные "браузерные" куки. Зачем ты это делаешь - отдельная тема.
0
-62 / 2 / 0
Регистрация: 12.11.2020
Сообщений: 407
10.07.2025, 10:33  [ТС]
Цитата Сообщение от krvsa Посмотреть сообщение
Судя по твоим примерам, ты используешь обычные "браузерные" куки. Зачем ты это делаешь - отдельная тема.
krvsa, видимо да, но это быстрей всего от непонимания. Хотя этот вид кукис пока меня привлек - в браузере их создаю, на сервере принимаю - кажется логичным и удобным
0
Эксперт JSЭксперт HTML/CSS
 Аватар для krvsa
3843 / 1692 / 431
Регистрация: 14.03.2022
Сообщений: 4,314
10.07.2025, 10:45
Цитата Сообщение от 755 Посмотреть сообщение
в браузере их создаю, на сервере принимаю
Для передачи данных на сервер браузерные куки не нужны. Данные можно передать в самом запросе...

Добавлено через 8 минут
Прошу прощения.
755, речь идет вот об этом? Может это я затупил и не в ту сторону гребу...

expires, max-age
По умолчанию, если куки не имеют ни одного из этих параметров, то они удалятся при закрытии браузера. Такие куки называются сессионными («session cookies»).
https://learn.javascript.ru/cookie#expires-max-age
0
Эксперт .NET
 Аватар для Usaga
14311 / 9391 / 1355
Регистрация: 21.01.2016
Сообщений: 35,420
10.07.2025, 10:53
Цитата Сообщение от 755 Посмотреть сообщение
И не проще ли его передать через куки ?
Нет. Потому, что куки не для передачи данных пользовательских. А для хранения небольшого количества сессионных данных, которые с пользователем сервер связывает.

Я же не просто так сказал, что чувствую попытку использовать куки не по назначению.
1
-62 / 2 / 0
Регистрация: 12.11.2020
Сообщений: 407
10.07.2025, 10:55  [ТС]
Цитата Сообщение от krvsa Посмотреть сообщение
Данные можно передать в самом запросе...
krvsa, правильно ли понял, если передаю через аякс, то данные указываются в запросе xmlHttp.send(params) ?
Если да, то и передаю таким образом, но подумал, что при большом объеме информации, не лучше ли будет распределить ее (информацию) ?
0
Эксперт .NET
 Аватар для Usaga
14311 / 9391 / 1355
Регистрация: 21.01.2016
Сообщений: 35,420
10.07.2025, 10:59
Цитата Сообщение от 755 Посмотреть сообщение
что при большом объеме информации, не лучше ли будет распределить ее (информацию) ?
Т.е. 1Мб данных "распределённый" между разными запросами, по твоему, будет в сумме меньше трафика занимать?
0
-62 / 2 / 0
Регистрация: 12.11.2020
Сообщений: 407
10.07.2025, 11:01  [ТС]
Цитата Сообщение от Usaga Посмотреть сообщение
Потому, что куки не для передачи данных пользовательских. А для хранения небольшого количества сессионных данных
Извините, Usaga, согласно информации примерный мах размер куки 5Кб. Если взять массив с запасом скажем на 200 элементов по 5 байтов получается примерно только 1Кб.
Мах размер далеко не превышен и что мешает их отправить? Будут какие-то задержки?
0
Эксперт .NET
 Аватар для Usaga
14311 / 9391 / 1355
Регистрация: 21.01.2016
Сообщений: 35,420
10.07.2025, 11:02
Цитата Сообщение от 755 Посмотреть сообщение
Даже не знаю, но понял, что надо продумать по возможности заранее алгоритм хранения и получения информации: [куки], localStorage, indexedDB, sql.
И, если можно оптимизировать сразу (без всяких замеров), почему бы и нет
Мне видится, что в силу малой компетенции ты пытаешься найти неизвестное решение неизвестной тебе проблемы, которой ещё нет.

Почему бы, вместо вот этих вот мытарств, не почитать какой-нибудь учебник и не поизучать существующие практики? Ты же не думаешь, что являешься пионеров веб-разработки и первый из людей на планете столкнулся (а пока не столкнулся) с вопросами этими?
0
-62 / 2 / 0
Регистрация: 12.11.2020
Сообщений: 407
10.07.2025, 11:04  [ТС]
Цитата Сообщение от Usaga Посмотреть сообщение
Т.е. 1Мб данных "распределённый" между разными запросами, по твоему, будет в сумме меньше трафика занимать?
Не о том - два разных массива, чтобы передать в одном запросе аякс (если не ошибаюсь) надо объединить в один. Это несложно сделать, но зачем, если их можно передать раздельно ?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
10.07.2025, 11:04
Помогаю со студенческими работами здесь

Особенности работы скриптов
Добрый вечер. Сегодня начал изучать JavaScript, сразу же наткнулся на некоторые трудности. ...

В чем особенность сайта на яваскрипт
Для чего делается сайт исключительно на яваскрипт? какие у него преимущества?

Интересная особенность с bold()
Вот наткнулся на интересную особенность, которой пока не могу найти внятного объяснения. Дело в...

Особенности массива элементов DOM
Всем привет. У меня тут интересная ситуация возникла, никогда бы не подумал, что такое может быть....

Особенности onclick
Добрый день, возник такой вопрос. Простой скрипт добавляющий ширину к контейнеру по нажатию...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Midnight Chicago Blues
kumehtar 24.03.2026
Такой Midnight Chicago Blues, знаешь?. . Когда вечерние улицы становятся ночными, а ты не можешь уснуть. Ты идёшь в любимый старый бар, и бармен наливает тебе виски. Ты смотришь на пролетающие. . .
Контроль уникальности заводского номера - вариант №2
Maks 24.03.2026
В отличие от предыдущего варианта добавлено прерывание циклов, также добавлены новые переменные для сохранения контекста ошибки перед прерыванием цикла: Процедура ПередЗаписью(Отказ, РежимЗаписи,. . .
SDL3 для Desktop (MinGW): Вывод текста со шрифтом TTF с помощью библиотеки SDL3_ttf на Си и C++
8Observer8 24.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-text-sdl3-c. zip finish-text-sdl3-cpp. zip
Жизнь в неопределённости
kumehtar 23.03.2026
Жизнь — это постоянное существование в неопределённости. Например, даже если у тебя есть список дел, невозможно дойти до точки, где всё окончательно завершено и больше ничего не осталось. В принципе,. . .
Модель здравоСохранения: работники работают быстрее после её введения.
anaschu 23.03.2026
geJalZw1fLo Корпорация до введения программа здравоохранения имела много невыполненных работниками заданий, после введения программы количество заданий выросло. Но на выплатах по больничным это. . .
Контроль уникальности заводского номера - вариант №1
Maks 23.03.2026
Алгоритм контроля уникальности заводского (или серийного) номера на примере документа выдачи шин для спецтехники с табличной частью. Данные берутся из регистра сведений, по которому настроено. . .
Хочу заставить корпорации вкладываться в здоровье сотрудников: делаю мат модель здравосохранения
anaschu 22.03.2026
e7EYtONaj8Y Z4Tv2zpXVVo https:/ / github. com/ shumilovas/ med2. git
Программный отбор элементов справочника по группе
Maks 22.03.2026
Установка программного отбора элементов справочника "Номенклатура" из модуля формы документа. В качестве фильтра для отбора справочника служит группа номенклатуры. Отбор по наименованию группы. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru