Session在
服务端
,也就是网站的服务器,用来保存用户的Session信息;Cookies在客户端,也可以理解为浏览器端.浏览器在下次访问网页时会自动附带上Cookies发送给服务器,服务器通过识别Cookies并鉴定出是哪个用户,判断是否是登录状态,进而返回对应的响应.
Session,称为会话,是指有始有终的一系列动作/消息.关闭浏览器不会导致Session被删除,Session在服务端设置了一个失效时间,当距离客户端上一次使用Session的时间超过这个失效时间时,服务器就可以认为客户端已经停止活动,并把Session删除来节省存储空间.
Session维持,当客户端第一次请求服务器时,服务器会返回一个带有Set-Cookie字段的响应头给客户端,用来标记是哪个用户,客户端浏览器会把Cookies保存起来.当浏览器下一次再请求该网站时,浏览器会把此Cookies放到请求头一起提交给服务器,Cookies携带了Session ID信息,服务器检查该Cookie即可找到对应的Session,之后判断Session来辨认用户状态.
Name,即该 Cookie 的名称。Cookie 一旦创建,名称便不可更改。
Value,即该 Cookie 的值。如果值为 Unicode 字符,需要为字符编码。如果值为二进制数据,则需要使用 BASE64 编码。
Max Age,即该 Cookie 失效的时间,单位秒,也常和 Expires 一起使用,通过它可以计算出其有效时间。Max Age 如果为正数,则该 Cookie 在 Max Age 秒之后失效。如果为负数,则关闭浏览器时 Cookie 即失效,浏览器也不会以任何形式保存该 Cookie。
Path,即该 Cookie 的使用路径。如果设置为 /path/,则只有路径为 /path/ 的页面可以访问该Cookie。如果设置为 /,则本域名下的所有页面都可以访问该 Cookie。
Domain,即可以访问该 Cookie 的域名。例如如果设置为 .baidu.com,则所有以baidu.com结尾的域名都可以访问该 Cookie。
Size 字段,即此 Cookie 的大小。
Http 字段,即 Cookie 的 httponly 属性。若此属性为 true,则只有在 HTTP Headers中会带有此 Cookie 的信息,而不能通过 document.cookie 来访问此 Cookie。
Secure,即该 Cookie 是否仅被使用安全协议传输。安全协议。安全协议有 HTTPS、SSL等,在网络上传输数据之前先将数据加密。默认为 false。