session在计算机中,尤其是在网络应用中,称为“会话机制”,Session对象存储特定用户会话所需的属性及配置信息,这样,当用户在应用程序的web页之间跳转时,存储在session对象中的变量将不会将不会丢失,而是在整个用户会话中一直存在下去,当用户请求来自应用程序的web页时,如果该用户还没有会话,则web服务器将自动创建一个session对象,当会话过期或者被放弃后,服务器将终止会话。

session对象最常见的一个用法就是存储用户的首选项。例如如果用户指明不喜欢查看图形,就可以将该信息存储在session对象中。

session:是在服务器端状态保持机制,提供了一种把信息保存在服务器内存中的一种方式,他能存储任何数据类型包括自定义对象

每个客户端的session都是独立存储的,session对象用于存储有关用户信息,用户不能访问和修改其他用户的session,在服务器端有一个session池,用来存储每个用户session中的数据,为了区别,给每一个存储单元加一个sessionID,这个sessionID的值是唯一的,然后返回给浏览器,用户下次访问时带着这个sessionID,从session池中找到对应的session存储单元,每个用户都有自己的session,不能对其他用户的session进行操作。

sessionID是以cookie的形式返回给浏览器端,浏览器将接收到的存储sessionID的cookie保存在内存中(浏览器端)

session不能跨浏览器使用,用户验证场合一般使用session

session和cookie的区别:session是在服务器端,cookie是在客户端(浏览器)

cookie的作用:

我们在浏览器中,经常涉及到设计的交换,比如你登录邮箱,登录一个页面,我们经常会在此时设置30天记住我,或者自动登录选项,那么他们是怎么记录信息的呢,就是cookie,cookie是有HTTP服务器设置的,保存在浏览器中,但HTTP协议是一种无状态协议,在数据交换完毕后,服务器端和客户端的连接就会关闭,每次交换数据都需要建立新的连接。

就像我们去超市买东西,没有积分卡的情况下,我们买完东西之后,超市没有我们的任何消费信息,但我们办了积分卡之后,超市就有了我们的消费信息,cookie就像是积分卡,可以保存积分,商品就是我们的信息,超市的系统就像服务器后台,HTTP协议就是交易的过程。

session机制采用的是服务器端保持状态的方案,而cookie机制则是在客户端保持状态的方案,cookie又叫会话跟踪机制。打开一次浏览器到关闭浏览器算是一次会话,HTTP是无状态协议,数据交换完成后,服务器端和客户端的连接就会关闭,每次数据交换都要建立新的连接,此时,服务器无法从连接上跟踪会话,cookie可以跟踪会话,弥补HTTP状态协议的不足。

session和cokkie的区别与作用的更多相关文章

  1. 详解SESSION与COOKIE的区别

    在PHP面试中 经常碰到请阐述session与cookie的区别与联系,以及如何修改两者的有效时间. 大家都知道,session是存储在服务器端的,cookie是存储在客户端的,session依赖于c ...

  2. Cookie、session和localStorage的区别

    一.Cookie.session和localStorage的区别 cookie的内容主要包括:名字.值.过期时间.路径和域.路径与域一起构成cookie的作用范围.若不设置时间,则表示这个cookie ...

  3. cookie ,session 和localStorage的区别详解

    2019独角兽企业重金招聘Python工程师标准>>> cookie ,session 和localStorage的区别详解 博客分类: js 当你在浏览网站的时候,WEB 服务器会 ...

  4. 浅析匿名函数、lambda表达式、闭包(closure)区别与作用

    浅析匿名函数.lambda表达式.闭包(closure)区别与作用 所有的主流编程语言都对函数式编程有支持,比如c++11.python和java中有lambda表达式.lua和JavaScript中 ...

  5. maven发布项目到私服-snapshot快照库和release发布库的区别和作用及maven常用命令

    maven发布项目到私服-snapshot快照库和release发布库的区别和作用及maven常用命令 在日常的工作中由于各种原因,会出现这样一种情况,某些项目并没有打包至mvnrepository. ...

  6. 深入解析Oracle 10g中SGA_MAX_SIZE和SGA_TARGET参数的区别和作用

    原文链接:http://m.blog.csdn.net/blog/aaron8219/40037005 SGA_MAX_SIZE是从9i以来就有的作为设置SGA大小的一个参数,而SGA_TARGET则 ...

  7. session与cookie的区别,有哪些不同之处

    session与cookie的区别,根据自己的理解总结如下: (1)cookie是一种客户端的状态管理技术,将状态写在 浏览器端,而session是一种服务器端的状态管理技术,将 状态写在web服务器 ...

  8. jsp中的contentType与pageEncoding的区别和作用

    jsp中的contentType与pageEncoding的区别和作用   <%@ page contentType="text/html; charset=utf-8" p ...

  9. session与cookie的区别与联系

    session与cookie是在做项目中很常用的会话技术,session与cookie也是面试中被问到频率最高的问题,有一次我去面试,面试官就怼着我session与cookie一直问(头都大了),下面 ...

随机推荐

  1. C# 定时调用方法

    private void button1_Click(object sender, EventArgs e) { System.Timers.Timer timer = new System.Time ...

  2. gdb 的 symbos 加载详情(set verbose on)

    http://stackoverflow.com/questions/10000335/how-to-use-debug-version-of-libc 两个重要参数 set verbose on d ...

  3. Eclipse中打包插件Fat Jar的安装与使用

    转自:https://www.cnblogs.com/wbyp/p/6222182.html     Eclipse可以安装一个叫Fat Jar的插件,用这个插件打包非常方便,Fat Jar的功能非常 ...

  4. for...in和for...of循环的区别

    使用for...in和for...of分别对Array,Set,Map做测试 var a=["A","B","C"]; var b=new ...

  5. Android+Servlet+MySql+JSON实现简单的数据查询操作--C/S架构

    本例简单地实现Android客户端与服务器端交互,主要是通过客户端输入内容(学号)提交到服务器端,服务器端与数据库交互去查询相应信息(姓名).根据这个做个完整的安卓登录是没问题的.本例数据库服务器都采 ...

  6. android -------- Android Studio调试运行时ADB not responding

    最近有我朋友问我一个android studio的调试运行问题,我记得以前也是遇到过得,所以 来写一下    ADB not responding.If you'd like to retry, th ...

  7. android -------- WIFI 详解

    今天简单的来聊一下安卓开发中的Wifi,一些常用的基础,主要分为两部分: 1:WiFi的信息 2:WiFi的搜索和连接 现在app大多都需要从网络上获得数据.所以访问网络是在所难免.但是在访问网络之前 ...

  8. 维护满足max(+ or -)min<=k的区间

    这是一种经典的单调栈+线段树的维护方法. 从左到右枚举右端点. 线段树维护每一个左端点的max(+ or -)min的值. 每次右端点移动的时候,把a[i]加入单调栈. 每弹栈一次,便在线段树上把对应 ...

  9. CRM 价格批导2<上一个太多冗余>

    INCLUDE:LCRM_MKTPL_COND_IFF39 *--------------------------------------------------------------------- ...

  10. 在Shell中使用alias

    以前在Linux跳机上登录其他服务器(ssh IP),为了方便,把很多服务器的IP和业务名称touch到了用户主目录下,这样方便了好多,每次ls -l 出来下就可以了,然后复制,粘贴就方便了.如下图. ...