Web应用程序的会话(Cookie)介绍
一 会话与会话状态:
1.Web应用的会话是指一个客户端浏览器和web服务器之间发生的连续的一系列请求和响应,知道窗口关闭
2.Web应用的会话状态时指web服务器与浏览器在会话过程中产生的状态信息,借助会话状态信息(一问一答的结果),web服务器能够把属于同一个会话中的一系列的请求和响应过程关联起来。
举例:账号就是会话状态 购物车的商品也是会话状态
第一次访问web服务器登入的操作输入账号:xxx密码:1234--àservlet验证
购物:某个商品加入购物车--àxxx MP4
---à
结账:向web服务器发送请求 -----àxxx mp4
3.记录会话状态的原因:
(1)http协议只是提请求和返回应答,没有状态的记录
(2)http协议是一种无状态的谢谢,web服务器本身不能识别出哪些请求时同一个浏览器发出的,浏览器的每一个请求都是独立的
(3)web服务器要从大量的请求消息中区分出哪些消息是属于同一个会话,就需要浏览器对每一个会话都有一个唯一的标实,属于同一个会话中的请求消息都附带同样的标识号,而不同的会话的请求消息总是附带着不同的表示,这个表示叫做会话ID()。
二 怎么实现状态的会话
1.会话ID可以同Cookie的技术在请求消息中进行传递,也可以作为请求URL的附加参数进行传递 。会话ID是在web服务器接受到某个浏览器的第一次访问时产生,并且随同响应消息一道发给浏览器
2. 会话过程由WEB服务器端的程序开启,一旦开启了一个会话,服务器端程序就要为这个会话创建一个独立的存储结构来保存该会话的状态信息,同一个会话中的访问请求都可以且只能访问属于该会话的存储结构中的状态信息。
三 Cookie的介绍
1.Cookie的介绍
(1)Cookie是一种在客户端保持HTTP状态信息的技术,它好比商场发放的优惠卡。
(2)Cookie是在浏览器访问WEB服务器的某个资源时,由WEB服务器在HTTP响应消息头中附带传送给浏览器的一片数据,WEB服务器传送给各个客户端浏览器的数据是可以各不相同的。
(3)一旦WEB浏览器保存了某个Cookie,那么它在以后每次访问该WEB服务器时,都应在HTTP请求头中将这个Cookie回传给WEB服务器。
(4)WEB服务器通过在HTTP响应消息中增加Set-Cookie响应头字段将Cookie信息发送给浏览器,浏览器则通过在HTTP请求消息中增加Cookie请求头字段将Cookie回传给WEB服务器。
(5)一个Cookie只能标识一种信息,它至少含有一个标识该信息的名称(NAME)和设置值(VALUE)。
(6)一个WEB站点可以给一个WEB浏览器发送多个Cookie,一个WEB浏览器也可以存储多个WEB站点提供的Cookie。
(7)浏览器一般只允许存放300个Cookie,每个站点最多存放20个Cookie,每个Cookie的大小限制为4KB。
2.Cookie的访问步骤:
第一次访问---àweb服务器(没有Cookie),产生一个cCookie,服务器把Cookie封装响应消息封装到Set-Cookie中--à客户端浏览器,在应答对象中的 Cookie信息会保存在客户端的计算机上---à以后客户端的浏览器再向web服务器提交请求时,web服务器会读取请求中的Cookie
注:如果浏览器禁掉Cookie,就不可以用浏览器来访问了,要用到URL