cookie 和 session 的区别详解

cookie 和 session 的区别:

1、cookie数据存放在客户的浏览器上,session数据放在服务器上。

2、cookie不是很安全,别人可以分析存放在本地的COOKIE并进行COOKIE欺骗
    考虑到安全应当使用session。

3、session会在一定时间内保存在服务器上。当访问增多,会比较占用你服务器的性能
    考虑到减轻服务器性能方面,应当使用COOKIE。

4、单个cookie保存的数据不能超过4K,很多浏览器都限制一个站点最多保存20个cookie。

5、所以个人建议:
    将登陆信息等重要信息存放为SESSION
    其他信息如果需要保留,可以放在COOKIE中

----------------------------------------------------------------------------------------

添加Cookie:

Cookie cookieName = new Cookie(String key,Object value);

response.addCookie(cookieName);

读取Cookie:

Cookie cookies[] = request.getCookies();

 for (int i = 0; i < cookies.length; i++)
          {
              if (cookies[i].getName().equals("username"))

     ...

Session实现原理

1、创建Session的时候,服务器将生成一个唯一的sessionid然后用它生成一个关闭浏览器就会失效的cookie。

2、然后再将一个与这个sessionid关联的数据项加入散列表。

    例如这样一段代码:Session["UserName"]=23;

    假设sessionid为123那么散列表中会追加一行

     sessionid          username

     123                  23

3、当浏览器端提交到服务器时,会通过sessionid=123去散列表中寻找属于该用户的Session信息。

 

posted @ 2017-03-21 16:59  XH_Chiang  阅读(112)  评论(0编辑  收藏  举报