Session cookie 的区别
Session cookie 的区别?
Cookie是把数据保存在浏览器端的内存中
Session把数据保存在服务器端的内存中
cookie机制:bai正统的cookie分发是通过扩展HTTP协议来实现的,服务器通过在HTTP的响应头中加上一行特殊的指示以提示浏览器按照指示生成相应的cookie。
session机制:session机制是一种服务器端的机制,服务器使用一种类似于散列表的结构(也可能就是使用散列表)来保存信息
cookie与session的联系:
Session: 是服务端和浏览器直接的会话,通常情况下,浏览器关闭,服务端和服务器的会话就结束了。
浏览器发起请求时候,如果没有带上相关的cookie信息,也就无法获取JSESSIONID信息,服务器无法
从内存找到对应的session, 因此会创建新的session对象,并且生成唯一标识该session的JSESSIONID,
并返回给浏览器,浏览器会吧JSESSIONID写入cookie,并把这个cookie信息存储在浏览器端。
cookie: 服务器无法保存用户请求的状态,因此会通过cookie存储一些信息,每次用户发起请求,
会带上浏览器的cookie信息(包括JSESSIONID),服务器根据JSESSIONID 找到内存对应的session,
并可以获取到存储到session的相关信息,比如用户信息,同理,服务器也可以设置cookie需要存储的信息,
返回给浏览器进行存储。
cookie有两个属性,domain 和 path , 根据这两个属性决定浏览器访问服务器端时需要包括的cookie信息,
虽然上传的cookie需要根据domain和path进行筛选,但是他们都是属于同一个session的范围,因此JSESSIONID是一样的。