更新时间:2023-11-27 22:00:40
Cookie 是网站用于在浏览器上存储状态信息的键/值对.假设您有一个网站 (example.com),当浏览器请求网页时,该网站可以发送 cookie 以在浏览器上存储信息.
Cookies are key/value pairs used by websites to store state information on the browser. Say you have a website (example.com), when the browser requests a webpage the website can send cookies to store information on the browser.
浏览器请求示例:
GET /index.html HTTP/1.1
Host: www.example.com
来自服务器的示例回答:
Example answer from the server:
HTTP/1.1 200 OK
Content-type: text/html
Set-Cookie: foo=10
Set-Cookie: bar=20; Expires=Fri, 30 Sep 2011 11:48:00 GMT
... rest of the response
这里有两个 cookie foo=10 和 bar=20 存储在浏览器中.第二个将于 9 月 30 日到期.在随后的每个请求中,浏览器都会将 cookie 发送回服务器.
Here two cookies foo=10 and bar=20 are stored on the browser. The second one will expire on 30 September. In each subsequent request the browser will send the cookies back to the server.
GET /spec.html HTTP/1.1
Host: www.example.com
Cookie: foo=10; bar=20
Accept: */*
服务器端 cookie 被称为会话".在这种情况下,网站在浏览器上存储了一个包含唯一会话标识符的 cookie.状态信息(上面的 foo=10 和 bar=20)存储在服务器上,会话标识符用于将请求与存储在服务器上的数据进行匹配.
Server side cookies are known as "sessions". The website in this case stores a single cookie on the browser containing a unique Session Identifier. Status information (foo=10 and bar=20 above) are stored on the server and the Session Identifier is used to match the request with the data stored on the server.
您可以同时使用会话和 cookie 来存储:身份验证数据、用户首选项、电子商务网站中图表的内容等...
You can use both sessions and cookies to store: authentication data, user preferences, the content of a chart in an e-commerce website, etc...
以下解决方案的优缺点.这些是我想到的第一个,肯定还有其他的.
Below pros and cons of the solutions. These are the first that comes to my mind, there are surely others.
Cookie 的优点:
Cookie 的缺点:
会话优点:
会话缺点: