cookie理解,以及其于Storage的异同

一,什么是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做法举例


你可能感兴趣的:(cookie理解,以及其于Storage的异同)