English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Протокол HTTP является протоколом без состояния. Но для коммерческого веб-сайта он нуждается в поддержании информации о сеансе между различными страницами.
Если пользователю нужно перейти на новую страницу в процессе регистрации на сайте, но при этом не терять ранее введенную информацию.
В этой ситуации Cookie很好地解决了我们的问题.
Practически все веб-дизайнеры используют Cookie при разработке веб-сайтов, потому что они хотят предоставить пользователям более удобную и человеческую среду для просмотра веб-сайта, а также более точно собирать информацию о посетителях.
Коллекция Cookies является集合,ассоциированной с объектами Response и Request, использование требует добавления перед ними Response или Request.
Синтаксис для отправки Cookies клиенту обычно такой:}}
Когда устанавливается набор Cookies, который не существует, он создается на клиенте, если Cookies уже существует, то он будет заменен. Поскольку Cookies отправляются как часть заголовков HTTP-транспорта клиенту, поэтому код для отправки Cookies клиенту обычно ставится перед метками HTML-файла, отправляемого браузеру.
Если пользователь хочет читать Cookies, то он должен использовать набор Cookies объекта Request, его использование方法是: следует отметить, что только до того, как сервер не начнет передавать данные браузеру, браузер может обмениваться данными набора Cookies с сервером, как только браузер начнет принимать данные, переданные сервером, обмен данными Cookies останавливается, чтобы избежать ошибок, следует добавить в программу перед response.Buffer=True.
1. Атрибут Expires:Этот атрибут используется для установки срока действия Cookies, в течение которого, если открыть страницу, можно вызвать сохраненные Cookies, после истечения этого срока Cookies автоматически удаляются. Например: Устанавливает срок действия Cookies до 1 апреля 2004 года, по истечении срока они автоматически удаляются. Если для Cookies не установлено значение срока действия, то их жизнь начинается с открытия браузера и заканчивается с его закрытием, после каждого выполнения жизнь заканчивается, и при следующем выполнении начинается заново.
2. Атрибут Domain:Этот атрибут определяет уникальность передачи данных Cookies. Если передается только один Cookies для _blank">首页搜狐, то можно использовать следующий код:
3. Атрибут Path:Определяет, что Cookies будут отправляться только на указанные запросы по пути, если атрибут Path не установлен, то используется defaultManager_path приложения.
4. Атрибут Secure:Определяет, могут ли пользователи читать Cookies.
5. Name=Value : Cookies устанавливаются и ищутся в виде пар ключ=значение.
Вы можете создать объект, называемый cookie, и хранить текстовую информацию, отправить эту информацию браузеру, чтобы установить заголовок cookie с помощью CGI.out:
#!/usr/bin/ruby require "cgi" cgi = CGI.new("html4") cookie = CGI::Cookie.new("name" => "mycookie", "value" => "Zara Ali" "expires" => Time.now + 3600 cgi.out('cookie' => cookie) do cgi.head + cgi.body { "Cookie stored" } end
Далее мы возвращаемся на эту страницу и находим значение cookie, как показано ниже:
#!/usr/bin/ruby require "cgi" cgi = CGI.new("html4") cookie = cgi.cookies['mycookie'] cgi.out('cookie' => cookie) do cgi.head + cgi.body { cookie[0] } end
При создании CGI::Cookie объект содержит следующие параметры:
Параметры | Описание |
---|---|
name | Указать имя cookie. |
value | Указать значение cookie. |
expire | Указать срок действия cookie. |
path | Указать серверный путь cookie. |
domain | Указать домен cookie. |
secure | Указать, следует ли передавать cookie через безопасное HTTPS-соединение. |