一,什么是cookie
HTTP cookie(web cookie):是服务器发送给用户web浏览器的一段数据。浏览器可以储存它并将它和下一个请求一起发送给服务器(记录会话状态)。一般用于记录用户的登陆信息。它是记录无状态的http协议而出现的。
由于http协议是无请求状态的,浏览器不知道用户上一次做了什么,严重的阻碍了web的交互性。所以出现了cookie,很好的解决了http的无状态,给每一次请求都加上了状态。
cookie分为两种:一种是储存在内存中的内存cookie,非持久,在浏览器中产生;另一种是储存在硬盘中的硬盘cookie,持久,服务器发送给web。
(很多网站都会使用Cookie。例如,Google会向客户端颁发Cookie,Baidu也会向客户端颁发Cookie。那浏览器访问Google会不会也携带上Baidu颁发的Cookie呢?或者Google能不能修改Baidu颁发的Cookie呢?
答案是否定的。Cookie具有不可跨域名性。根据Cookie规范,浏览器访问Google只会携带Google的Cookie,而不会携带Baidu的Cookie。)
cookie在传输是会把信息放在http请求头上,所以其不安全。有如下的缺陷:
1,cookie会被加在每一个http请求中,无形中增加了流量
2,用http请求中cookie是明文传输的,不安全,除非用https
3,cookie大小限制4K,无法储存一些复杂的数据
二,与Storage的区别
同:cookie
和Storage都以键值对的形式储存数据
异:
1,cookie一般由浏览器生成,用于标识用户的身份;storage用于浏览器储存数据到本地。
2,一般情况下不会修改cookie,但会修改频繁修改storage
3,保存cookie时,http请求一定会带上;而两个storage看情况是否传输数据
4,安全性方面,cookie最好不放明文,加密后在传输。storage传输给服务器最好要验证。
三,jsp做法举例
网友评论