Cookie
cookie是在服务器端创建,然后服务器发送到浏览器端,存储在浏览器边,当再次请求服务器时候,浏览器会将该域中的相关cookie发送到服务器端。
Session
Session是用于唯一标志客户信息的对象,容器通过浏览器端传送的cookie中的jsessionid来区分不同的客户对象,所以Session依赖于cookie。
当浏览器禁用cookie之后如何识别客户信息
我们知道用户浏览器可能会禁用cookie,如果用户禁用cookie 之后那么服务器端无法通过cookie传送的Id来区分该用户属于那个Session,这样的后果可能是不断给用户创建新的session,这样明显是不合理的,当前主要有两种办法解决这个问题:
我们对网页URL进行重写:
在我们发送给浏览器的的网页的时候,对所有的网页超链接之后加上我们的SessionId,这样我们就可以知道该客户属于那个用户了。
利用开发语言提供的方法实现:
对于servlet来说response方法中有存在可以对url进行重写的方法,我们可以调用,也可以使用EL标签中的方法进行操作,这样就会保证带有SessionId了。