WEB前端 -- cookie

在说cookie之前,先来看两个例子。

 

例子1:如果经常上网,会发现很多网站都有一个功能,下次自动登录,或者一个月内免登录,只要我们不点击“退出”按钮,一段时间后再回到该网站,发现依然在线。这个功能很实用,避免了多次登录带来的不便。

 

例子2:目前的互联网,很多网站都是靠百度联盟和谷歌联盟的广告来盈利,细心地朋友可能会发现,这些广告都有跟踪功能,我们需要什么服务就显示什么广告。比如,你正在准备考研,在百度搜索了很多与考研有关的信息,浏览了很多与考研有关的网站,当你再次浏览一个与考研无关的网站时,这个网站上显示的却是考研的广告,我们很惊讶的发现,百度太聪明了。

 

这两个例子是经常见到的,都是cookie 在发挥作用。没有 cookie ,这些功能实现起来很困难,甚至无法实现。

什么是 cookie

有时候,服务器需要保存用户的信息,这些信息最好放在用户的电脑上,并能够让服务器获取。例如自动登录功能的实现,需要将用户名和密码保存在本地,下次访问网站时,再将用户名和密码发送到服务器进行验证,验证通过后自动登录,否则不能登录。

 

这些服务器在用户电脑上保存的信息,就叫cookie 。

 

cookie保存在用户的电脑上,当再次访问相应网站时,浏览器会把 cookie 一起发送到服务器,让服务器进行处理。

 

cookie可以由服务器端程序(PHP、ASP、JSP、Python)生成,也可以由客户端脚本(JavaScript)生成。服务器生成的 cookie 会添加到 http报头,随 http 请求发送给浏览器,浏览器再把它保存成本地的文件;JavaScript生成的 cookie 直接由浏览器保存在本地文件。

 

cookie也是随 http 请求发送给服务器的,当浏览器发送 http 请求时,会将 cookie 添加到 http 请求的报头发送到服务器,再由服务器进行处理。

为什么需要 cookie

HTTP协议是无状态的,对于一个浏览器发出的多次请求,服务器无法区分是不是来源于同一个浏览器,需要额外的数据来辨认,cookie正是这样的一段随HTTP请求一起被传递的额外数据。

cookie能做什么

cookie只是一段文本,所以它只能保存字符串。而且浏览器对它有大小限制以及 它会随着每次请求被发送到服务器,所以应该保证它不要太大。Cookie的内容也是明文保存的,有些浏览器提供界面修改,所以, 不适合保存重要的或者涉及隐私的内容。

cookie 的限制

大多数浏览器支持最大为 4096 字节的 Cookie。由于这限制了 Cookie的大小,最好用 Cookie 来存储少量数据,或者存储用户 ID 之类的标识符。用户 ID 随后便可用于标识用户,以及从数据库或其他数据源中读取用户信息。浏览器还限制网站可以在用户计算机上存储的 Cookie 的数量。大多数浏览器只允许每个网站存储20 个 Cookie;如果试图存储更多 Cookie,则最旧的 Cookie 便会被丢弃。有些浏览器还会对它们将接受的来自所有站点的 Cookie总数作出绝对限制,通常为 300 个。

cookie 的形式

cookie 是以 键/值对的形式存在的,每个“ 变量 ”对应一个值,相互之间以分号隔开,如下所示:

username=itxueyuan;password=123456;age=22

 

总结:cookie通常用来保存服务器的信息(或者说维持会话),由服务端程序或者JavaScript脚本写入,在后续请求中,供服务器读取。 

出处:http://www.itxueyuan.org/view/6374.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值