前言:在我们登陆一个网站的时候,刷新一下界面可能会提示我们重新登录,这就是无状态Http,下面和大家分享一下无状态Http。
(一)是什么
Http协议是无状态的,不会记得上次和网页“发生了什么”(故事:24小时记忆)。服务器不记得上次给了浏览器什么。
(二)对网站造成的影响
如果用户录入了一些信息,当跳转到下一个页面时,数据丢失,再也不能获得那些数据。
如果要知道上一次的状态信息,我们就得把这个状态信息记录在某个地方:
(1)服务器端
(2)浏览器端
(3)表单元素中
如:隐藏域
<input type=“hidden”/>(Http报文)
(三)无状态的根本原因
浏览器和服务器使用Socket通信,服务器将请求结果返回给浏览器后,会关闭当前Socket连接。而且服务器会在处理页面完毕后销毁页面对象。
应用层面的原因是:浏览器和服务器之间通信都遵守HTTP协议。
一个浏览者发出的请求都是由实现了IHttpHandler接口的对象进行响应,由于下次访问不一定还是上次那个对象进行响应,上次响应完毕对象可能已经被销毁了,写的类变量值早就不存在了,因此不要将状态信息保存到类变量中。
总结:多总结,多实践~