HTTP请求/响应事务的一个基本特征是无状态
由于Web服务器在请求之间不会记住客户端,因此保持客户端与服务器之间的会话状态的持续性的唯一方式是客户端跟踪会话。
4种典型的会话跟踪方法。
使用Cookie
URL重写
隐藏的表单域
session
session大家都很熟悉了
在这里就述说其他三种吧
使用Cookie
Cookie是当客户浏览某网站时,由Web服务器置于硬盘上的一个非常小的文本文件,它可以记录客户的用户ID、密码、浏览过的网页、停留的时间等信息。
当客户再次来到该网站时,网站通过读取Cookie,得知客户的相关信息,就可以做出相应的动作
如在页面显示欢迎的标语,或者让客户不用输入ID、密码就直接登录等。
Cookie只有在用户允许其浏览器支持Cookie时才可以实现会话跟踪功能。在实际中,很多用户出于个人隐私和安全的考虑而禁用Cookie。
URL重写
在HTTP中,Get方法可以实现数据由客户端到服务器端的传送,URL重写是利用Get函数,在URL的尾部添加一些额外的参数来实现会话跟踪。
在实际应用中,需要为每一个用户指定一个唯一的标识,为了把会话ID正确地嵌入到发送给用户的URL中,可以调用HttpServletResponse.encodeURL()方法将URL转化成正确的字符串。
缺点:
必须对所有指向本Web站点的URL进行编码。
所有页面都必须动态生成。
不能使用预先记录下来的URL进行访问,或者从其他的网站链接进行访问。
用户ID及登录密码等重要信息可能以参数的形式暴露在URL上,造成安全隐患。
大部分的URL的长度有限制,不能传送大量的数据。
隐藏的表单域
隐藏表单域是利用HTML中的隐藏域,在网页表单内隐藏某些客户端的信息。这些信息会随客户端的请求信息一起传送给服务器,服务器通过获取的这些信息来进行会话跟踪。
隐藏域的HTML标签如下:
<input type="hidden" name="隐藏域名称" value="默认值">
这些识别信息是隐藏的,所以不会在客户端的浏览器页面上显示,但是,如果查看HTML的源文件,是可以看到这些隐藏字段的,这样很可能会导致用户资料的泄露。显然,这是使用隐藏域方式的一个缺陷。
分享到:
相关推荐
【Java Web 会话 聊天室】项目是一个典型的基于Java技术栈的Web应用程序,主要涉及了Java Servlet、JSP(JavaServer Pages)以及Web会话管理等核心技术。在这个项目中,用户可以通过一个简单的聊天界面进行实时交流...
7. **会话管理**:在Web应用中,会话管理涉及跟踪用户的交互。源码可能涵盖如何创建、更新和销毁会话,以及在会话中存储和检索数据的方法。 这个"JAVA Web开发典型模块大全随书源码16-18"集合,为初学者和有经验的...
10. **EJB(Enterprise JavaBeans)** - 虽然不是所有Java Web应用都需要EJB,但在大型企业级项目中,EJB提供了一种管理和部署分布式组件的方式。如果第08章更深入,可能会介绍EJB的基本概念,如会话Bean、消息驱动...
此外,安全是Web应用的重要考量。你可能在源码中看到如何使用Spring Security或Apache Shiro进行权限控制、会话管理以及防止SQL注入和XSS攻击的安全实践。 另外,状态管理和会话管理也是JavaWeb中的关键概念。...
5. **Session与Cookie管理**:在Web应用中,session用于跟踪用户状态,而cookie则常用于存储用户偏好或认证信息。这部分可能涵盖如何创建、更新和删除session及cookie,以及如何处理跨域问题。 6. **过滤器(Filter...
虽然代码片段并不完整且存在识别错误,但它展示了一个典型的Web应用中处理Session的场景。例如,RateAction类继承自DocumentUploadAction,它可能是一个处理文档上传的Web动作类,其中包含了处理会话的逻辑。开发者...
3. **会话管理**:在Web应用中,会话用于跟踪用户的活动,特别是在用户登录后。一个典型的会话管理过程包括创建会话、存储用户信息、检查会话状态以及销毁会话。在Servlet中,我们通常使用HttpSession接口来实现这一...
第2篇为基础篇,内容包括Servlet技术、JSP技术、会话跟踪、过滤器Filter、监听器Listener等;第3篇为高级篇,内容包括JSTL标签库的使用、如何自定义标签、资源国际化、数据库概述、JDBC详解、XML概述等;第4篇为...
第2篇为基础篇,内容包括Servlet技术、JSP技术、会话跟踪、过滤器Filter、监听器Listener等;第3篇为高级篇,内容包括JSTL标签库的使用、如何自定义标签、资源国际化、数据库概述、JDBC详解、XML概述等;第4篇为...
第2篇为基础篇,内容包括Servlet技术、JSP技术、会话跟踪、过滤器Filter、监听器Listener等;第3篇为高级篇,内容包括JSTL标签库的使用、如何自定义标签、资源国际化、数据库概述、JDBC详解、XML概述等;第4篇为...
基于Web的网上订餐系统是一种流行的网络应用程序,它允许用户通过互联网...系统还需要处理会话跟踪(Session、Cookie)、操作系统兼容性(Linux、i386等)并使用各种设计模式(IoC、AOP)以实现高效和模块化的设计。
6. **会话管理**:Java Web服务器支持会话跟踪,你可以找到有关如何创建和管理HttpSession的例子。 7. **过滤器(Filter)和监听器(Listener)**:这两个组件用于增强Web应用的功能,例如字符编码转换、登录检查、...
此外,WEB服务器还会管理用户的会话(session)、跟踪请求(request)和响应(response)。 由于HTTP协议的广泛使用,大多数WEB服务器仅专注于HTTP服务,因此通常情况下HTTP服务器和WEB服务器被看作是同义的。然而...
ASP.NET是Microsoft公司推出的Web应用程序开发框架,它基于.NET Framework,提供了高效、安全且易于维护的Web应用构建平台。C#作为ASP.NET的主要编程语言,以其现代化的语法和强大的功能,为开发者提供了便捷的Web...
【Java Web应用开发项目电子商城】是一个典型的基于Java技术栈构建的Web应用程序,它涵盖了从后端服务到前端展示的完整流程。这个项目通常包括了服务器端编程、数据库设计、用户界面设计等多个方面,旨在模拟实际的...
本文重点介绍了用户识别算法在Web日志挖掘中的应用,并提出了一种基于多重约束条件的用户识别算法。 #### 引言 互联网的快速发展催生了大量的在线信息和服务。为了从这些海量数据中提取有价值的信息,Web数据挖掘...
在本"Ajax网站开发典型实例JSP源码包"中,我们可以深入学习如何使用Ajax与JavaServer Pages (JSP) 结合,创建高效动态的Web应用。 1. **Ajax基础** Ajax的核心是JavaScript对象XMLHttpRequest,它允许JavaScript在...
第2篇为基础篇,内容包括Servlet技术、JSP技术、会话跟踪、过滤器Filter、监听器Listener等;第3篇为高级篇,内容包括JSTL标签库的使用、如何自定义标签、资源国际化、数据库概述、JDBC详解、XML概述等;第4篇为...
【会话与状态管理】是Web应用程序开发中的关键概念,主要涉及如何跟踪和维护用户在网站上的一系列交互。在Web应用中,一个用户从打开网页到完成一系列操作(如购物、浏览信息等)的过程称为会话。会话状态则是指用户...