一、概念
1、无状态的http协议
http协议是无状态的,一旦数据传输完毕客户端和服务器的连接就会断开,再次交换数据需要新的连接。这就意味着服务器无法从连接上跟踪会话。
2、会话(Session)跟踪
会话,指用户登录网站后的一系列动作。会话跟踪技术是WEB中常用的跟踪技术,包括Session和Cookie。Cookie通过客户端确认身份,Session通过服务器确认身份。
二、Cookie
Cookie实际上是一段文本信息,客户端请求服务器,如果服务器需要记录客户端用户的状态,就是用Response向客户端发送一个Cookie,客户端会把Cookie保存起来。当浏览器再次请求该网站时,浏览器将内容连同Cookie一起发送给服务器,服务器检查该Cookie用来辨别用户。服务器也可根据需要更改Cookie。
三、Session
客户端访问服务器时,服务器把客户端以某种形式记录在服务器上。客户端再次访问时服务器只需从该Session中找到该用户状态即可。
每个客户端访问服务器都会建立一个Session,那么服务器怎么标识客户端唯一身份呢?当程序需要为客户端的请求创建Session时,服务器首先检查请求里是否包含一个SessionId,如果已包含说明以前为此客户端创建过Session,服务器只需找到该Session使用。若不包含则会创建一个Session并生成一个与之关联的SessionId(既不会重复又不容易找到规律的字符串)。这个Session将在本次响应中返回给客户端。
返回这个Session可以通过Cookie方式,若Cookie被关闭则有以下两种方式:
1、URL重写。将Session直接在加载在URL后面。
2、表单隐藏手段。就是服务器自动修改表单内容,在表单后面添加一个隐藏字段以便在表单提交时能够把SessionId一同提交。
四、Session和Cookie区别
1、Cookie存放在客户端,Session存放在服务器。
2、Cookie不是很安全,考虑安全使用Session。
3、Session会保存在服务器上一定时间。
4、单个Cookie的大小不能超过4k
Cookie和Session
最新推荐文章于 2022-04-10 22:33:31 发布