cookie、session的联系和区别,多台web服务器如何共享session?
cookie在客户端保存状态,session在服务器端保存状态。但是由于在服务器端保存状态的时候,在客户端也需要一个标识,所以session也可能要借助cookie来实现保存标识位的作用。
cookie包括名字,值,域,路径,过期时间。路径和域构成cookie的作用范围。cookie如果不设置过期时间,则这个cookie在浏览器进程 存在时有效,关闭时销毁。如果设置了过期时间,则cookie存储在本地硬盘上,在各浏览器进程间可以共享。
session存储在服务器端,服务器用一种散列表类型的结构存储信息。当一个连接建立的时候,服务器首先搜索有没有存储的session id,如果没有,则建立一个新的session,将session id返回给客户端,客户端可以选择使用cookie来存储session id。也可以用其他的方法,比如服务器端将session id附在URL上。
区别:
(1).cookie在本地,session在服务器端。
(2).cookie不安全,容易被欺骗,session相对安全。
(3).session在服务器端,访问多了会影响服务器性能。
(4). cookie有大小限制,为3K
多服务器共享session可以尝试将session存储在memcache中。