Web 开发会话技术 -Cookie
前言
浏览器访问服务器的Web资源,然后关闭浏览器会产生一个会话。在会话中我们需要保存一些数据,就可以使用Cookie与Session技术,本章只讲Cookie。
什么是 Cookie?
Cookie 是一些数据, 存储于你电脑上的文本文件中。
当 web 服务器向浏览器发送 web 页面时,在连接关闭后,服务端不会记录用户的信息。
Cookie 的作用就是用于解决 “如何记录客户端的用户信息”:
当用户访问 web 页面时,他的名字可以记录在 cookie 中。
在用户下一次访问该页面时,可以在 cookie 中读取用户访问记录。
一、Cookie介绍:
Cookie 是服务器在客户端/浏览器保存用户的信息。
Cookie 就像是小甜饼(cookie 中文)一样,可存储数据量不大。
Cookie 有点像一张表(K-V),分两列,一个是名字,一个是值,数据类型都是 String 。
二、使用步骤
1.创建Cookie对象
浏览器向服务器发送HTTP请求,服务器监听到请求会创建一个cookie对象,并返回创建的cookie对象和数据:
代码如下(示例):
Cookie cookie = new Cookie(“k1”,“v1”);
response.addCookie(cookie);
2.读取数据
在http响应头会产生一个响应字段:Set-Cookie:k1=v1;服务器可以从客户端/浏览器读取(http 响应)信息。
Cookie.getName();
Cookie.getValue();
使用方法:
保存时间:正数表示在指定的秒数后过期(请求不再携带此cookie信息);负数,浏览器关闭就删除(默认值是-1) ; 0,马上删除 Cooki。
在服务器端读取到 cookie 信息
个将Cookie 添加到客户端
可设置浏览器显示文本和字符编码,防止出现乱码。即:文本类型的HTML,字符集为utf-8。
c.setMaxAge();//保存时间:正数表示在指定的秒数后过期(请求不再携带此cookie信息);负数,浏览器关闭就删除(默认值是-1) ; 0,马上删除 Cooki。 request.getCookies();//在服务器端读取到 cookie 信息 response.addCookie(cookie)//个将Cookie 添加到客户端 response.setContentType("text/html;charset=utf-8")//可设置浏览器显示文本和字符编码,防止出现乱码。即:文本类型的HTML,字符集为utf-8。
Cookie 注意事项和细节
1 一个 Cookie 只能标识一种信息,它至少含有一个标识该信息的名称(NAME)和设置值 (VALUE)。
2 一个 WEB 站点可以给一个浏览器发送多个 Cookie,一个浏览器也可以存储多个 WEB 站 点提供的 Cookie。
3 cookie 的总数量没有限制,但是每个域名的 COOKIE 数量和每个 COOKIE 的大小是有限 制的 (不同的浏览器限制不同) , Cookie 不适合存放数据量大的信息。
4 删除 cookie 时,path 必须一致,否则不会删除.