`

对session和cookie的一些理解

 
阅读更多

由于项目需要,最近用session容器比较多,传载的同时加上了自己的一些理解,不足之处还请大家补充和纠正。


一、cookie机制和session机制的区别
*************************************************************************************
Cookie是客户端的存储空间,由浏览器来维持。具体来说cookie机制采用的是在客户端保持状态的方案,而session机制采用的是在服务器端保持状态的方案。同时我们也看到,由于才服务器端保持状态的方案在客户端也需要保存一个标识,所以session机制可能需要借助于cookie机制来达到保存标识的目的,但实际上还有其他选择,比如说重写URL和隐藏表单域。

*************************************************************************************
二、会话cookie和持久cookie的区别
*************************************************************************************

如果不设置过期时间,则表示这个cookie生命周期为浏览器会话期间,只要关闭浏览器窗口,cookie就消失了。这种生命期为浏览会话期的cookie被称为会话cookie。会话cookie一般不保存在硬盘上而是保存在内存里。

如果设置了过期时间(setMaxAge(60*60*24)),浏览器就会把cookie保存到硬盘上,关闭后再次打开浏览器,这些cookie依然有效直到超过设定的过期时间。存储在硬盘上的cookie可以在不同的浏览器进程间共享,比如两个IE窗口。而对于保存在内存的cookie,不同的浏览器有不同的处理方式。(在IE下测试通过)

*************************************************************************************
三、如何利用实现自动登录
*************************************************************************************

当用户在某个网站注册后,就会收到一个惟一用户ID的cookie。客户后来重新连接时,这个用户ID会自动返回,服务器对它进行检查,确定它是否为注册用户且选择了自动登录,从而使用户务需给出明确的用户名和密码,就可以访问服务器上的资源。

*************************************************************************************
四、如何根据用户的爱好定制站点
*************************************************************************************

网站可以使用cookie记录用户的意愿。对于简单的设置,网站可以直接将页面的设置存储在cookie中完成定制。然而对于更复杂的定制,网站只需仅将一个惟一的标识符发送给用户,由服务器端的数据库存储每个标识符对应的页面设置。

*************************************************************************************
五、cookie的发送
*************************************************************************************

1.创建Cookie对象
2.设置最大时效
3.将Cookie放入到HTTP响应报头

如果你创建了一个cookie,并将他发送到浏览器,默认情况下它是一个会话级别的cookie:存储在浏览器的内存中(服务器自动创建一个cookie并将jsessionId作为key,sessionId的值作为value发送到客户端浏览器内存中),用户退出浏览器之后被删除。如果你希望浏览器将该cookie存储在磁盘上,则需要使用maxAge,并给出一个以秒为单位的时间。将最大时效设为0则是命令浏览器删除该cookie。发送cookie需要使用HttpServletResponse的addCookie方法,将cookie插入到一个Set-Cookie HTTP请求报头中。由于这个方法并不修改任何之前指定的Set-Cookie报头,而是创建新的报头,因此我们将这个方法称为是addCookie,而非setCookie。同样要记住响应报头必须在任何文档内容发送到客户端之前设置。

*************************************************************************************
六、cookie的读取
*************************************************************************************

详情见附件...

分享到:
评论

相关推荐

    对session和cookie的深刻理解

    ### 对Session和Cookie的深刻理解 #### Session与Cookie的基本概念 在Web开发中,了解Session和Cookie是非常重要的,因为它们是实现用户会话管理和状态跟踪的关键技术。简单来说,Session和Cookie都用于存储用户...

    j2ee实验二:学习使用Session和Cookie

    ### j2ee实验二:学习使用Session和Cookie #### 实验背景与目标 在现代Web应用开发中,理解和掌握会话管理和用户认证是至关重要的。本实验旨在通过一系列实际操作来帮助学生熟悉J2EE环境下Session和Cookie的工作...

    session与cookie的区别和联系?

    ### Session与Cookie的区别和联系 #### 一、概念解析 - **Cookie**:Cookie是一种小型的数据文件,由服务器端生成并发送给用户浏览器,浏览器在本地(如用户的硬盘)保存该文件,然后每一次请求同一网站时都会把该...

    TP5 Session和Cookie

    标题中的“TP5 Session和Cookie”指的是在PHP的ThinkPHP5框架中关于用户会话管理和Web身份验证的两个核心概念。...理解并熟练运用Session和Cookie,对于提升ThinkPHP5项目的安全性和用户体验至关重要。

    flask-session-cookie-manager-master.zip

    首先,我们来深入理解session和cookie的概念。在Web应用中,用户认证通常依赖于session和cookie。cookie是服务器发送到用户浏览器并存储在本地的一小块数据,用于跟踪用户状态。而session则是一种在服务器端存储用户...

    flask、session、cookie解加密脚本

    本文将深入探讨`Flask`中的`session`和`cookie`,以及如何对它们进行解密。 首先,`session`和`cookie`都是用于跟踪用户状态的方法。`cookie`通常存储在用户的浏览器中,而`session`数据则保存在服务器端。`cookie`...

    asp.net的session和cookie的应用

    ASP.NET的Session和Cookie是Web开发中的两种关键的用户状态管理技术。它们允许开发者存储和检索用户特定的信息,从而提供个性化的用户体验。了解并熟练掌握这两者,对于任何ASP.NET Web应用程序的开发者来说都至关...

    SpringSession同时支持Cookie和header策略

    总的来说,SpringSession通过`CookieHeaderHttpSessionStrategy.java`这类策略类,实现了对Cookie和header两种方式的灵活支持,从而在分布式系统中提供了健壮的session管理解决方案。理解并掌握这些概念和代码细节...

    经典收藏Cookie和Session

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

    cookie和session示例

    在Web开发中,Cookie和Session是两种非常重要的用户状态管理机制。它们被广泛用于跟踪用户的登录状态、个性化设置等,确保用户在不同页面之间切换...学习和掌握Cookie和Session的相关知识,对提升Web开发能力至关重要。

    c#实现cookie和session的登陆实例

    在Web开发中,Cookie和Session是两种常见的用户身份验证...通过以上讲解,你应该对C#中如何使用Cookie和Session进行登录实现了深入的理解。实际项目中,应根据需求选择适合的用户认证方法,并确保遵循最佳安全实践。

    关于session与cookie的原理简述

    【Session与Cookie原理...理解并熟练掌握Session和Cookie的使用,能够帮助开发者构建更安全、高效的应用。在实际应用中,通常会结合两者,利用Cookie存储Session ID,而Session用于存储敏感数据,以兼顾安全和性能。

    Cookie与Session深入剖析图示

    下面将对Cookie和Session进行深入剖析。 首先,Cookie是服务器发送到用户浏览器并存储在本地的一小块数据,通常包含一个唯一的标识符、有效期以及服务器指定的一些数据。当用户再次访问同一网站时,浏览器会自动将...

    深入理解session,cookie

    在这个场景下,Cookie和Session成为了关键的角色。接下来,我们将深入探讨这两种技术的工作原理及其在Servlet和JSP中的应用。 首先,我们来看Cookie。Cookie是由服务器端创建并在HTTP响应头中发送到客户端(通常是...

    session、cookie的跨域共享

    该文件可以通过代码实例,让你清楚的理解session和cookie的意思,当你明白了这点,你就可以设计出来单点登录功能,同一账号在同一时间只能登录一次功能。同时你可以通过ie、firefox去测试你对session、cookie的理解...

    session和cookie1

    总的来说,Session和Cookie各有优缺点,选择使用哪种取决于应用场景的需求,如安全性、性能、数据量以及对用户隐私的考虑。理解它们的工作原理和差异,有助于开发者更好地设计和优化Web应用程序。

    一次搞明白 Session、Cookie、Token,面试问题全搞定.pdf

    从描述中可以知道,文档的目标是帮助应聘者在面试过程中对Session、Cookie、Token有一个全面的了解,确保他们能够自信地回答面试官的问题,避免面试中遇到相关问题时感到困惑或不自信。 在标签"面试 php session ...

    session和cookie的区别

    理解Cookie和Session的区别有助于开发者选择合适的方法来处理用户状态,平衡性能和安全性。在实际应用中,通常结合使用两者,例如使用Cookie存储非敏感的用户偏好,而用Session存储登录状态等敏感信息。

    JavaWeb基础-Cookie和Session的简单使用案例

    总结起来,Cookie和Session是JavaWeb开发中重要的用户会话管理工具,理解它们的工作原理和应用场景,对于构建高效、安全的Web应用至关重要。通过实际的登录案例,我们可以直观地看到如何在项目中运用这两种技术,以...

Global site tag (gtag.js) - Google Analytics