http无状态设计与Cookie和Session
来源:互联网 发布:二手mac pro工作站 编辑:程序博客网 时间:2024/06/01 09:51
无状态指的是任意一个Web请求必须完全与其他请求隔离,当请求端提出请求时,请求本身包含了相应端为相应这一请求所需的全部信息。
1. 被调用者不保存参数,因为无需考虑参数逻辑
由使用者来保存状态,进行状态逻辑设计
http是无状态设计的,一些SDK的设计也可以是无状态的。
2. 而一些需求是需要有交互的,需要状态的
如:a. 表单(Form);
b. 客户端的脚本处理、DOM处理等功能;
c. 服务器的CGI(Common Gateway Interface)以处理包含表单提交在内的动态请求。
交互是需要承前启后的,一个实际例子是,简单的购物车程序也要知道用户到底在之前选择了什么商品。
这种客户端与服务器进行动态交互的Web应用程序,都需要状态。
解决方法:
两种用于保持HTTP连接状态的技术就应运而生了,一个是Cookie,而另一个则是Session。
Cookie是客户端保存状态的解决方案,Cookie就是由服务器发给客户端的特殊信息,而这些信息以文本文件的方式存放在客户端,然后客户端每次向服务器发送请求的时候都会带上这些特殊的信息。Cookie一般是放在http header中的。比如user id, user name, user的身份信息,user school, user company等.当然服务端也会保留这些Cookie信息的,并且可以给这些Cookie添加额外的属性,如过期时间等。
Session是服务器来保持状态的解决方案。客户端浏览器与服务器之间一系列交互的动作称为一个Session,其不仅包含Session持续的时间,还包括操作,还有服务器端为客户端所开辟的存储空间,在其中保存的信息就是用于保持状态。服务器收到客户端请求时,会为该Session生成唯一的Session id,在Session被创建之后,就可以调用Session相关的方法往Session中增加内容了,而这些内容只会保存在服务器中,发到客户端的只有Session id;当客户端再次发送请求的时候,会将这个Session id带上,服务器接受到请求之后就会依据Session id找到相应的Session,从而再次使用之。这样用户先前的状态或请求也就得以保持了。
而UserAgent是跟device相关的,软硬件的信息。与系统相关,与每个url都相关,但与user无关。是让服务器拿到这些信息,更好的适配这些请求。如版本信息、时区、浏览器的种类等等。
- http无状态设计与Cookie和Session
- http无状态特点以及session与cookie详解
- 浅谈HTTP的无状态性和Cookie、Session来源
- HTTP无状态协议和cookie、session原理
- session HTTP协议与状态保持 cookie
- 如何利用session,cookie来解决http无状态本质
- HTTP协议是无状态协议,Session,Cookie的解释
- http协议的无状态特征、session、cookie
- HTTP协议是无状态协议,怎么理解? session cookie
- HTTP无状态协议和session原理
- 为什么说HTTP协议是无状态的,以及session和cookie的区别。转载自leelyn168
- HTTP无状态协议分析与Cookie的关系
- HTTP无状态协议分析与Cookie的关系
- HTTP无状态协议分析与Cookie的关系
- HTTP协议与状态链接解决方案cookie,session的关系
- HTTP协议与状态链接解决方案cookie,session的关系
- 通过cookie和session让http协议变得有状态
- [Http] cookie和session
- struts2之单个文件上传
- javascript关闭弹出窗口时刷新父窗口和居中显示弹出窗
- MFC 之 OnClose 与 OnCancel
- 【环境】ruby换源
- Linux网络配置命令
- http无状态设计与Cookie和Session
- js--javascript 系统确认界面
- 5个最佳开源的浏览器安全应用
- SGD对20Newsgroups训练
- IPv4,IPv6
- 【面向对象】——设计模式之创建型模式
- Tomcat虚拟主机配置示例
- MySQL列类型
- 【iOS知识学习】_Mac截屏