Browser
Server
request1
request2
Browser
Server
request1
request2,带上Cookie
response1,设置Cookie
存储Cookie
读取Cookie
// 返回头
HTTP/1.1 200 OK
Content-type: text/html
Set-Cookie: name=value
Set-Cookie: name2=value2; Expires=Wed, 09 Jun 2021 10:18:14 GMT
// 请求头
GET /spec.html HTTP/1.1
Host: www.webryan.net
Cookie: name=value; name2=value2
Accept: */*
/*
* 1. 设置cookie到site1.web.com上
* url: site1.web.com
*/
Cookie cookie = new Cookie("test_key", "test_value");
cookie.setDomain("site1.web.com");
response.addCookie(cookie);
test_value; // 在site1.web.com下输出test_key
null; // 在site2.web.com下输出test_key
/*
* 2. 设置cookie到.web.com上
* url: site1.web.com
*/
Cookie cookie = new Cookie("test_key", "test_value");
cookie.setDomain(".web.com");
response.addCookie(cookie);
test_value; // 在site1.web.com下输出test_key
test_value; // 在site2.web.com下输出test_key
document.cookie = "N1=1; path=/path/";
document.cookie = "N1=2; path=/path"; // 和上面表达意思相同,但是由于path不同,会形成新的Cookie
document.cookie = "N1=3; path=path/"; // 使用相对路径
document.cookie = "N1=4; path=/paTH/"; // 区分大小写
(以Android为例)