关于Cookie要懂的知识

什么是Cookie?
http是一个无状态协议,它不对之前发生过的请求和响应的状态进行管理。这样就可能导致,我们登陆一个网站后,每次跳转新页面,之前的登陆状态都不能被记住,要重新登陆等问题。
因此,Cookie技术被引入了。
Cookie是存储在浏览器端的文本数据,单个大小不超过4kb。它通过在请求和响应数据中写入Cookie信息,对客户端的状态进行记录。
【Cookie机制的基本原理】
Cookie会根据从服务器端发送的响应报文内的一个叫Set-Cookie的首部字段信息,通知客户端保存Cookie。当客户端第二次访问该服务器时会自动的将该Cookie回传给服务器,来实现用户状态的跟踪。
Cookie的作用和特性?
利用cookie记录状态我们可以实现自动登录、显示近期访问、跟踪上次访问时间、身份验证等功能。
不过,这种状态记录不是永久的。我们有时候可能会发现,自己一直登陆状态开着网页,一段时间回来再想访问新页面,又回跳出登陆窗口。这是因为Cookie是有有效期的。
Cookie的有效期可分为会话性和持久性:
【会话性】Cookie仅会保存在客户端的内存中,关闭客户端时,cookie失效
【持久性】cookie会保存在用户的硬盘中,生存期结束或用户主动销毁时失效(我们可以认为设置cookie的有效时间)
Cookie和Session
Session机制也是用来解决http无状态的问题,可以识别用户。区别是:
Cookie数据存储在客户端浏览器上,而Session数据存储在服务器上,且通常需要Cookie机制来辅助实现。
类比一下:
你在理发店办了张卡。你的卡有个编号01,那理发店后台也会有一个对应的编号,对应你这个客户。这样下次你刷卡时,理发店一刷后台就能查到你是谁,卡里余额等信息啦~
这个场景里的“卡”就像Cookie,而理发店后台的编号可以理解为Session id,你卡的信息存在了理发店后台,这个机制就像Session。
Session数据存在服务器的优点在于,就是换了客户端,服务器记录的信息还是会存在的。比如我们加进购物车的商品,在不同客户端都能看到。
关于Cookie要懂的知识的更多相关文章
- WEB架构师成长之路-架构师都要懂哪些知识 转
Web架构师究竟都要学些什么?具备哪些能力呢?先网上查查架构师的大概的定义,参见架构师修炼之道这篇文章,写的还不错,再查查公司招聘Web架构师的要求. 总结起来大概有下面几点技能要求: 一. 架构师有 ...
- WEB架构师成长之路之三-架构师都要懂哪些知识
Web架构师究竟都要学些什么?具备哪些能力呢?先网上查查架构师的大概的定义,参见架构师修炼之道这篇文章,写的还不错,再查查公司招聘Web架构师的要求. 总结起来大概有下面几点技能要求: 一. 架构师有 ...
- 【一起来烧脑】读懂HTTP知识体系
背景 读懂HTTP很重要,参加过面试的小伙伴都很清楚,无论是技术面试面试题出得怎样,都有机会让你讲解一下HTTP,大部分都会问一下. 面试官:考考你网络协议的知识,TCP协议和UDP协议的区别,HTT ...
- 【一起来烧脑】读懂Promise知识体系
知识体系 Promise基础语法,如何处理错误,简单介绍异步函数 内容 错误处理的两种方式: reject('错误信息').then(null, message => {}) throw new ...
- cookie和session基础知识学习
一.session的简单使用 session是服务器端技术,服务器在运行时可以为每一个用户的浏览器创建一个独享的session对象.session的使用步骤: 获取session对象使用session ...
- C语言的预编译,程序员必须懂的知识!【预编译指令】【预编译过程】
由“源代码”到“可执行文件”的过程包括四个步骤:预编译.编译.汇编.链接.所以,首先就应该清楚的首要问题就是:预编译只是对程序的文本起作用,换句话说就是,预编译阶段仅仅对源代码的单词进行变换,而不是对 ...
- 【一起来烧脑】读懂WebApp知识体系
背景 很多小白知道什么是app,但是却不知道什么是webapp呢,webapp是指用HTML5编写的移动web应用 一个webapp可以在pc端,Android端,ios端进行运行 webapp开发的 ...
- 【一起来烧脑】读懂JQuery知识体系
背景 在现在就业的过程中,会运用JQuery是你的加分项,那么什么是JQuery,嗯,jquery是JavaScript的函数库,是一种轻量级的JavaScript库,写得少,做的多,导致jQuery ...
- 一文搞懂网络知识,IP、子网掩码、网关、DNS、端口号
网络的基本概念 客户端:应用 C/S(客户端/服务器) B/S(浏览器/服务器) 服务器:为客户端提供服务.数据.资源的机器 请求:客户端向服务器索取数据 响应:服务器对客户端请求作出反应,一般是返回 ...
- 该懂的知识-CPU
进程也好,线程也好,最后都是转换成CPU指令由CPU执行的,所有的CPU指令都需要执行时间,多一个CP,就能够同时执行很多指令.不论如何模拟,最终CPU指令都必须在某一个内核上执行. CPU的工作是不 ...
随机推荐
- wpf 使用了 template 了的 combobox 中,displaymemberpath 有 bug,仅在 popup 中生效
需求是:仅想改变combobox的默认样式,所以 template 是直接在属性窗口点击转化为本地值的. using System.Collections.Generic; using System. ...
- PyCharm 取消单词拼写检查
在使用PyCharm的时候,有时候变量不符合规范比如"old_pwd"写成了"oldpwd" ,在变量下就会出现波浪线,比较烦人 去除这个拼写检查的地方是:Fi ...
- redis面试题汇总
1redis持久化机制 redis是一个支持持久化的内存数据库,通过持久化机制把内存中的数据同步到硬盘文件来保证数据持久化,当redis重启后通过把硬盘文件重新加载到内存,就能达到恢复数据的目的 2缓 ...
- java学习问题
1.nacos Connection refused: connect 由于配置文件配置错误引起的.我的nacos是部署在另一台linux服务器的,yml具体配置如下:
- RabbitMQ和Erlang兼容对比
参考自 https://blog.csdn.net/qq_28169825/article/details/88294663 兼容对比官网链接 https://www.rabbitmq.com/whi ...
- MTS和MTO的差别
一.概念篇 MTS(Make-to-Stock): 按库存生产 可以独立创建计划.生产订单,可以如非限制使用的库存,并且发货等不受限制. 生产的成品或者半成品在系统中建有BOM,开工单生产后记入库存, ...
- 原来sed不支持非贪婪匹配
场景 从GISAID上面批量下载下来的序列id很长,格式如下: 太长了,并且makeblastdb的时候-parse_seqids参数会导致报错,大概是长度太长不符合要求无法处理之类的. 不作处理去掉 ...
- 什么是序列化?实体类为什么要实现序列化接口?实体类为什么要指定SerialversionUID?
首先我们说答案:实体类对象在保存在内存中的,而对于web应用程序而言,很多客户端会对服务器后台提交数据请求,如得到某种类型的商品,此时后台程序会从数据库中读取符合条件的记录,并它们打包成对象的集合,再 ...
- CMake指定的任务可执行文件"cmd.exe" 未能运行。System.IO.IOException:未能创建临时文件。临时文件夹已满或其路径不正确。对路径"......exec.cmd "的访问被拒绝
我觉得是我使用VS2022的原因,网上也没有找到相同的问题.
- v-imgerror作用:当图片链接无效的时候,显示默认图片内容
// 回顾自定义指令 // 作用: 自定义一些对DOM的操作快捷指令 // 前提: 指令就是用来操作DOM (v-if/v-show/v-for....) // 语法: Vue.directive(指 ...