`
jbf034
  • 浏览: 153113 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论
阅读更多
Cookie 允许web 应用程序从浏览器“会话”中得到类似哈希表的功能:你可以在客户端
浏览器上存储名字字符串,并在随后的请求中可按名字取回相应的值。
这太有意义了,因为HTTP,在浏览器和web 服务端之间使用的协议,是无状态的。Cookie
提供了用于克服这一限制的手段,以允许web 应用程序在两次请求间保留数据。
Rails 在背后为cookie 抽象出了一个方便的,简单的接口。“控制器”的属性cookie
是个类似于哈希表对象,它用cookie 名字和由浏览器发送给应用程序的值初始化自己。在任
何时候应用程序都可以添加新的key/value 键/值对给cookie 对象。当请求完成处理时,这些会被发送给浏览器。这些新值对应用程序的随后请求(服从下面描述的各种限制)将是有效的。
这儿有个简单的Rails“控制器”,它存储一个cookie 在用户的浏览器内,并重定向到
另一个“动作”。记住此重定向包括了一个round-trip 给浏览器,并且随后在应用程序内的调用将创建一个新的“控制器”对象。新的“动作”会恢复来自浏览器的cookie 值并显示它。
class CookiesController < ApplicationController
def action_one
cookies[:the_time] = Time.now.to_s
redirect_to :action => "action_two"
end
def action_two
cookie_value = cookies[:the_time]
render(:text => "The cookie says it is #{cookie_value}")
end
end
你必须将cookie 值做为字符串来传递—没有暗中的转换操作被完成。如果你传递其它类
型的话,你或许会得到包含在private 方法’gsub’调用的一个隐藏的错误提示。
浏览器用每个cookie 存储少量的选项集:(失效的日期和时间,相对于cookie 的路径,
和将要设置cookie 的域)。如果你通过赋值给cookie[name]来创建一个cookie 的话,你会得到这些选项的缺省集:
cookie 将会应用于整个站点,它从不会过期,它将应用于主机设置的整个范围。只是,这些选项应通过传递哈希表中的值来覆写,而不是用单个的字符串。
(在这个例子中,我们使用groovy#days.from_now 来扩展Fixnum)
cookies[:marsupial] = {
:value => "wombat",
:expires => 30.days.from_now,
:path => "/store" }
有效选项是
:domain
:path
由于Cookie变量使用得非常广泛,各种不同的网站都在客户端的机器上写下了各式各样的Cookie变量和它们的值。但是Cookie变量只能定义和赋值,而不能追加,若名称相同,则会将原有的数据覆盖。
如何保证不同网站的Cookie不会互相冲突及同一个网站内的Cookie不会互相冲突。解决这两个问题的方法是使用Cookie变量的domain属性和path属性。Domain属性用来设置所定义的Cookie变量的域,设置不同变量的域可以防止不同网站之间的Cookie相互冲突;path属性用来设置所定义的Cookie变量的文件路径。此路径是相对于服务器的根目录而言。一般一个网站的不同开发组会使用不同的文件路径,这样就可以避免Cookie的互相冲突。
(例!)
Response.Cookies("Customer").Domain="http://www.xxx.com"
Response.Cookies("Customer").path="/wwwroot/hrm"

:expires
通过设置Cookie变量的Expires属性来设置它的生命期限。如果在一次客户访问结束以后,所设置的Cookie变量依然留在客户端机上面并且有效,那么必须设置Cookie变量的Expires属性值,如果没有给出失效时间,cookie 会持久保存。如果给个空字符串,这样浏览器应该在内存中存储它并在浏览器“会话”结束后删除它。

:secure
Secure – 安全。指定cookie的值通过网络如何在用户和WEB服务器之间传递。这个属性的值或者是“secure”,或者为空。缺省情况下,该属性为空,也就是使用不安全的HTTP连接传递数据。如果一个 cookie 标记为secure,那么,它与WEB服务器之间就通过HTTPS或者其它安全协议传递数据。不过,设置了secure属性不代表其他人不能看到你机器本地保存的cookie。换句话说,把cookie设置为secure,只保证cookie与WEB服务器之间的数据传输过程加密,而保存在本地的cookie文件并不加密。如果想让本地cookie也加密,得自己加密数据。
:value
cookies的值

使用cookie 的问题是有些用户并不喜欢它们,并且关闭浏览器对它们的支持。你需要规
则你的应用程序对丢失cookie 的处理。(它不需要整个功能;它只需要应付丢失的数据。)
Cookie 可很好地用于存储小的字符串在用户的浏览器内,但是对大型的结构化数据却无
能为力。对于这一点,你就需要“会话”。
分享到:
评论

相关推荐

    scrapy中如何设置应用cookies的方法(3种)

    - 当COOKIES_ENABLED设置为False(或者未做任何设置,默认情况)时,Scrapy不会开启cookies功能,也就是说不会在请求中携带任何cookies。 - 当COOKIES_ENABLED设置为True时,Scrapy会禁用默认的cookie策略,并使用...

    基于Vue 服务端Cookies删除的问题

    一般在我们做项目时,我们都会通过POST请求拿到服务器给到的set-Cookies,保存在浏览器的Cookie里 这里需要明确一点。缓存有三类 cookie、 sessionStorage 、localStorage cookie: 存储在用户本地终端上的数据。有时...

    jQuery的Cookie插件 cookies

    jQuery的Cookie插件 cookies cookies 是一个强大的 jQuery 用来操作 Cookie 的插件。除了常见的操作 $.cookies.set( 'sessid', 'dh3tr62fghe' ); var sessid = $.cookies.get( 'sessid' ); $.cookies.del( 'sessid...

    export cookies&&all cookies For firefox3.0

    标题中的"export cookies&&all cookies For firefox3.0"指的是针对Firefox 3.0浏览器的扩展,用于导出和管理用户的cookies数据。这个过程对于理解网络浏览行为、数据隐私以及测试自动化等方面非常重要。 首先,我们...

    易语言取COOKIES目录源码

    在易语言中,"取COOKIES目录"这个功能通常是指获取浏览器保存的Cookies数据的存储路径,这对于网络编程,尤其是涉及到用户登录状态维持、个性化设置记录等场景十分重要。 Cookies是Web服务器发送到用户浏览器并存储...

    前端cookies安全视频

    在现代Web开发中,前端Cookies是用于存储用户信息和跟踪会话的重要工具。"前端cookies安全视频"聚焦于如何安全地使用这些小型文本文件,确保Web应用程序的数据安全性和用户隐私。以下是对视频内容的详细解释: 一、...

    IECookies查看器

    **IECookies查看器详解** IECookies查看器是一款专为用户设计的工具,旨在帮助用户查看并管理Internet Explorer(简称IE)浏览器的Cookies。Cookies是网站在用户计算机上存储的小型文本文件,用于记录用户偏好、...

    POST应用之COOKIES管理(可应用于多线程及多COOKIES管理)

    本文将深入探讨POST应用中的COOKIES管理,特别是如何在多线程环境中处理多个COOKIES,同时以易语言作为编程语言进行讲解。 首先,COOKIES是一种在客户端和服务器之间传递状态信息的技术。当用户访问一个网站时,...

    支付宝获取cookies工具龙腾码支付.zip

    【支付宝获取cookies工具】 在互联网安全领域,"支付宝获取cookies工具"是一个涉及到用户登录状态管理和安全的话题。Cookies是网站为了辨别用户身份、保存用户信息而储存在用户浏览器上的小文本文件。在支付宝这样...

    python编程之requests在网络请求中添加cookies参数方法详解

    发现之前学习爬虫有些粗糙,竟然连requests中添加cookies都没有掌握,惭愧。废话不宜多,直接上内容。 我们平时使用requests获取网络内容很简单,几行代码搞定了,例如: import requests res=requests.get...

    网页登录记住用户名密码登录时间的cookies的做法

    因为cookies是存储在客户端浏览器中的,因此需要确保cookies的安全性,以免泄露用户的敏感信息。可以使用加密技术来保护cookies中的数据,以免被恶意攻击。 使用cookies记住用户名密码登录时间可以提高用户体验,但...

    php Cookies 操作控制类

    类还包含了删除Cookies的功能,这通常意味着设置一个过期时间在过去的新Cookies,使浏览器自动清除它。类的`deleteCookie()`方法可能用于实现这一点。 5. **设置前缀**: 在处理多个应用程序或不同功能的Cookies...

    如何打开网页的cookies

    网页的Cookies是小型文本文件,由网站服务器存储在用户的计算机或移动设备上,用于记录用户在网站上的行为和偏好。这些信息有助于网站提供个性化的体验,例如保存登录状态、购物车内容或者页面设置等。然而,由于...

    C#+Cookies防止重复操作代码

    C#结合Cookies是一种常见的实现方式,它能有效地防止客户端的重复操作。本篇将详细解析如何利用C#和Cookies来实现这一功能。 首先,我们来看标题中的核心概念:C#防止重复操作和C#+Cookies防止重复操作。在C#的Web...

    c++生成cookies代码

    在IT行业中,尤其是在Web开发领域,Cookies是一种广泛使用的机制,用于在客户端(用户浏览器)和服务器之间存储和传输状态信息。C++虽然不是通常用来处理Web交互的主要编程语言,但通过一些库和方法,确实可以实现...

    Cookies用法及相关应用

    **标题:Cookies用法及相关应用** **一、Cookies的基本概念** Cookies是Web服务器在用户浏览器上存储的小型文本文件,用于记录用户的一些信息,如访问历史、用户偏好或登录状态等。它们是HTTP协议无状态特性的补充...

    最近浏览记录(Cookies)

    标题中的“最近浏览记录(Cookies)”指的是网络浏览器中的一项功能,它允许网站保存用户的浏览历史,以便在用户下次访问时提供个性化体验。Cookies是由服务器发送到用户浏览器并存储在本地的一小段文本数据,它们在...

    易语言 获取Cookies源码

    5. **Cookies管理**:考虑到Cookies的有效期和安全性,源码还需要包含对过期Cookies的清理以及安全策略的实现,例如限制存储的Cookies数量,加密存储等。 6. **模拟浏览器行为**:为了完整地模拟浏览器的行为,可能...

    有关cookies的总结

    Cookies 总结 Cookies 是一种小文本文件,存储在用户的计算机上,用于记录用户在 Web 应用程序中的行为和偏好。下面是对 Cookies 的总结: 一、Cookies 的概念 Cookies 是一种小文本文件,存储在用户的计算机上,...

    修改cookies的工具

    标题中的“修改cookies的工具”指的是能够帮助用户编辑或篡改网页浏览器中存储的cookies的软件或应用程序。在互联网上,cookies是网站为了追踪用户行为、保持登录状态或个性化用户体验而存储在用户设备上的小型数据...

Global site tag (gtag.js) - Google Analytics