HTTP协议是无状态协议,无状态是指每次request请求之前是相互独立的,当前请求并不会记录它的上一次请求信息cookie和session都是为了弥补http协议的无状态特性,对server端来说无法知道两次http请求是否来自同一个用户,利用cookie和session就可以让server端知道多次http请求是否来自同一用户Cookie知识点一样)request请求到服务器,服务器除了返回请求的response之外,还给请求分配一个唯一标识sessionId同response一并返回给浏览器map结构,专门以key-value存储这个sessionId和浏览器的关系sessionId,当第二次访问时会带上sessionIdsessionId是有时限性的,比如如果30分钟内某个sessionId都没有被更新,服务器就会删除它cookie)map结构就是sessioncookies由服务器生成,用于标记客户端的唯一标识,在每次网络请求中,都会被传送session服务端自己维护的一个map数据结构,记录key-Object上下文内容状态cookie是保存在客户端,session是存在服务端,session依赖于cookiecookie里面存储的就是JSESSIONIDsession是存储在服务端的内存中,在Java web里面叫HttpSession,也是一个作用域PageContext(页面)->ServletRequest(请求)->【HttpSession】(会话)->ServletContext(一个应用)key-value的,作用域比较广,但是也不能存储过多的内容,因为内存是有限制的。互联网企业使用的比较少,传统IT公司使用比较多session是可以使用的,但是分布式(多台机器)情况下就存在session不能共享的问题Redis