无状态HTTP

通俗:一个浏览者发出的请求都是由实现了IHttpHandler接口的对象进行响应,由于下次访问不一定还是上次那个对象进行响应,上次响应完毕对象可能已经被销毁了,写的类变量值早就不存在了,因此 不要将状态信息保存到类变量 中。
例子:编写一个aspx
private int i;
•public void Count()
•{
• Response.ContentType = "text/plain";
• Response.Write(i++);
•}
多次刷新我们发现,变量根本不会记忆上次的值 。《说明了无状态》
无状态的根本原因是:浏览器和服务器使用Socket通信,服务器将请求结果返回给浏览器后,会关闭当前Socket连接。而且服务器会在处理页面完毕后销毁页面对象。
应用层面的原因是:浏览器和服务器之间通信都遵守HTTP协议。
Http协议是无状态的,不会记得上次和网页“发生了什么”(故事:24小时记忆)。服务器不记得上次给了浏览器什么。
对网站造成的影响:如果用户录入了一些信息,当跳转到下一个页面时,数据丢失,再也不能获得那些数据。
如果要知道上一次的状态信息,我们就得把这个状态信息记录在 某个地方
a.服务器端
b.浏览器端
c. 表单元素中—如:隐藏域<input type=“hidden”/>(Http报文)

ASP.NET中的状态(信息)保持方案

客户端的状态保持方案: ViewState 、隐藏域、 Cookies 、控件状态、 URL 查询参数
服务端的状态保持方案: Session( 会话 ) 、 Application 、 Caching( 缓存 ) 、 DataBase( 数据库 )
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值