美文网首页
浅谈Cookie

浅谈Cookie

作者: 嘁_ | 来源:发表于2019-06-04 20:37 被阅读0次

HTTP cookies,通常称之为“cookie”,已经存在很长时间了,但是仍然没有被充分理解。首要问题是存在许多误解,认为 cookie 是后门程序或病毒,却忽视了其工作原理。第二个问题是,对于 cookie 的操作缺少统一的接口。尽管存在这些问题,cookie 仍旧在 Web 开发中扮演者重要的角色,以至于如果没有出现相应的代替品就消失的话,我们许多喜欢的 Web 应用将变的不可用。


Cookie的起源

网站为了辨别用户身份而储存在用户本地终端(Client Side)上的数据(通常经过加密)。由网景公司的前雇员卢·蒙特利在1993年3月发明[2]。最初定义于RFC 2109。当前使用最广泛的 Cookie标准却不是RFC中定义的任何一个,而是在网景公司制定的标准上进行扩展后的产物。


Cookie是什么

由于HTTP是一种无状态的协议,服务器单从网络连接上无从知道客户身份。怎么办呢?就给客户端们颁发一个通行证吧,每人一个,无论谁访问都必须携带自己通行证。这样服务器就能从通行证上确认客户身份了。这就是Cookie的工作原理。

Cookie实际上是一小段的文本信息。客户端请求服务器,如果服务器需要记录该用户状态,就使用response向客户端浏览器颁发一个Cookie。客户端浏览器会把Cookie保存起来。当浏览器再请求该网站时,浏览器把请求的网址连同该Cookie一同提交给服务器。服务器检查该Cookie,以此来辨认用户状态。服务器还可以根据需要修改Cookie的内容。


创建Cookie

Web 服务器通过发送一个称为 Set-Cookie 的 HTTP 消息头来创建一个 cookie,Set-Cookie消息头是一个字符串,其格式如下(中括号中的部分是可选的):

Set-Cookie: value[; expires=date][; domain=domain][; path=path][; secure]

消息头的第一部分,value 部分,通常是一个 name=value格式的字符串。事实上,这种格式是原始规范中指定的格式,但是浏览器并不会对 cookie 值按照此格式来验证。实际上,你可以指定一个不含等号的字符串,它同样会被存储。然而,最常用的使用方式是按照 name=value格式来指定 cookie 的值(大多数接口只支持该格式)。
当存在一个 cookie,并允许设置可选项,该 cookie 的值会在随后的每次请求中被发送至服务器,cookie 的值被存储在名为 Cookie 的 HTTP 消息头中,并且只包含了 cookie 的值,忽略全部设置选项。例如:

Cookie: value

通过 Set-Cookie指定的可选项只会在浏览器端使用,而不会被发送至服务器端。发送至服务器的 cookie 的值与通过 Set-Cookie指定的值完全一样,不会有进一步的解析或转码操作。如果请求中包含多个 cookie,它们将会被分号和空格分开,例如:

Cookie: value1; value2; name1=value1

相关文章

  • 转发浅谈cookie、localStorage、sessionS

    浅谈浏览器存储(cookie、localStorage、sessionStorage)[https://www.c...

  • 浅谈cookie

    这两天做了一个小的offer项目,然后遇到了一些问题,稍微总结一下,感触最深的是cookie,因为之前只是简单的听...

  • 浅谈Cookie

    HTTP cookies,通常称之为“cookie”,已经存在很长时间了,但是仍然没有被充分理解。首要问题是存在许...

  • 浅谈浏览器中的cookie

    浅谈浏览器中的cookie 1. 概述 cookie是服务器保存在浏览器的一小部分文本信息,每个cookie都不能...

  • 浅谈Session技术

    引入 因为Cookie有局限性,比如只能存非中文,容量限制等.详情可以看我的上一篇文章浅谈Cookie技术. 但是...

  • cookie验证浅谈

    cookie和session为浏览器中的会话机制。 1、如何查看cookie回话? 可通过打开Chrome浏览器的...

  • 浅谈session,cookie,sessionStorage,

    浏览器的缓存机制提供了可以将用户数据存储在客户端上的方式,可以利用cookie,session等跟服务端进行数据交...

  • 浅谈COOKIE与SESSION

    1 cookie 在网络上指小量信息,用来识别用户 2 各大浏览器每个域名大概有50个,每个4097字节,IE有2...

  • 浅谈cookie和session

    相关视频:v.qq.com/x/page/f0513vvyti4.html PPT:ptteng.github.i...

  • cookie,session,token浅谈

    发展史 1、很久很久以前,Web基本上就是文档的浏览而已,既然是浏览,作为服务器,不需要记录谁在某一段时间里都浏览...

网友评论

      本文标题:浅谈Cookie

      本文链接:https://www.haomeiwen.com/subject/znnrxctx.html