cookie和session的解析
cookie
cookie是服务端生成的通过响应头传输给客户端保存,cookie是通过键值对的形式存储,在同域名下都可以使用,在不同域名下不可以使用。
cookie实际上就是一段小文本,当客户端请求服务器的时候,服务器需要记录下该用户的状态,就使用响应头(response)向客户端浏览器颁发一个cookie,客户端浏览器会把cookie保存起来。
当客户端浏览器需要再次请求该服务器,就会把请求地址连同cookie一起发送给服务器进行身份的校验。
若不设置过期时间,则表示这个cookie的生命期为浏览器会话期间,关闭浏览器窗口,cookie就消失。这种生命期为浏览器会话期的cookie被称为会话cookie。会话cookie一般不存储在硬盘上而是保存在内存里,当然这种行为并不是规范规定的。
若设置了过期时间,浏览器就会把cookie保存到硬盘上,关闭后再次打开浏览器,这些cookie仍然有效直到超过设定的过期时间。存储在硬盘上的cookie可以在浏览器的不同进程间共享。这种称为持久Cookie。
session
session存储在服务端,是服务器端使用的一种记录客户端状态的机制,当客户端浏览器访问服务器的时候,服务器就会把客户端的信息存储在服务器上,客户端浏览器再次访问该服务器只需要从session中查找该客户端的身份信息。