`
mefly
  • 浏览: 150593 次
  • 性别: Icon_minigender_1
  • 来自: 天津
社区版块
存档分类
最新评论

会话cookie和持久化cookie实现session机制(转载)

阅读更多

会话cookie和持久化cookie实现session机制

   当你第一次访问一个网站的时候,网站服务器会在响应头内加上Set-Cookie:PHPSESSID=nj1tvkclp3jh83olcn3191sjq3(php服务器),或Set-Cookie JSESSIONID=nj1tvkclp3jh83olcn3191sjq3(java服务器)信息,此信息是服务器随机生成的,放在服务器内存里,为了标识唯一的客户端用户,内容不会重复,这就是sessionid.
   当浏览器得到这个sessionid会将它放在自己的进程内存里,这里不同的浏览器会有所不同,IE进程间不能共享这个sessionid,也就是新开一个IE将不能共享这个sessionid;而Firefox进程间可以共享.然后你继续发请求给这个网站的时候,浏览器就会把这个sessionid放在请求头里发送给该服务器了,这样服务器得到sessionid后再和自己内存里存放的sessionid对比锁定客户端,从而区分不同客户端,完成会话.
   可以看出如果用这种方式,当用户在会话的过程中关闭浏览器结束进程,则这个sessionid将消失,如果用户又打开浏览器想继续这次会话的时候,就会因为发送的请求中没有这个sessionid而使服务器无法辨别该把那个session信息给他,注意(这个时候服务器端的sessionid和sessionid所指向的session都还存在,只是没有正确的sessionid和它匹配而占用服务器内存,只有session过期或服务器重启才释放内存).
   上面这种方式叫会话cookie,把cookie放在浏览器内存里,只能在这个浏览器的内存范围里完成会话,是一种不长久的方式,为了能长久会话,就出现了持久化cookie,把cookie固化在用户的计算机上,现在的cookie不单单能存放sessionid,还能放用户信息,样式表信息等.
   如果用户禁止了所有cookie的使用,那么会话cookie和持久化cookie都不能用了,有个方案也可以解决问题,就是URL重写,这里要说下的就是URL重写只能实现会话cookie的效果,持久会话实现不了.
分享到:
评论

相关推荐

    cookie机制和session机制的区别

    临时Cookie会在浏览器关闭后自动删除,而持久化Cookie则会根据设定的有效期存在一段时间。 #### Session机制 Session是在服务器端维护的一种会话管理机制,用于跟踪用户在一个会话过程中的状态。当一个用户连接到...

    Cookie机制和Session机制

    ### Cookie机制和Session机制 #### 一、基本概念与背景 在现代Web应用中,为了实现用户认证、个性化设置等功能,通常需要在客户端与服务器之间维持一段时间内的状态信息。然而,HTTP协议本质上是无状态的,这意味...

    经典收藏Cookie和Session

    通过以上内容,我们可以清楚地了解到Cookie与Session的基本概念及其区别,同时对于会话Cookie与持久Cookie的不同也有了更深入的理解。在实际应用中,合理选择和使用这两种机制可以帮助开发者更好地管理用户的会话...

    cookie机制和session机制的区别.

    这种方式适用于需要持久化存储少量数据的场景。 - **Session**:是一种服务器端存储技术,服务器为每个用户创建一个独立的会话(Session),并在服务器端保存用户的会话数据。客户端通过某种方式(通常是Cookie)...

    Tomcat_Session的持久化

    下面详细讲解 Tomcat_Session 的持久化原理和实现机制。 一、Session 的使用 Session 是一种用来跟踪用户状态的机制。Servlet 容器通过在客户端浏览器中保存一个 Session ID 来跟踪 Session。调用 session.getID()...

    Servlet会话机制(cookie and session)

    每次用户请求,服务器根据Session ID找到对应的Session,从而获取购物车状态,实现状态的持久化。 **三、Cookie与Session的比较** 1. **安全性**:Session比Cookie更安全,因为数据存储在服务器端,不会暴露给...

    Cookie、Session和Token三者的区别及使用

    - **会话Cookie (Session Cookie)**: 不设定过期时间,仅在用户会话期间有效。 - **持久Cookie (Persistent Cookie)**: 设定了过期时间,在该时间内无论浏览器是否重启都会保持有效。 **用途**: Cookie常用于个性化...

    session与cookie的区别和联系?

    如果未设置过期时间,则默认为会话Cookie,在用户关闭浏览器后即被删除。 - **大小限制**:每个Cookie的大小通常不超过4KB。 - **Session**:Session是服务器为了跟踪用户的会话而创建的一个对象,用来存储特定...

    cookie 和 session 保存的异同

    Cookie 和 Session 是两种常见的用户身份验证和会话管理机制,它们在Web开发中扮演着重要角色,用于跟踪用户的在线状态和存储用户数据。下面将详细阐述它们的异同以及如何在集群环境中进行共享。 首先,Cookie 是一...

    flask-session-cookie-manager

    在Web开发中,session cookie是服务器用来跟踪用户状态的一种方式,特别是在无状态的HTTP协议上实现会话持久化。这个工具可能提供创建、读取、更新和删除cookie的功能,帮助开发者更方便地处理用户的登录状态、个性...

    session 和cookie 区别

    会话cookie与持久cookie的主要区别在于它们的有效期: - **会话cookie**:没有设置过期时间,其生命周期仅限于当前的浏览器会话。一旦浏览器关闭,这类cookie将被自动清除。 - **持久cookie**:通过设置过期时间(如...

    javaweb之cookie和session的应用

    在Java Web开发中,Cookie和Session是两种非常重要的会话管理技术,它们主要用于跟踪和管理用户的状态信息。本文将深入探讨Cookie和Session的工作原理、应用场景以及如何在Java Web项目中进行有效利用。 **Cookie**...

    Cookie与Session机制

    3. **存储**:Session数据通常存储在内存中,服务器会定期将活跃Session持久化到硬盘,以防服务器重启导致数据丢失。 4. **生命周期**:Session有一个预设的超时时间,超过这个时间未收到客户端的请求,服务器会...

    session的跟踪机制

    每当用户访问某个网站时,服务器可以设置或读取Cookie中的内容,从而实现用户信息的持久化存储。Cookie的数据量较小(通常限制在4KB以内),并且随着每一次HTTP请求自动发送到服务器。 - **优点**:使用简单方便...

    对session和cookie的一些理解

    有几种类型的Cookie,包括会话Cookie(Session Cookie)和持久化Cookie。会话Cookie在浏览器关闭后消失,而持久化Cookie则可以设定过期时间,即使浏览器关闭,再次打开时依然存在。 Session,另一方面,是在服务器...

    Cookie-Session机制详解.txt

    在Web开发中,为了实现服务器与客户端之间的会话管理,常用的技术之一就是Cookie-Session机制。本文将深入剖析Cookie-Session的工作原理及其在实际应用中的作用。 #### 二、基础知识 ##### 2.1 Cookie概述 Cookie...

    使用SessionListener+持久化Session+Springmvc拦截器实现单点登录

    以上就是使用`SessionListener`、持久化`Session`和`Springmvc拦截器`实现单点登录的基本原理和实现步骤。通过这样的设计,可以有效地提升用户体验,同时确保系统的安全性。在实际项目中,还需要根据具体需求进行...

    分布式架构下的会话追踪实践【基于Cookie和Redis实现】

    - 对于大容量的会话数据,可以考虑定期将部分不活跃的会话数据持久化到磁盘,以节省内存资源。 通过以上步骤,我们可以实现一个高效的分布式会话追踪系统,既能保证用户状态的连续性,又能适应大规模的并发请求。...

    Session详解

    在设计和实现Session机制时,安全性和性能是两个关键考量因素。安全性方面,应防止会话劫持、CSRF攻击等威胁,确保会话ID的生成和传输足够安全。性能方面,服务器需要高效地管理和更新大量会话对象,避免资源浪费和...

Global site tag (gtag.js) - Google Analytics