【Java Web】Cookie(储存在用户本地终端上的数据)

Cookie,有时也用其复数形式Cookies,指某些网站为了辨别用户身份、进行session跟踪而储存在用户本地终端上的数据(通常经过加密)。定义于RFC2109和2965都已废弃,最新取代的规范是RFC6265。

Cookie是由服务器端生成,发送给User-Agent(一般是浏览器),浏览器会将Cookie的key/value保存到某个目录下的文本文件内,下次请求同一网站时就发送该Cookie给服务器(前提是浏览器设置为启用cookie)。Cookie名称和值可以由服务器端开发自己定义,对于JSP而言也可以直接写jsessionid,这样服务器可以知道该用户是否合法用户以及是否需要重新登录等,服务器可以设置或读取Cookies中包含信息,借此维护用户跟服务器会话中的状态。

用途:

1、服务器器可以利用Cookies包含信息的任意性来筛选并经常性维护这些信息,以判断在HTTP传输中的状态。Cookies最典型的应用是判定注册用户是否已经登录网站,用户可能会得到提示,是否在下一次进入此网站时保留用户信息以便简化登录手续,这些都是Cookies的功用。另一个重要应用场合是“购物车”之类处理。用户可能会在一段时间内在同一家网站的不同页面中选择不同的商品,这些信息都会写入Cookies,以便在最后付款时提取信息。

2、服务器判断下次访问还是不是上次访问的用户,对性能有很多作用,如果与用户相关的数据项被频繁访问,可以这对这个数据做缓存,可以大大提高数据的访问性能。由于是同一个客户端发出的请求,每次发出的请求都会带有第一次访问服务端设置信息,这样服务端就可以根绝Cookie值来划分访问的用户了。


总结:1.Cookie可以让服务端哦程序跟踪每个客户端的访问,但是每次客户端的访问都必须传回这些Cookie,如果Cookie很多,则无形增加了客户端与服务端的数据传输量,而Session的出现正式为了解决这个问题。Session后续会总结。

2.JSP专门提供了javax.servlet.http.Cookie的操作类。


参考:百度百科

http://baike.baidu.com/subview/835/5062332.htm?fr=aladdin


你可能感兴趣的:(Web开发)