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. 在远程连接一个 Wndows 10的情况下,重启远程机器

    如果你从菜单找的话,是找不到这个菜单的!!! 你应该直接按 alt + F4 , 就会出现这个选项了. 参考: https://tommynation.com/shut-windows-10-remo ...

  2. Spring Boot入门第五天:使用JSP

    原文链接 1.在pom.xml文件中添加依赖: <!-- Servlet依赖 --> <dependency> <groupId>javax.servlet< ...

  3. [jQuery] 通过ajax保存到服务器,成功显示信息.

    保存数据到服务器,成功时显示信息. jQuery 代码: $.ajax({ type: "POST", url: "some.php", data: " ...

  4. Python如何发布程序

    https://blog.csdn.net/wem603947175/article/details/81589729

  5. Cisco 设备设置监控口

    > enable                 # 从用户模式进入特权模式# show ip int bri     # 查看当前所有端口状态 # conf t                ...

  6. 用ActionController::Renderer的render方法渲染模版

    使用Cable进行pub: ActionCable.server.broadcast "call", {address: AddressesController.render(@a ...

  7. const typedef 和指针的问题(这里必须初始化的才初始化了,不必须的则没有初始化)

    这里很容易搞混: tyepdef double dou;//这里是dou是double的别名 #include<iostream> using namespace std; int mai ...

  8. 字符串加密解密(Base64)

    var Base64 = { // private property _keyStr: "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwx ...

  9. SQL 经典回顾:JOIN 表连接操作不完全指南

    ​   2017-02-23 小峰 ITPUB 点击上方“蓝字”可以关注我们哦  |转载自:码农网 |原文链接:www.codeceo.com/article/sql-join-guide.html ...

  10. ASP.NET 后台页面无法识别服务器控件ID

    在学习asp.net 的时候 发现有个页面服务器控件无法识别,提示未知元素 解决方法 将不能识别服务器控件ID 的后台文件 类名改写,重新生成一次. 然后再改回来就可以了.