Cookie简述
2015-11-30 15:54
369 查看
1. 什么是Cookie
Cookie是HTTP协议的规范之一,指某些网站为了辨别用户身份、进行session跟踪而储存在用户本地终端上的数据
首先由服务器通过响应头把Cookie传输给客户端,客户端会将Cookie保存起来。
当客户端再次请求同一服务器时,客户端会在请求头中添加该服务器保存的Cookie,发送给服务器。
2. HTTP协议指定的Cookie规范
Cookie通过请求头和响应头在服务器与客户端之间传输;
Cookie大小限制在4KB之内;
一台服务器在一个客户端最多保存20个Cookie;
一个浏览器最多可以保存300个Cookie;
(但是浏览器并没有完全遵守)
3.Cookie作用
服务器可以利用Cookies包含信息的任意性来筛选并经常性维护这些信息,以判断在HTTP传输中的状态。Cookies最型典
型的应用是判定注册用户是否已经登录网站,用户可能会得到提示,是否在下一次进入此网站时保留用户信息以便简化
登录手续,这些都是Cookies的功用。另一个重要应用场合是“购物车”之类处理。用户可能会在一段时间内在同一家网
站的不同页面中选择不同的商品,这些信息都会写入Cookies,以便在最后付款时提取信息。
4. Cookie与请求头和响应头
服务器向客户端发送Cookie的响应头为Set-Cookie,例如:Set-Cookie:cookiename=cookievalue
客户端向服务器发送Cookie的请求头为Cookie,例如:Cookie:cookiename=cookievalue
5. Servlet中向客户端发送Cookie
Cookie cookie1 = new Cookie("Name", "Tom");
response.addCookie(cookie1);
6. Servlet中获取客户端发送过来的Cookie
Cookie[] cookies = request.getCookies();
if(cookies != null) {
for(Cookie c : cookies) {
System.out.println(c.getName() + ":" + c.getValue());
}
}
-------------------------------------------------
a.jsp保存Cookie,b.jsp获取Cookie
-------------------------------------------------
a.jsp:
1.Cookie生命周期
默认浏览器关闭后清除
*设置Cookie生命时长方法:
cookie.setMaxAge(intValue);
——intValue的单位为秒,表示Cookie的有效时间
2.Cookie路径
Cookie路径是指Cookie归还给服务器路径
Cookie路径是服务器创建改Cookie是设置的
默认路径:当前页面所在目录
3.Cookie的域
由于不同项目Cookie的共享
Cookie是HTTP协议的规范之一,指某些网站为了辨别用户身份、进行session跟踪而储存在用户本地终端上的数据
首先由服务器通过响应头把Cookie传输给客户端,客户端会将Cookie保存起来。
当客户端再次请求同一服务器时,客户端会在请求头中添加该服务器保存的Cookie,发送给服务器。
2. HTTP协议指定的Cookie规范
Cookie通过请求头和响应头在服务器与客户端之间传输;
Cookie大小限制在4KB之内;
一台服务器在一个客户端最多保存20个Cookie;
一个浏览器最多可以保存300个Cookie;
(但是浏览器并没有完全遵守)
3.Cookie作用
服务器可以利用Cookies包含信息的任意性来筛选并经常性维护这些信息,以判断在HTTP传输中的状态。Cookies最型典
型的应用是判定注册用户是否已经登录网站,用户可能会得到提示,是否在下一次进入此网站时保留用户信息以便简化
登录手续,这些都是Cookies的功用。另一个重要应用场合是“购物车”之类处理。用户可能会在一段时间内在同一家网
站的不同页面中选择不同的商品,这些信息都会写入Cookies,以便在最后付款时提取信息。
4. Cookie与请求头和响应头
服务器向客户端发送Cookie的响应头为Set-Cookie,例如:Set-Cookie:cookiename=cookievalue
客户端向服务器发送Cookie的请求头为Cookie,例如:Cookie:cookiename=cookievalue
5. Servlet中向客户端发送Cookie
Cookie cookie1 = new Cookie("Name", "Tom");
response.addCookie(cookie1);
6. Servlet中获取客户端发送过来的Cookie
Cookie[] cookies = request.getCookies();
if(cookies != null) {
for(Cookie c : cookies) {
System.out.println(c.getName() + ":" + c.getValue());
}
}
-------------------------------------------------
a.jsp保存Cookie,b.jsp获取Cookie
-------------------------------------------------
a.jsp:
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <% String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; %> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <base href="<%=basePath%>"> <title>My JSP 'a.jsp' starting page</title> <meta http-equiv="pragma" content="no-cache"> <meta http-equiv="cache-control" content="no-cache"> <meta http-equiv="expires" content="0"> <meta http-equiv="keywords" content="keyword1,keyword2,keyword3"> <meta http-equiv="description" content="This is my page"> <!-- <link rel="stylesheet" type="text/css" href="styles.css"> --> </head> <body> <% Cookie cookie1 = new Cookie("name","Tom"); response.addCookie(cookie1); Cookie cookie2 = new Cookie("number","101"); response.addCookie(cookie2); %> </body> </html>b.jsp:
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <% String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; %> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <base href="<%=basePath%>"> <title>My JSP 'b.jsp' starting page</title> <meta http-equiv="pragma" content="no-cache"> <meta http-equiv="cache-control" content="no-cache"> <meta http-equiv="expires" content="0"> <meta http-equiv="keywords" content="keyword1,keyword2,keyword3"> <meta http-equiv="description" content="This is my page"> <!-- <link rel="stylesheet" type="text/css" href="styles.css"> --> </head> <body> <% Cookie[] cookies=request.getCookies(); if(cookies!=null){ for(Cookie c:cookies){ out.print(c.getName()+":"+c.getValue()); out.write("<br/>"); } } %> </body> </html>*Cookie相关
1.Cookie生命周期
默认浏览器关闭后清除
*设置Cookie生命时长方法:
cookie.setMaxAge(intValue);
——intValue的单位为秒,表示Cookie的有效时间
2.Cookie路径
Cookie路径是指Cookie归还给服务器路径
Cookie路径是服务器创建改Cookie是设置的
默认路径:当前页面所在目录
3.Cookie的域
由于不同项目Cookie的共享
相关文章推荐
- Linux -- Nginx 负载均衡和反向代理
- Spring注解注入
- 讲解:sicily 1147.谁拿了最多奖学金
- 服务之Windows平台上搭建SVN服务
- appium python版api笔记
- css案例学习之双斜角横线菜单
- 笔记—TCP有限状态机分析
- 笔记—TCP有限状态机分析
- IOS学习之多线程(8)--GCD的常见用法
- html div展开收缩 js 代码
- OCR那些不能不说的秘密
- 从Java类库看设计模式(5)
- Npm安装以及express框架的使用
- jQuery源码学习11——动画
- Bootstrap 历练实例 - 按钮(Button)插件复选框
- 如何批量给数字前面加半角单引号[转]
- Android之布局onClick属性写法规则
- wsdl2java根据WSDL文件生成java文件
- 从Java类库看设计模式(4)
- 关于struts2框架与MVC之间关系的分析