Web应用程序状态管理(上)
一:概述
Http协议使用的是无状态连接:客户浏览器与服务器建立连接-发出请求-得到
响应-关闭连接.话句话说,连接只针对一个请求/响应.由于连接不会持久保留
所以容器认不出做第二个请求的客户与做前一个请求的客户是否是同一个人.
对于容器而言,每个请求都来自于一个新的客户.
在Web编程中共有4种方法,解决此问题.
方法一:表单隐藏字段
<input type='hidden' name='session' value='session/>
该项表单的内容表示在提交表单时,指定的名称和值将包含在get和post数据中
,隐藏字段不会影响呈现给用户的页面外关,相反,它们可以储存固定发送给服
务器的固定的名称和值,而不管用户输入如何.
隐藏字段的用途:1.对用户在网上的访问进行会话跟踪2.为服务器端程序提供
预定义的输入3.储存动态的页面上下文信息.
缺点:只有当每个页面都是动态生成的时候才有效.
方法二:Cookie
Cookie是web服务器发送给客户端浏览器的简短文本信息,第一次访问发送,以
后在访问同一个web站点或者域时浏览器会毫无更改地返回该文本信息.通过让
服务器读取以前发送到客户端的信息,Web应用程序就能够为访问者提供许多方
便,缺点:涉及一些敏感的隐私信息.
方法三:URL重写
原因:解决Cookie
客户端将一些格外的数据追加到标识会话的每个URL地址末尾服务器在该标识
符与其储存的有关该会话的数据之间建立关联
方法四:Session
服务器为客户端创建并维护的用于存放客户状态数据的对象,该对象保存在服
务器上,在客户端与服务器连续的交互过程中Session对象一直保持用户的状态
,直到交互过程结束.
Web应用程序状态管理(上)的更多相关文章
- JavaWeb chapeter 5 Web应用程序状态管理
1. HTTP协议使用的是无状态连接,对容器而言,每一个请求都来自于一个新的客户. 2. html表单隐藏字段:对用户在网站上的访问进行会话跟踪.为服务器端程序提供预定义的输入.存储动态产生的页面上 ...
- 第五章 Web应用程序状态管理
状态管理概述 Cookie Session URL重写 状态管理概述: HTTP协议使用的是无状态的连接 对容器而言,每一个请求都来自于一个新的客户 这里我们有四种方法来解决这个状态: a:表 ...
- 分享一个web应用程序池管理工具
因为项目在联调阶段由于各种各样的原因需要重启应用程序池,而调试服务器基本都需要远登操作.同样的情况也会发生在线上,如果公司权限控制得比较严格,每次都要多部门的服务器权限申请的话有点麻烦, 所以抽点时间 ...
- 基于Web的IIS管理工具
Servant:基于Web的IIS管理工具 Servant for IIS是个管理IIS的简单.自动化的Web管理工具.安装Servant的过程很简单,只要双击批处理文件Install Serva ...
- 使用TreeDMS进行MySQL数据库的Web页面远程管理
在互联网应用蓬勃发展的时代背景下,各种各样的网络平台,网络应用,移动应用层出不穷,那么这些应用及平台都需要使用到数据库.如何高效的对数据进行日常维护.管理.监控成为迫切需要解决的问题. 基于web的方 ...
- 给ambari集群里的kafka安装基于web的kafka管理工具Kafka-manager(图文详解)
不多说,直接上干货! 参考博客 基于Web的Kafka管理器工具之Kafka-manager的编译部署详细安装 (支持kafka0.8.0.9和0.10以后版本)(图文详解)(默认端口或任意自定义端口 ...
- 基于Web的Kafka管理器工具之Kafka-manager启动时出现Exception in thread "main" java.lang.UnsupportedClassVersionError错误解决办法(图文详解)
不多说,直接上干货! 前期博客 基于Web的Kafka管理器工具之Kafka-manager的编译部署详细安装 (支持kafka0.8.0.9和0.10以后版本)(图文详解) 问题详情 我在Kaf ...
- 基于Web的Kafka管理器工具之Kafka-manager的编译部署详细安装 (支持kafka0.8、0.9和0.10以后版本)(图文详解)(默认端口或任意自定义端口)
不多说,直接上干货! 至于为什么,要写这篇博客以及安装Kafka-manager? 问题详情 无奈于,在kafka里没有一个较好自带的web ui.启动后无法观看,并且不友好.所以,需安装一个第三方的 ...
- MyEclipse创建SSH项目(Java web由maven管理)
JavaEE后台开发,MyEclipse创建SSH项目,MyEclipse创建Java web 由maven管理的SSH项目. Demo工程源码github地址 1.创建SSH项目 1.创建web工程 ...
随机推荐
- 树形DP(简单题)(Y HDU4705)
题意:给出一个n个节点的树形图,统计{A,B,C}的数量,其中ABC分别是树上三个不同的节点,并且这三个节点不能被一条路径覆盖 分析:对于下图 进行dfs深搜统计,num[u]统计回溯到当前节点u,并 ...
- prezi破解教程
http://www.joenchen.com/archives/998 http://www.joenchen.com/archives/945 Prezi Desktop 4.7.5免注册无时间限 ...
- Cocos2d-x游戏开发之计时器
首先写一个计时器的头文件GameTimer.h: #ifndef _GAME_TIMER_H_ #define _GAME_TIMER_H_ #include "cocos2d.h" ...
- 【cube】SSAS(分析服务)优化手册
优化前注意事项 1.数据质量.数据仓库中维度表的数据质量要严格保证.比如店仓的大区.省区.管理城市等属性和店仓代码没有一对多的上下级关系,这样在设计店仓维度时,就无法建立有效的层次结构.这会拖慢查询时 ...
- Fresco源码解析 - 创建一个ImagePipeline(一)
在Fresco源码解析 - 初始化过程分析章节中, 我们分析了Fresco的初始化过程,两个initialize方法中都用到了 ImagePipelineFactory类. ImagePipeline ...
- 关于C# winform 快速制作不规则边框的方法
今天逛博客园突然发现一个帖子写的 快速建立不规则边框的方式 突然发现以前自己用API的方式好傻… 杀鸡焉用牛刀 下边是从网上不断转载的 原帖: 地址:http://www.cnblogs.com ...
- zw版【转发·台湾nvp系列Delphi例程】HALCON HWindowX 02
zw版[转发·台湾nvp系列Delphi例程]HALCON HWindowX 02 procedure TForm1.Button1Click(Sender: TObject);var img : H ...
- zw版【转发·台湾nvp系列例程】HALCON ShapeTrans(Delphi)
zw版[转发·台湾nvp系列例程]HALCON ShapeTrans(Delphi) procedure TForm1.Button1Click(Sender: TObject);var img: H ...
- zend
1.导入一个已经存在的目录到空间 在空间左侧新建--->项目--->已经存在的目录
- 关于陈冰、陈良乔以及《我的第一本C++书》【转】
出处:如何在淘宝上卖出 600 本自己写的 C++ 入门书? 陈冰:<我的第一本C++书> 策划编辑,现为图灵公司副总编,<C程序设计伴侣>策划编辑 陈良乔:<我的第一本 ...