`
侯上校
  • 浏览: 223396 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

【转】为什么要有cookie和session,以及cookie和session的区别 .

    博客分类:
  • J2EE
 
阅读更多
【转自】http://blog.csdn.net/chenlili_liumiao/article/details/7869161
1、创建一个新的Cookie

         Cookie cookie = new Cookie("username",name);

2、设置cookie在客户端上存活多久

         cookie.setMaxAge(30*60);

3、把cookie发送到客户

         response.addCookie(cookie);

4、从客户请求得到cookie(或多个cookie)

         Cookie[]    cookies=request.getCookies();

         for(int i=0-;i<cookies.length;i++){

                       Cookie cookie=cookies[i];

                       out.println(cookie.getName()+":"+cookie.getValue())

                 }

为什么要有cookie和session,以及cookie和session的区别
壮态管理

当用户在发送一个请求关得到返回信息之后,客户端与服务器端之间的网络连接就已经
断开了,在下一个请求发送时,服务器无法确定这次请求和上次的请求是否来自同一个客

户端。也就是说,服务器不能记住"记住"用户,这是hptp协议的限制。在web应用程序中,

实际上是经常需要记住每次请求的。那么,如何让服务器知道不同的请求是否来自同一个

客户端,就是状态管理问题出现了session和cookie。


状态管理
分为客户端和服务器端

服务器端:状态信息保存在服务器端,session (其它:Application,HttpContext,Cache


客户端:状态信息保存在客户端,cookie (QueryString,ViewState,ControlState,隐藏域

)

当客户端向服务器发送请求时,状态信息也随之发送到服务端,从而起到验证客户端来路

的目的。
客户端状态不如服务器端的安全性和可靠性高,但服务器端状态会占用服务器端资源,影

响服务器性能。

Session session超过之前    数据大小不限,建议数据尽量少

cookie 可编程控制         数据受cookie大小限制


具体来说cookie机制采用的是在客户端保持状态的方案。它是在用户端的会话状态的存贮

机制,他需要用户打开客户端的cookie支持。

而session机制采用的是一种在客户端与服务器之间保持状态的解决方案。同时我们也看到

,由于采用服务器端保持状态的方案在客户端也需要保存一个标识,所以session机制可能

需要借助于cookie机制来达到保存标识的目的。而session提供了方便管理全局变量的方式
session是针对每一个用户的,变量的值保存在服务器上,用一个sessionID来区分是哪个

用户session变量,这个值是通过用户的浏览器在访问的时候返回给服务器,当客户禁用

cookie时,这个值也可能设置为由get来返回给服务器。
就安全性来说:当你访问一个使用session 的站点,同时在自己机子上建立一个cookie,

建议在服务器端的SESSION机制更安全些.因为它不会任意读取客户存储的信息。

正统的cookie分发是通过扩展HTTP协议来实现的,服务器通过在HTTP的响应头中加上一行

特殊的指示以提示浏览器按照指示生成相应的cookie
从网络服务器观点看所有HTTP请求都独立于先前请求。就是说每一个HTTP响应完全依赖于

相应请求中包含的信息
状态管理机制克服了HTTP的一些限制并允许网络客户端及服务器端维护请求间的关系。在

这种关系维持的期间叫做会话(session)。
Cookies是服务器在本地机器上存储的小段文本并随每一个请求发送至同一个服务器。IETF

RFC 2965 HTTP State Management Mechanism 是通用cookie规范。网络服务器用HTTP头向

客户端发送cookies,在客户终端,浏览器解析这些cookies并将它们保存为一个本地文件

,它会自动将同一服务器的任何请求缚上这些cookies

分享到:
评论

相关推荐

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

    ### Cookie、Session与Token的区别及使用详解 #### 一、Cookie **定义**: Cookie是一种用于在客户端保持状态的方案。简单来说,当你访问一个网站时,该网站可能会在你的计算机上留下一些信息(如用户名、密码等),...

    session与cookie的区别和联系?

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

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

    在Web开发中,Cookie和Session是两种常见的用户身份验证机制,尤其在C#编程语言中,它们被广泛用于实现登录功能。本实例将探讨如何在C#环境下利用Cookie和Session来处理用户登录状态。 首先,我们要理解Cookie和...

    day16_cookie&session源代码.zip

    在IT行业中,尤其是在Web开发领域,Cookie和Session是两种非常重要的技术,用于管理用户状态和保持会话。这里我们深入探讨这两个概念以及它们在Java Web中的应用。 首先,Cookie是客户端存储的小型文本文件,由...

    经典收藏Cookie和Session

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

    cookie和session示例

    接下来,我们将详细探讨Cookie和Session的工作原理、特点以及如何在实际应用中使用它们。 一、Cookie 1. 工作原理: Cookie是由服务器端发送到客户端(浏览器)的一小段文本信息,当客户端后续向服务器发送请求时...

    cookie和session区别

    这是一份关于cookie和session的知识文档,有关于cookie是什么,图解,cookie对比session有哪些不好,session是什么图解

    javaweb之cookie和session的应用

    本文将深入探讨Cookie和Session的工作原理、应用场景以及如何在Java Web项目中进行有效利用。 **Cookie** Cookie是由服务器端发送到客户端(浏览器)的一小段文本信息,用于在客户端和服务器之间传递状态信息。它...

    JAVA之cookie与session

    尽管 Cookie 和 Session 都用于跟踪用户状态,但它们有着本质的区别: 1. **存储位置**:Cookie 存储在客户端,而 Session 存储在服务器端。 2. **安全性**:由于 Cookie 存储在客户端,因此容易受到攻击。Session ...

    cookie机制和session机制的区别

    Cookie机制和Session机制各有优势,Cookie提供了一种轻量级的状态管理方式,适用于简单场景;而Session则提供了更安全、更强大的会话管理功能,适用于复杂的应用场景。在实际开发中,开发者应根据具体需求选择最合适...

    Cookie和Session的区别.txt

    介绍Cookie和Session的区别,适合做技术开发人员

    cookie和session

    本文将详细解析Cookie与Session的工作原理、区别及应用场景。 #### 一、Cookie与Session的基本概念 **Cookie**:是一种简单的客户端存储技术,用于保存用户的偏好设置、登录状态等信息。当用户访问网站时,服务器...

    python中requests模拟登录的三种方式(携带cookie/session进行请求网站)

    一,cookie和session的区别 cookie在客户的浏览器上,session存在服务器上 cookie是不安全的,且有失效时间 session是在cookie的基础上,服务端设置session时会向浏览器发送设置一个设置cookie的请求,这个cookie...

    session 和cookie 区别

    标题与描述中的关键词“session和cookie区别”指向了两种在Web开发中常用的状态管理技术,它们各自具有独特的特性和用途。下面将详细阐述这两种技术的关键知识点: ### session和cookie的区别 **1. 定义与存储位置...

    cookie 和 session 保存的异同

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

    cookie.Session

    ### Cookie与Session详解 #### 前言 随着互联网应用的普及与发展,用户对网络体验的需求日益提升。其中,维持用户会话状态是一项至关重要的功能。然而,由于HTTP协议本身的无状态特性,使得每次客户端与服务器之间...

    Cookie、Session机制详解.doc

    在本文中,我们详细地讲述了Cookie和Session机制的原理和优缺点,并比较了什么时候不能用Cookie,什么时候不能用Session。我们的目的是帮助读者更好地理解这些技术,以便更好地使用它们来开发Web应用程序。 知识点...

    jquery.session.zip

    标题中的"jquery.session.zip"暗示了这是一个与jQuery库和会话管理相关的压缩包,其中包含了一个名为"jquery.session.js"的文件。这个文件很可能是扩展jQuery功能的一个插件,允许我们在前端使用JavaScript来操作...

    Cookie与Session的示例代码

    在Web开发中,Cookie和Session是两种非常重要的用户身份管理和会话跟踪技术。它们都是用来在客户端和服务器之间存储和传递信息的方式,但各有特点和适用场景。本篇将通过具体的示例代码来深入理解Cookie和Session的...

Global site tag (gtag.js) - Google Analytics