Cookie机制
Cookie的生成
① Cookie的分发是通过HTTP协议来实现的,,
② 服务器通过在HTTP的响应头中加上一行特殊的指示告诉浏览器按照这个指示生成对应的Cookie
Cookie的使用
① 浏览器按照一定的原则把Cookie传给服务器端
② 原则:如果某个Cookie所声明的作用范围大于等于请求资源所在的位置,则把Cookie附带在HTTP请求头上发送给服务端
Cookie的内容
① 名 值 过期时间 路径和域
② 路径和域构成了Cookie的作用域
③ 如果不设置Cookie的作用的时间的话,Cookie的生命周期为浏览器会话期间,关闭浏览器窗口,Cookie就消失,这种 Cookie为会话Cookie
④ Cookie不设置时间的话,会被保存到内存中,随着浏览器的关闭而消失
⑤ Cookie设置时间的话会被保存到硬盘中,关闭浏览器依然会有效,超过时间的话会失效
Session机制
session机制是一种服务端的机制,服务器使用一种类似于散列表的结构来保存信息
Session的生成
①当程序要为某个客户端的请求创建一个session的时候,服务器首先检查这个客户端的请求里面是否包含了一个 session的标识(SessionId)
② 如果存在的话就根据这个标识把Session给检索出来,检索不到的话就创建一个session
③ 如果不存在sessionID,则为这个请求创建一个session并生成一个与此session相关联的sessionID
④ SessionId是唯一的,将把SessionId返回给客户端保存,放在Cookie中保存
Session的注意
如果让禁止访问Cookie的话,那么sessionID不能跟随请求发送到服务器端
解决这个问题使用URL重写,就是把sessionID直接附在URl后面
Session&Cookie的区别
1.Session数据存放在服务器端,Cookie的数据存放在客户端浏览器
2.Cookie不是很安全,别人可以分析本地的Cookie进行Cookie欺骗,考虑安全的话会使用session
3.session会保存在服务器上,但是当访问增多的时候,session太多,会影响服务器的性能,应当使用Cookie
4.一个Cookie保存的数据不能超过4K,很多浏览器都限制一个站点最多保存20个cookie
5.seesion中保存登录信息,Cookie中保存其他的需要信息