1.会话

用户打开一个浏览器,点击很多超链接,访问多个web资源,关闭浏览器的过程称为会话。
有状态会话:一个同学来过教室,下次再来,我们知道这个同学曾经来过,称之为有状态会话。例如直播网站等会记住你的登陆状态。
现实中证明身份:带上你的学生证;学校登记你来过;
那么服务端如何知道客户端来过?

  • 服务端给客户端一个信件,客户端下次访问服务端带上信件就好,cookie
  • 服务器登记你来过了,下次你来的时候我来匹配你,seesion

2.保存会话的两种技术

  • 实现Cookie(开发中用不到):
    客户端技术(使用响应对象去分发,请求对象去携带提供)
  • 实现Session:
    服务器技术,利用这个技术,可以保存用户的会话信息。我们可以把信息或者数据放在session中。

3.细节

  • 一个cookie只能保存一个信息;
  • 一个cookie大小限制是4kb;
  • 一个web站点可以给浏览器发送多个cookie,每个站点最多20个;
  • 一个浏览器的cookie上限是300个;
  • 不设置有效期,关闭浏览器,自动失效;或创建一个新的同名cookie,将其有效期设置为0,进行提交,就会立马失效;
  • 如何传中文字符串,可能会有乱码问题,使用URLEncoder.encode(“中文”,”utf-8”)方法对value进行编码设置,接收到之后使用URLDecoder.decode(cookie.getValue(),”utf-8”)进行解码;也可以使用String()的重载方法,String(s,charset)进行编码方式的指定。

4.Session(重点)

什么是session?

  • 服务器会给每一个用户(浏览器)创建一个session对象;
  • 一个session独占一个浏览器对象,只要浏览器没关闭,这个session就一直存在于服务器上,不管开多少个页面,都是同一个ID的session;
  • 用户登录之后,整个网站的其他页面都可以访问这个session;
  • 可以手动invalidate注销session,也可以在web.xml中配置来设置自动注销时间。一般两者都用,重要信息手动注销,其他的不重要信息可以设置几个小时的有效期。
    Session和cookie的区别:
  • Cookie是把用户的数据写给用户的浏览器,浏览器保存(可以保存多个)
  • Session是把用户的数据写到用户独占的session中,服务器端保存(保存重要信息,减少服务器资源浪费)
  • Session对象由服务器创建并保持,将ID发送给客户端,客户端发送request时携带ID;
  • Cookie对象由服务器创建后将整个cookie发送给客户端,请求时携带;
  • Cookie的构造方法参数是(String,String),只能存放两个字符串;
  • Session可以存放对象;
    使用场景:
  • 一般就用来保存用户信息、购物车的信息;
  • 整个网站中经常使用的数据,保存在session中,去取就ok;

简单原理图示

itan:cookie-session简介相关推荐

  1. Cookie和Session简介与区别

    1.Cookie和Session简介与区别 在非常多时候,我们需要跟踪浏览者在整个网站的活动,对他们身份进行自动或半自动的识别(也就是平时常说的网站登陆之类的功能),这时候,我们常采用Cookie与 ...

  2. Djiango django跨域 cookie session

    一.django跨域问题 1.什么时跨域 通常情况下,A网页访问B服务器资源时,满足以下三个条件其一就是跨域访问 1. 协议不同 2. 端口不同 3. 主机不同 2.django解决跨域 安装djan ...

  3. 彻底理解cookie,session,localStorage(附代码)

    2019独角兽企业重金招聘Python工程师标准>>> 1. cookie 1.1 什么是cookie cookie 是存储于访问者的计算机中的变量.每当同一台计算机通过浏览器请求某 ...

  4. 2、cookie session token详解

    cookie session token详解 转自:http://www.cnblogs.com/moyand/ 发展史 1.很久很久以前,Web 基本上就是文档的浏览而已, 既然是浏览,作为服务器, ...

  5. 基于requests模块的cookie,session和线程池爬取

    基于requests模块的cookie,session和线程池爬取 有些时候,我们在使用爬虫程序去爬取一些用户相关信息的数据(爬取张三"人人网"个人主页数据)时,如果使用之前req ...

  6. .net session 有效时间_Python中requests模拟登录的三种方式(携带cookie/session进行请求网站)...

    这篇文章主要介绍了python中requests模拟登录的三种方式(携带cookie/session进行请求网站),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋 ...

  7. C# 系统应用之Cookie\Session基础知识及php读取Cookie\Session

    本文主要是毕业设计"个人电脑使用记录清除软件"系列系统应用文章中关于Cookie方面的知识,主要从介绍Cookie的基础知识和PHP关于Cookie\Session两个会话管理机制 ...

  8. Cookie ,Session

    会话技术 从打开一个浏览器访问某个站点,到关闭这个浏览器的整个过程,成为一次会话.会话技术就是记录这次会话中客户端态的状与数据的. 会话技术分为Cookie和Session: Cookie:数据存储在 ...

  9. 会话Cookie及session的关系(Cookie Session)

    会话Cookie及session的关系(Cookie & Session) 在通常的使用中,我们只知道session信息是存放在服务器端,而cookie是存放在客户端.但服务器如何使用sess ...

  10. node --- [express] cookie/session 机制与 中间件的使用(路由守卫)

    说明 源代码 记忆.遗忘回顾 使用 cookie/session 机制,让 客户端/服务器 的访问变得有状态 cookie 与 session 由于 HTTP 协议的无状态性,当一次连接断开后. 服务 ...

最新文章

  1. 口袋无人机DOBBY:我的“人脸识别”已上线
  2. esxi宿主机的本地存储-非活动
  3. 洛谷P1373 小a和uim之大逃离
  4. Kafka工作原理简要概述
  5. linux命令查看磁盘使用情况,linux查看磁盘使用情况命令
  6. java cache-control_详解浏览器Cache-Control缓存策略
  7. 助力飞鸽传书高效沟通
  8. PreparedStatement是如何防止SQL注入的?
  9. Ubuntu18.04安装微信(可用)
  10. 长安链chainmaker 修改共识方法
  11. 用Java实现一个视频聊天软件
  12. 【pygame】微信飞机大战
  13. 蚁群算法原理介绍,算法框架以及代码实现
  14. 大名鼎鼎的挖掘鸡最新版本6.5
  15. 转:李开复:打造领导力,我的九点思考
  16. 微信扫一扫下载apk解决方案
  17. 35岁程序员:被大厂裁员后,我赚到手的却是这样:
  18. Tomcat与JDK版本的对应
  19. ubuntu可爱的玩具:小猫咪 oneko
  20. java 阿里云接口实现发送短信验证码

热门文章

  1. ReactNative基础(四)了解ListView的使用、实现GridView效果、编写一个真实网络请求案例
  2. Latex常用符号表
  3. 获取淘宝/天猫购买到商品的订单详情——buyer_order_detail
  4. Excel PivotTable 使用心得手顺分享(五)
  5. Android 项目必备(五)--> Android Studio 制作 App 的 logo 图标
  6. 计算机网络共享名称乱码,电脑wifi名称显示乱码怎么回事
  7. 网络空间安全大赛简介
  8. 2022年中职网络空间安全国赛竞赛题解析仅代表自己的建议——2022年中职网络安全国赛竞赛试题2解析
  9. 数据库------绪论+关系数据库及其运算基础
  10. win下激活python虚拟环境及激活失败解决方案