1 Cookie入门
1、HTTP协议与Cookie
Cookie是HTTP协议制定的,先由服务器保存Cookie到浏览器,再下次浏览器请求服务器时把上一次请求得到Cookie再归还给服务器。
Cookie是由服务器创建保存到客户端浏览器的一个键值对,服务器保存Cookie的响应头:Set-Cookie:aaa=AAA Set-Cookie:bbb=BBB
。
|——response.addHeader("Set-Cookie","aaa=AAA");
当浏览器请求服务器时,会把该服务器保存的Cookie随请求发送给服务器。浏览器归还Cookie的请求头:Cookie:aaa=AAA;bbb=BBB
。
HTTP协议规定(保证不给浏览器太大压力)
(1)1个Cookie最大4KB;
(2)一个服务器最多向1个浏览器保存20个Cookie;
(3)一个浏览器最多可以保存300个Cookie。
以上规定并不是强制性规定,不同浏览器对Cookie要求不一样。这就是会话跟踪技术。
2、Cookie的用途
(1)服务器使用Cookie来跟踪客户端状态;
(2)保存购物车(购物车中的商品不能使用request保存,因为它是一个用户向服务器发送的多个请求消息)
(3)显示上次登录名(也是一个用户多个请求)
但是要注意的是Cookie是不能跨浏览器的。
3、JavaWeb中使用Cookie
(1)原始方式:
|——使用response发送Set-Cookie响应头;
|——使用request获取Cookie请求头;
(2)便捷方式:
|——使用response.addCookie()方法像浏览器保存Cookie;
|——使用request.getCookies()方法获取浏览器归还的Cookie。
4、Cookie例子
(1)a.jsp:一个JSP保存Cookie;
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<h1>Save Cookie</h1