Cookie与Session 的区别

首先,来看一下Cookie

http协议特点:无连接性。

IE浏览器下:

1、  服务器可以向客户端写内容。

2、  写的也只能是文本的内容。

3、  客户端可以阻止服务器写入。

4、  只能拿webapp写入东西。

5、  Cookie分为两种,属于窗口/子窗口(放于内在中)属于文本(有生命周期)。

6、  一个jsp/servlet设置的cookie能够被同一路径下或子路径下的jsp/servlet读到。

(路径=URL)(路径!=真实文件路径)

 

接下来再看一下Session

       Cookie是有区别的,Session是把你操作的结果放在服务器端,而Cookie是存在了客户端,(Session默认的情况下还是会依赖于客户端的Cookie)。还有一个区别就是:在Cookie里写在客户端的只能是不超过4K的文本,而Session则任意大小。

       HttpSession session=request.getSession(true);//在服务器端与之相对应的ID,如果没有就创建一个。

       只要是同一套、有父子关系的窗口,无论是哪个Servlet,都够访问到同一个Session.

       如果Cookie被禁掉,解决的方法是:重写URL

response.encodeURL(request.getRequestURL().toString());

总结:

1、  服务器的一块内存。

2、  和客户端窗口对应(子窗口)。

3、  客户端和服务器有对应的SessionID

4、  客户端向服务器发送SessionID的时候的两种方式:Cookie(内存Cookie)和重写URL

5、  浏览器禁掉URL,就不能使用Session(使用Cookie实现的Session)。

6、  如果想安全地使用Session(不论客户是否禁掉Cookie),只能使用URL重写(大大增加编程负担),所以很多网站要求客户端打开Cookie

*有时候Cookie是禁不掉的。

两者之间的区别:

Cookie

session

存储在客户端

存储在服务器端

两种类型

l         有声明周期

l         无声明周期

两种实现方式

l         依赖于cookie

l         url重写

父路径不能访问子路径的cookie

同一个session的窗口共享一个session

典型应用:

l         3个月不用再登陆

l         购物车(http://www.china-pub.com/

典型应用:

l         用户登陆

l         购物车也可以用session实现。·

不可靠

可靠

 

有意者加群:108732902

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值