位置: IT常识 - 正文

Cookie会话跟踪技术(cookie 会话)

编辑:rootadmin
cookie是什么 cookie 也叫 HTTPCookie,是客户端与服务器端进行会话(session)使用的一个能够在浏览器本地化存储的技术。 cookie就是为了存储 sessionID而诞生. cookie的特性,会随着请求自动携带cookie的值到服务器 cookie的作用 cookie的 ... cookie是什么

推荐整理分享Cookie会话跟踪技术(cookie 会话),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:cookie可以用来跟踪用户的浏览行为,cookie会话的值存储在哪里,cookie会话保持的几种模式,cookie 会话,cookie会话保持的几种模式,cookie会话的值存储在哪里,cookie是最常用的跟踪用户会话的方式,cookie 跟踪,内容如对您有帮助,希望把文章链接给更多的朋友!

cookie 也叫 HTTPCookie,是客户端与服务器端进行会话(session)使用的一个能够在浏览器本地化存储的技术。 cookie就是为了存储 sessionID而诞生. cookie的特性,会随着请求自动携带cookie的值到服务器

cookie的作用Cookie会话跟踪技术(cookie 会话)

cookie的作用主要是在浏览器存储少量数据, 利用cookie我们可以实现一些保存数据的功能. 比如: 1, 用户登录的记住密码功能(下次再访问网站时无需输入密码了); 2, 购物车,加入购物车的商品没有及时付款,使用cookie保存后, 可以在一定时间后再访问网站, 会发现购物车里还有之前的商品列表; 3.存储一些小的数据 4k

网络构成图

网络构成分为七层 最底层的物理层 数据链路层(底层维护 需要硬件支持),网络层(基于网络协议白皮书书写网络协议),传输层(网络传输的支持 tcp(直连)和udp(丢包)) 应用层相关协议(对应应用支持的协议 http网络传输协议 ftp文件传输协议 SNMP邮件传输协议)

http和https

http,https 都是网络传输协议 是用于网络相关传输,http走的是明文传输,https走的密文传输(内部采用对称加密以及非对称加密)。对应的https安全性要高于http。https为什么会采用加密,因为他底层采用了openSSL。(open表示开源)

http的特性

无状态 (服务器不知道是谁访问的我)

无连接 (不会建立完整的连接 访问一过去 数据一返回连接就断了)

长连接 (连接可以建立长时间)

短连接 (连接对应的内容很短)

问题

由于http是无状态的!那么对应的我们在实现某些功能的时候就会出现对应的问题.比如a用户登录了 b用户也登录了,a用户可能拿到b用户的页面,b用户可以拿到a用户的页面。这个时候我们就出现问题了。

问题的解决

根据上面的问题我们可以得出对应的a可能会拿到b的内容,原因是因为对应的服务器无法区分a和b,如果我在a的访问的时候给一个唯一的标识,在b的访问的时候给一个唯一的标识,那么我是否可以区分a和b。所以对应的解决方案就是a和b拥有不一样的标识,而这个标识是在建立连接的时候。这个标识叫做sessionId。也就意味这个每个请求去建立连接都会获得一个sessionId。(sessionID服务端给的)。如果对应的sessionID是存储于服务端的话,那么服务端就会越来越大从影响对应的效率,所以我们诞生了一个内容来保存这个值到对应浏览器端,这个东西就是cookie。所以cookie的诞生就是为了保存sessionID,从而解决http无状态的问题。

cookie概述

cookie存在于浏览器端

cookie为了保存sessionID出现的

cookie的出现解决了http无状态的问题  

特性cookie是不安全的cookie是可以被篡改和伪造的cookie他是以字符串存储的(单一),有很多的数据类型是不支持的(二进制图片,二进制的视频,base64码的视频等等)cookie他的大小不能超过4kb(大小只有4kb 容量小)cookie会随请求发送cookie可以跨域(domain来设置)cookie的访问//document.cookieconsole.log(document.cookie)cookie的完整格式name=value;[expires=date];[path=路径];[domain=域名];[secure]

name随便定value随便定(存的key和value)

document.cookie = 'username=jack'

expires 过期时间设置 (如果没有设置 跟sessionID的过期时间一致 连接一断就没有了)

var date = new Date(2022,7,9,16,20)document.cookie = 'username=jack;expires='+date

path 只有是这个路径以下的url才携带这个cookie

document.cookie = 'username=jack;expires='+date+';path=http://www.baidu.com'

domain 跨域设置 在这个域名下实现了跨域的功能

document.cookie = 'username=jack;expires='+date+';path=http://www.baidu.com;domain=www.baidu.com'

secure 安全 只有当前访问协议是https的时候才会携带

