Какая область действия cookies по умолчанию?
И естественно ещё вопрос, как при вышеуказанном создании параметров устанавливать время жизни и область действия?
Время жизни куки устанавливается так:
document.cookie='par1=val1; expires=Monday, 31-Dec-20 10:10:10 GMT;'
если я меняю(или создаю новые) значения cookies параметров в ява-скрипте, например document.cookie="par1=val1", то какая область действия и время действия будут у этого параметра?
И естественно ещё вопрос, как при вышеуказанном создании параметров устанавливать время жизни и область действия?
Set-Cookie: NAME=VALUE; expires=DATE; path=PATH; domain=DOMAIN_NAME; secure
NAME=VALUE - строка символов, исключая перевод строки, запятые и пробелы. NAME-имя cookie, VALUE - значение. Не допускается использование двоеточия, запятой и пробела.
expires=DATE - время хранения cookie, т.е. вместо DATE должна стоять дата в формате "expires=Monday, DD-Mon-YYYY HH:MM:SS GMT", после которой истекает время хранения cookie. Если этот атрибут не указан, то cookie хранится в течение одного сеанса, до закрытия броузера.
domain=DOMAIN_NAME - домен, для которого значение cookie действительно. Например, "domain=cit-forum.com". В этом случае значение cookie будет действительно и для домена cit-forum.com, и для cit-forum.com. Но не радуйтесь, указания двух последних периодов доменных имен хватает только для доменов иерархии "COM", "EDU", "NET", "ORG", "GOV", "MIL" и "INT". Для обсуждаемых сейчас новых семи доменов первого уровня ("FIRM", "SHOP", "WEB", "ARTS", "REC", "INFO", "NOM"), вероятно, это условие сохранится. Для доменов иерархии "RU", например, придется указывать три периода.
Если этот атрибут опущен, то по умолчанию используется доменное имя сервера, на котором было задано значение cookie.
path=PATH - этот атрибут устанавливает подмножество документов, для которых действительно значение cookie. Например, указание "path=/win" приведет к тому, что значение cookie будет действительно для множества документов в директории /win/, в директории /wings/ и файлов в текущей директории с именами типа wind.html и windows.shtml. Для того, чтобы cookie отсылались при каждом запросе к серверу, необходимо указать корневой каталог сервера, например, "path=/".
Если этот атрибут не указан, то значение cookie распространяется только на документы в той же директории, что и документ, в котором было установлено значение cookie.
secure - если стоит этот маркер, то информация cookie пересылается только через HTTPS (HTTP с использованием SSL - Secure Socket Level), в защищенном режиме. Если этот маркер не указан, то информация пересылается обычным способом.
Если время жизни куки не указано, то не знаю время ее действия. Наверное проще на практике выяснить. Возможно безсрочная кука получится.
Время жизни куки устанавливается так:
document.cookie='par1=val1; expires=Monday, 31-Dec-20 10:10:10 GMT;'
Так что думаю теперь понятно, что если время жизни куки не установлено, то она существует только пока открыто окно браузера. Закрываем окно, куки удаляються.
Для многооконных браузеров (когда все страницы грузяться в одном окне, как у Avant или Opera) куки удаляються только после закрытия все программы. Т.е. при закрытии страницы в этих браузерах кука сохраняется.
И как задать из ява-скрипта кукисы которые будут действовать на всех страницах сайта site.ru
А как устанавливается область действия, могут ли кукисы действовать только на какой-то определённой странице, то есть например только на site.ru/folder1/page1.htm не действуя при этом на site.ru/index.htm ?
И как задать из ява-скрипта кукисы которые будут действовать на всех страницах сайта site.ru
Вроде про это уже написано - path=PATH, читайте внимательней.
А как устанавливается область действия, могут ли кукисы действовать только на какой-то определённой странице, то есть например только на site.ru/folder1/page1.htm не действуя при этом на site.ru/index.htm ?
И как задать из ява-скрипта кукисы которые будут действовать на всех страницах сайта site.ru
Правильно народ говорит, читай внимательнее. Я написал полное описание куков. Синтаксис для JS.
Правильно народ говорит, читай внимательнее. Я написал полное описание куков. Синтаксис для JS.
Чё-то я не соображу никак, если не сложно напишите пример функции на JS, которая, изменяет какой-либо параметр.
Я пытался
{
document.cookie="par1=val";
}
Но в таком варианте непонятно, как область действия и время жизнеи задать.
А такой вариант выдаёт ошибку отсутствие объекта:
{
Set-Cookie: test1=val;
}
Напишите небольшой пример функции
document.cookie = "NAME=VALUE; expires=DATE; path=PATH; domain=DOMAIN_NAME; secure";
Спасибо!
Поскольку мне нужно, что бы куда действовала в пределах всего моего хоста, то доменно имя не задано (кука действует в пределах всего хоста). Поскольку так же необходимо, что бы она была доступа для нескольких скриптов с моего хоста, то и параметр path не задан. Поскольку время жизни куки я не задал, то она удаляется после того, как пользователь закроет окно. Получаеться нечто вроде "сиссии".