cookie其实就是网站放在用户机器上的一小块信息,cookie对于用户来说是唯一的,网站可判断用户上次访问网站的时间,以及他访问了哪些页面,可用于在某个网站跟踪你访问的页面,但无法用它来获取个人信息。cookie是***个JavaScript可以利用的客户端—服务器端之间的交互手段。浏览器向服务器发送请求时,为这个服务器存储的cookie会与其他信息一起发送到服务器。
如果一个cookie不设置expires过期时间的话,这个cookie会在同源浏览器的***一个窗口关闭之后失效。不设置过期时间的cookie也只能被同源浏览器、同域网页所调用。如果想同域但非同源的网页也能调用这个cookie的话,必须设置过期时间。
cookie是在浏览器端同域(同大域)同源或非同源浏览器窗口之间的一些信息交换中转站。比如象CSDN里的WEBIM,每个页面都想知道目前都有谁给我发送了留言,通过cookie的中转,就可以做到即使同时打开100个窗口,也不会同时100个请求并发,只要其中的一个页面去请求就够 了,另外的页面只需要实时监控这个cookie即可。
cookie的所在域domain如果设置为大域,比如:csdn.net,那么所有这个大域下的子域比如http://bbs.csdn.net/、http://blog.csdn.net/ 都可以直接访问到这个cookie设置。这个特性被很多大型网站用做passport登录,保证一处登录,所以子域都是登录状态。
cookie可以设置path路径,可以指定cookie的起效路径。
少用cookie,因为在每个HTTP请求都会带上cookie信息在网络间传输,会在无声无息中大量消耗宝贵的带宽,因为每请求一张图片、每一个AJAX请求都会带上这个cookie信息,大家可以用HTTP请求的抓包工具看到。少用cookie,特别要慎用大域cookie。若只是作为本地数据中转中心可以使用userdata或者sessionStorage。
希望通过本文对于COOKIE的介绍,能给带来帮助。
【编辑推荐】