session与cookie使用区别

来源:互联网 发布:上传文件夹到linux 编辑:程序博客网 时间:2024/04/20 18:58

一:session与cookie原理

1.session是将数据存储在服务端,客服端每次请求服务器,会携带sessionid ,如果会话没过期就会查找到存储在服务器的session数据。

2.cookie是将数据存在客服端,客服端请求服务,会携带全部的cookie数据。


二:session与cookie优势与弊端

1.cookie 存储,对服务器压力小,单不安全,且携带数据不大,会造成带宽压力大。

2.session存储,对服务器压力大,并且一般情况下session存储依赖于cookie机制。


三:Java的session与cookie

  1. 万物皆本源,但还是有些细微差别

 1)cookie的创建,,Cookie cookie = new Cookie("user","ht");  只支持字符串

 2)获取cookie  Cookie[] cookies = request.getCookies();  会获取浏览器端的全部cookie。

 3)添加cookie  

                 Cookie cookie = new Cookie("user","ht123::123qwe");

                 cookie.setMaxAge(1200);

response.addCookie(cookie);

4)session  的获取

                HttpSession session = request.getSession();

String[]  user = new String[]{"ht123","123qwe"};

session.setAttribute("user", user);

session.setMaxInactiveInterval(-1); 设置session过期时间

5)通过程序测试

cookie只要设置过期时间,在有效时间了,不管是关闭浏览器还是重启服务器,都不影响cookie的获取

session即使设置了过期时间,在不重启服务器的情况下与cookie一样,如果重启服务器,session将丢失

0 0
原创粉丝点击