`

关于http session

阅读更多
http session,并不是java平台独有的概念,而是跟http协议相关的,任何平台都涉及到这个问题

需要session的根源在于,http协议本身是一种无状态的协议,也就是说每个请求都会被服务器认为是一个新请求。但是实际的业务场景,往往需要服务端能够记住客户端曾经进行过的操作,因此这就需要http session来发挥作用

http session的实现在不同的平台会有所不同,java ee平台的servlet规范只是定义了服务端需要能提供“某种机制”来保存session,具体的实现由servlet容器供应商来实现。比如可以将数据保存在内存中,也可以持久化到文件系统里,也可以保存到数据库中,规范并没有做强制的要求

但是,就像数据库的记录必须要有一个主键,文件必须要有一个文件名一样,http session也要求必须有一个唯一的session id在客户端和服务端之间传递。试想,如果没有这样一个唯一标识的存在,服务端就算保存了数据在session中,又怎么能知道哪个session对应哪一个客户端的请求呢?

servlet规定了HttpSession接口来提供session机制。API也十分简单,通过HttpServletRequest.getSession()得到HttpSession,然后调用HttpSession.isNew()方法来判断这是否是一个新的session,并提供了HttpSession.getAttribute()和HttpSession.setAttribute()方法来设置session scope的属性
分享到:
评论

相关推荐

    理解HTTP session原理及应用

    HTTP Session 是Web开发中一种重要的技术,用于在客户端和服务器之间维持状态,尤其是在无状态的HTTP协议下。本文将深入探讨HTTP Session的原理及其在实际应用中的作用。 首先,理解"session"一词的含义至关重要。...

    java后台请求http并保持Session

    在Java编程中,后台请求HTTP并保持Session是一个常见的任务,特别是在需要访问受保护的Web资源时,例如登录后的网页数据。下面将详细讲解这个过程,包括GET和POST方法的使用,以及Session管理。 首先,我们需要了解...

    跨域共享session (实现http跳转https 共享session)

    标题中的“跨域共享session”是指在Web开发中,如何在不同的域名或协议(如HTTP和HTTPS)之间共享用户登录状态。通常,由于浏览器的安全策略,不同源的Web应用程序之间不能共享Cookie,其中包括用于存储session信息...

    http请求保存session会话

    在代码中建立http连接同时保存session会话信息,适用于网页爬取数据信息,避免登录验证

    session session session szsessdifn

    Session机制是服务器端存储用户特定信息的一种方式,它允许开发者在多个页面之间保持用户状态,解决了HTTP协议无状态的问题。"szsessdifn"可能是某种特定的Session变量名或函数,但在这里没有足够的上下文来详细解释...

    Java关于session的详细解释

    ### Java关于Session的详细解释 #### 一、Session的基本概念 在Java Web开发中,Session是一种常用的技术,用于跟踪用户的会话状态。简单来说,Session就是服务器为特定用户分配的一块内存区域,用来存储该用户在...

    关于session.doc

    ### 关于Session机制详解 #### 一、术语Session 在计算机科学领域,特别是Web开发中,“session”这个词的含义较为复杂且多变。通常我们提到的“session”是指客户端与服务器之间的一次交互过程,这一过程可以持续...

    servlet中关于session的理解

    ### 关于Servlet中的Session理解 在Web开发领域中,Servlet技术是Java Web开发的重要组成部分,而Session机制则是处理用户会话的关键技术之一。本文将基于提供的文件内容,深入探讨Servlet中Session的工作原理、...

    关于session的详细解释.pdf

    关于Session的详细解释 在深入探讨Session机制之前,我们首先明确Session的概念及其在网络通信和Web开发中的作用。Session,常被译作“会话”,原意指一系列有始有终的动作或消息交换过程,例如打电话从拨号到挂断...

    关于如何清空session的例子

    在服务器接收到客户端的HTTP请求时,如果发现没有当前会话(Session),它会创建一个新的Session并分配一个唯一的ID。这个ID会被发送回客户端,通常保存在Cookie中。然后,客户端在后续的请求中携带这个Session ID,...

    spring session redis分布式session

    然而,传统的HTTP Session在分布式环境中面临着同步难题,因为每个服务器节点都维护独立的Session,导致跨服务器时Session数据不同步。为了解决这个问题,Spring Session提供了一种优雅的解决方案,特别是结合Redis...

    通过HttpURLConnection获取SESSIONID

    //得到Cookie的所有内容,包括SESSIONID,在进行下次提交的时候 直接把这个Cookie的值设到头里头就行了 //淡然只得到SESSIONID也很简单的 ,但是有时候Set-Cookie的值有几个的 List<String> list = (List) ...

    Springboot实现多服务器session共享

    下面是关于Springboot实现多服务器session共享的详细知识点: Session共享的原理 在正常情况下,HTTPSession是通过servlet容器创建并管理的,创建成功后都保存在内存中。如果开发者需要对项目进行横向拓展搭建...

    session配置secure和httpOnly

    3. 对于依赖Session验证用户登录状态的应用,设置`secure`属性会导致HTTP请求无法携带Session信息。因此,当用户通过HTTP发送请求时,服务器无法识别Session,可能导致不必要的重定向。这种情况下,需要考虑其他登录...

    一个关于Session的小demo

    在Web开发中,Session是服务器用来跟踪用户状态的一种机制,特别是在HTTP无状态的特性下,Session起到了关键作用。本小demo以JSP为基础,旨在帮助初学者理解并掌握Session的使用方法。 首先,我们来解释一下什么是...

    一篇优秀Session讲解

    1. **HTTP协议的特点**:HTTP协议是无状态的,即每次客户端发起的请求都是独立的,服务器不会保存任何关于之前请求的信息。为了克服这一限制,引入了Session机制来维持会话状态。 2. **Cookie与Session的区别**:...

    js操作session例子

    但有一种常见的方法可以间接实现这一目标,即通过HTTP请求(通常是Ajax)将数据发送到服务器,由服务器处理后再保存到Session中。不过,本例中提到的是一种不依赖Ajax的解决方案。 这个解决方案的核心是利用HTML...

Global site tag (gtag.js) - Google Analytics