document.cookie = 'username=jack;expires='+date+';path=http://www.baidu.com;domain=www.baidu.com;secure'cookie的相关操作(增删改查的功能)cookie的封装//主要是封装的cookie的增删改查的方法//根据key来获取cookie里面的元素// password=123456; username=123456function getItem(key){ var str = document.cookie //对于这个字符串进行切割 var splitArr = str.split(';') //[password=123456,username=123456] var cookieObject = {} //遍历这个数组 for(var splitStr of splitArr){//password=123456 var keyValueArr = splitStr.split('=') cookieObject[keyValueArr[0].trim()] = decodeURIComponent(keyValueArr[1]) } return cookieObject[key]}//设置cookie及里面的元素function setItem(key,value,expires,path,domain,secure){ //如果没有key获取没有value 直接报错 if(!key || (!value && value!='')){ //抛出错误 后面的代码将不会执行 throw new Error('参数错误') } document.cookie = `${key}=${encodeURIComponent(value)}` if(expires){//如果有过期时间拼接 document.cookie += `;expires=${expires}` } if(path){//如果有路径拼接 document.cookie += `;path=${path}` } if(domain){//如果有domain拼接 document.cookie += `;domain=${domain}` } if(secure){//如果有secure拼接 document.cookie += `;${secure}` }}//根据key来删除对应的cookiefunction removeItem(key){ if(getItem(key) || getItem(key)==''){ setItem(key,'',new Date()) }else{ console.error('当前的key值不存在') }}cookie.js(第三方的js)Cookies.remove('username')Cookies.get('username')Cookies.set('username','jack',{expires:10}) //设置一个username 10天以后过期encodeURIComponent 转码console.log(encodeURIComponent('{abdejde152}'));decodeURIComponent 解码var str = encodeURIComponent('{abdejde152}') //进行编码console.log(decodeURIComponent(str));//解码
本文链接地址:https://www.jiuchutong.com/zhishi/312045.html 转载请保留说明!

上一篇:python 下载 国内(python国内下载地址)

下一篇:Discuz!X系列网站更换域名的设置以及修改方法(discuzcms)

  • 增值税发票管理办法及细则
  • 稿酬所得个人所得税税率表
  • 用友软件80端口被占用解决方法
  • 递延所得税资产是什么类科目
  • 弱电系统多少钱
  • 会计科目已受控于应收应付系统
  • 货物和运费一起开票怎么开
  • 单位和职工个人缴费基数如何确定的规定
  • 车辆保险费发票的会计分录
  • 会计发票怎么样粘贴,记账凭证也要粘上吗
  • 捐赠利得会计分录
  • 销售商品发生的运费计入什么科目
  • 我的初级备考经验--跟老师节奏走
  • 购买工程款计入什么科目
  • 出口退税代理费用大概多少
  • 期末余额全部转出的有哪些
  • 应付账款不付处理分录如何写?
  • 餐饮公司收到的拍摄服务票做什么费用
  • 发票上有个含税金额什么意思?
  • 10个点的发票税点开6个点专票
  • 个体户一般纳税人和小规模的区别
  • 代扣代缴的增值税
  • 建筑服务可以差额征收吗
  • 小规模纳税人可以开9%专票吗
  • 有没有薪酬
  • 专项应付款增加记哪方
  • 建筑工程公司需要注册商标吗
  • 代扣代缴增值税可以抵扣进项税?
  • 境外投资亏损是否可以抵减境内盈利
  • 公司员工差旅费报销制度
  • 税金的分录
  • mac设置定时任务
  • 捐赠固定资产入账价值
  • win7如何调出浏览器
  • php 静态
  • 免抵退税怎么做账
  • 滴水观音的养殖方法选好浇水
  • 豹七三七粉的价格
  • thinkphp框架介绍
  • 个税申报系统操作指南
  • 自动驾驶感知算法
  • 劳务费支出计入什么会计科目
  • 售后租回交易的第二年利息怎么算
  • 季度企业所得税会计分录怎么做
  • 当月注销外管证个税账户也会注销吗
  • mongodb import
  • 税控盘的服务费可以抵扣吗
  • sqlyog配置
  • 在mysql中设置事务保存点
  • 背书的银行承兑汇票怎么做账
  • 企业分期收款销售商品,即商品已经交付
  • 食堂菜金属于什么费用
  • 实收资本可以以现金入账吗
  • 建筑安装工程承包合同条例还有效吗
  • 公司报销发票需要查验真假吗
  • 超市的商品品种繁多琳琅满目
  • 水利建设基金筹集和使用管理办法
  • sql中出现将截断字符串或二进制
  • win10自带的音乐播放器groove如何设置
  • XP系统连接VPN提示错误633:调制解调器已在使用的解决方法图文教程
  • 使用http_load来给Linux系统的服务器做压力测试
  • linux常用帮助命令
  • 最小化安装centos7怎么装图形界面
  • igfxem是什么软件
  • win8自带截图
  • win7系统升级win10教程
  • w8系统文件夹怎么设置密码
  • windows如何编辑内容
  • cocos2djs
  • js字符串转为json
  • unity做app
  • unity网络请求
  • JavaScript ParseFloat()方法
  • 河南城乡居民医疗保险缴费怎么交
  • 江苏小孩医保网上缴费
  • 卷票真伪查询系统国税
  • 陕西办事app
  • 西安国家税务局丁雁现任命职务
  • 丰台和朝阳中间是哪里
  • 汽车购置税与消费税
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设