HTTP COOKIES
Cookie是网站用于在浏览器上存储状态信息的键/值对。假设您有一个网站(),当浏览器请求网页时,网站可以发送cookie来存储浏览器的信息。
浏览器请求示例:
GET /index.html HTTP/1.1
Host:
来自服务器的示例答案:
HTTP/1.1 200 OK
Content-type: text/html
Set-Cookie: foo=10
Set-Cookie: bar=20; Expires=Fri, 30 Sep 11:48:00 GMT
... rest of the response
这里有两个cookie foo = 10和bar = 20存储在浏览器中。 第二个将于9月30日到期。在每个后续请求中,浏览器都会将cookie发送回服务器。
GET /spec.html HTTP/1.1
Host:
Cookie: foo=10; bar=20
Accept: */*
会话:服务器端cookie
服务器端cookie被称为"会话"。 在这种情况下,网站在浏览器上存储一个包含唯一会话标识符的cookie。 状态信息(foo = 10和bar = 20以上)存储在服务器上,会话标识符用于将请求与存储在服务器上的数据相匹配。
用法示例
您可以使用会话和cookie来存储:身份验证数据,用户首选项,电子商务网站中的图表内容等...
优点和缺点
以下是解决方案的优缺点。 这是我想到的第一个,肯定还有其他的。
Cookie优点:
可伸缩性:所有数据都存储在浏览器中,因此每个请求都可以通过负载均衡器到达不同的Web服务器,并且您拥有满足请求所需的所有信息;
他们可以通过浏览器上的JavaScript访问;
不在服务器上,他们将在服务器重启后继续存在;
RESTful:请求不依赖于服务器状态
Cookie缺点:
存储空间限制为80 KB(20个cookie,每个4 KB)
安全cookie不容易实现:看一下文章A安全cookie协议
会议优点:
通常更容易使用,在PHP中可能没有多大区别。
无限存储
会议缺点:
更难以扩展
在Web服务器重新启动时,您可以丢失所有会话,具体取决于实现
不是RESTful