三个对象:客户端A,服务器B,服务器C
1. 客户端A发起请求到服务器B,服务器B设置session数据,例如存放了一个用户姓名,值为:csdn
2.服务器B设置完session数据之后,301或者302跳转到服务器C
3.服务器C不做任何处理(做一些业务处理也可以,不重要),301或者302再跳转到服务器B
4.问题就在这一步,服务器B此时,再从session中取之前存放的用户姓名,结果是取到了,在页面上输出为:csdn
正常来说应该是取不到才对吧。
通过chrome调试看到,步骤1中,生成sessionid存放在客户端A,步骤2中,跳转到服务器C,是不带sessionid的,步骤3中,服务器C跳转到服务器B,却带上了步骤1中,产生的sessionid
很奇怪,session是依赖于cookie的,步骤1中的sessionid存放在客户端A,步骤3中,服务器C跳转到服务器B,服务器C此时也可以看做是相对于服务器B的客户端,那服务器C中是不存在sessionid的,但是怎么又带上了sessionid呢?