itan:cookie-session简介
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简介相关推荐
- Cookie和Session简介与区别
1.Cookie和Session简介与区别 在非常多时候,我们需要跟踪浏览者在整个网站的活动,对他们身份进行自动或半自动的识别(也就是平时常说的网站登陆之类的功能),这时候,我们常采用Cookie与 ...
- Djiango django跨域 cookie session
一.django跨域问题 1.什么时跨域 通常情况下,A网页访问B服务器资源时,满足以下三个条件其一就是跨域访问 1. 协议不同 2. 端口不同 3. 主机不同 2.django解决跨域 安装djan ...
- 彻底理解cookie,session,localStorage(附代码)
2019独角兽企业重金招聘Python工程师标准>>> 1. cookie 1.1 什么是cookie cookie 是存储于访问者的计算机中的变量.每当同一台计算机通过浏览器请求某 ...
- 2、cookie session token详解
cookie session token详解 转自:http://www.cnblogs.com/moyand/ 发展史 1.很久很久以前,Web 基本上就是文档的浏览而已, 既然是浏览,作为服务器, ...
- 基于requests模块的cookie,session和线程池爬取
基于requests模块的cookie,session和线程池爬取 有些时候,我们在使用爬虫程序去爬取一些用户相关信息的数据(爬取张三"人人网"个人主页数据)时,如果使用之前req ...
- .net session 有效时间_Python中requests模拟登录的三种方式(携带cookie/session进行请求网站)...
这篇文章主要介绍了python中requests模拟登录的三种方式(携带cookie/session进行请求网站),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋 ...
- C# 系统应用之Cookie\Session基础知识及php读取Cookie\Session
本文主要是毕业设计"个人电脑使用记录清除软件"系列系统应用文章中关于Cookie方面的知识,主要从介绍Cookie的基础知识和PHP关于Cookie\Session两个会话管理机制 ...
- Cookie ,Session
会话技术 从打开一个浏览器访问某个站点,到关闭这个浏览器的整个过程,成为一次会话.会话技术就是记录这次会话中客户端态的状与数据的. 会话技术分为Cookie和Session: Cookie:数据存储在 ...
- 会话Cookie及session的关系(Cookie Session)
会话Cookie及session的关系(Cookie & Session) 在通常的使用中,我们只知道session信息是存放在服务器端,而cookie是存放在客户端.但服务器如何使用sess ...
- node --- [express] cookie/session 机制与 中间件的使用(路由守卫)
说明 源代码 记忆.遗忘回顾 使用 cookie/session 机制,让 客户端/服务器 的访问变得有状态 cookie 与 session 由于 HTTP 协议的无状态性,当一次连接断开后. 服务 ...
最新文章
- 口袋无人机DOBBY:我的“人脸识别”已上线
- esxi宿主机的本地存储-非活动
- 洛谷P1373 小a和uim之大逃离
- Kafka工作原理简要概述
- linux命令查看磁盘使用情况,linux查看磁盘使用情况命令
- java cache-control_详解浏览器Cache-Control缓存策略
- 助力飞鸽传书高效沟通
- PreparedStatement是如何防止SQL注入的?
- Ubuntu18.04安装微信(可用)
- 长安链chainmaker 修改共识方法
- 用Java实现一个视频聊天软件
- 【pygame】微信飞机大战
- 蚁群算法原理介绍,算法框架以及代码实现
- 大名鼎鼎的挖掘鸡最新版本6.5
- 转:李开复:打造领导力,我的九点思考
- 微信扫一扫下载apk解决方案
- 35岁程序员:被大厂裁员后,我赚到手的却是这样:
- Tomcat与JDK版本的对应
- ubuntu可爱的玩具:小猫咪 oneko
- java 阿里云接口实现发送短信验证码
热门文章
- ReactNative基础(四)了解ListView的使用、实现GridView效果、编写一个真实网络请求案例
- Latex常用符号表
- 获取淘宝/天猫购买到商品的订单详情——buyer_order_detail
- Excel PivotTable 使用心得手顺分享(五)
- Android 项目必备(五)--> Android Studio 制作 App 的 logo 图标
- 计算机网络共享名称乱码,电脑wifi名称显示乱码怎么回事
- 网络空间安全大赛简介
- 2022年中职网络空间安全国赛竞赛题解析仅代表自己的建议——2022年中职网络安全国赛竞赛试题2解析
- 数据库------绪论+关系数据库及其运算基础
- win下激活python虚拟环境及激活失败解决方案