cookie 和 session
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了cookie 和 session相关的知识,希望对你有一定的参考价值。
定义:
在浏览网站时,web服务器会先发送一块资料放在计算机里,Cookie会帮助在网站上所打的文字或是一些选择都记录下来,当下次光临同一个网站web服务器会先看看有没有上次留下的cookie资料。有的话就会依据cookie里的内容判断使用者,送出特定的网页内容给你。
cookie机制采用的是在客户端保持状态的方案,而session机制采用的是在服务器端保持状态的方案。由于采用服务器端保持状态的方案在客户端保存一个标识,所以session机制可能需要借助于cookie机制达到保存标识的目的,但实际上它还有其他的选择。
cookie的机制:正统的cookie分发是通过扩展HTTP协议来实现的,服务器通过在HTTP的响应头中加上一行特殊的指示以提示浏览器按照指示生成相应的cookie。然而纯粹的客户端脚本如javascript也可以生成cookie。而cookie的使用是由浏览器按照一定的原则在后台自动发给服务器。cookie的内容主要包括:名字 值 过期日期 路径和域。路径和域一起构成cookie的作用范围。
session机制:session机制是一种服务器端的机制,服务器使用一种类似于散列表的结构保存信息。当程序需要为客户端请求创建一个session的时候,服务器端首先检查这个客户端的请求是否已经包含了一个session标识,如果已包含说明已经为此客户端创建过session,服务器就按照session ID把这个session检索出来。如果客户端请求不包含session id,则为此客户端创建一个session并且生成一个与此session相关联的session id,session id的值应该是一个既不会重复,又不容易被找到规律以仿造的字符串,这个session id将被在本次响应中返回给客户端保存。
区别:
1、cookie数据存放在客户的浏览器上,session数据放在服务器上。
2、cookie不是很安全,别人可以分析存放在本地的COOKIE并进行COOKIE欺骗
考虑到安全应当使用session。
3、session会在一定时间内保存在服务器上。当访问增多,会比较占用你服务器的性能
考虑到减轻服务器性能方面,应当使用COOKIE。
4、单个cookie保存的数据不能超过4K,很多浏览器都限制一个站点最多保存20个cookie。
5、将登陆信息等重要信息存放为SESSION
其他信息如果需要保留,可以放在COOKIE中
以上是关于cookie 和 session的主要内容,如果未能解决你的问题,请参考以下文章