Cookie技术解析

引入:

由于HTTP协议是一种无状态的协议,浏览器主动发出一个请求,web服务器被动的回应一个结果,web服务器不管你是哪个浏览器发出的请求,都一样回应。所以浏览器每一次请求都是完全独立的,服务器也看不出请求之间的关联,同理浏览器下一次请求也不依赖与上一次请求。但是实际应用中,却需要上一次请求与下一次请求及以后多次请求相关联。这就产生了cookie技术,对每次请求使用标记,下次请求时,通过标记号来访问就ok了。所以说cookie技术是一种在客户端保持HTTP状态信息的技术。

服务器如何通过cookie把信息交给浏览器?

服务器通过响应头字段set-cookie,用来指定web服务器向客户端传送cookie的内容。一般都是如果服务器想要搞一个有状态的会话,就将响应消息头附带set-cookie这个字段来初始化这个会话。

形式:

属性=值(这个值只能是字符串,不能是对象)


cookie的原理:

1.服务器打算启动有状态的会话,服务器就创建一个Cookie对象,把会话的数据信息放入到Cookie对象中。

体现形式:Cookie cookie=new Cookie("name","value");

2.服务器发送cookie信息到浏览器。

体现形式:response.addCookie(cookie);

3.浏览器得到服务器发送的cookie,然后保存在服务器端。

4.浏览器下次再访问服务器时,直接带着cookie信息就完事了。

5.服务器收到浏览器带来的cookie信息。得到一个Cookie的数组,然后通过遍历出里面的一堆cookie对象。然后通过名字判断是否为步骤1中的name值,是就找到对应的值,就完事了。

体现形式:Cookie[ ] cookies= request.getCookies();


cookie技术的弊端:

1.前面提到了cookie是不能保存对象的,只能存字符串信息。

2.而且cookie信息容量不能超过4KB。

3.cookie中不能存中文信息。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值