cookie
关于对应的计算机的一些基础课程
-
数据结构
-
逻辑结构
-
存储结构(数组、字符串、栈、队列、图、hash、树、链表)
-
算法(递归算法(BFS 广度优先查找)、DFS 深度优先查找、动态规划 DP、贪心算法(马拉车算法)、排序算法…)
-
操作系统(系统相关的操作):
windows 、 linux (指令 服务器部署) 、 mac
-
计算机组成原理
冯诺依曼 (cpu 内存条 硬盘 ( 显卡))
-
计算机网络
网络的构成及相关的协议
计算机网络
概述:
将不同的计算机通过网络应用使用对应的传输介质进行传输
关键名词:
网络应用 (校园网拨号、宽带连接)
传输介质(网线、wifi)
网络协议及其构成:
概述:
物理层、数据链路层、网络层、传输层、会话层、表示层、应用层
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-7sSptnzf-1667612611831)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20221017140955462.png)]
TCP和UDP
TCP使用对应的连接进行通信,也就是说对应的通信设备一定要建立连接。(外卖配送 )
UDP采用丢包的形式进行通信。就是说对哦硬的服务端只需要将对应的数据报包发送就好了,客户端需要就去获取对应的数据包。(菜鸟驿站)
应用层的相关协议
- FTP 文件传输协议
- TFTP 简单的文件传输协议
- SNMP 邮件传输协议
- HTTP 超文本传输协议(基于TCP/UDP)
- HTTPS 安全的超文本传输协议(基于TCP/UDP)
- P2P 金融传输协议
- NFS 蓝牙传输协议
- DNS 域名传输协议
- …
HTTP和HTTPS
HTTP采用明文传输(不安全 能被获取、篡改)
HTTPS采用密文传输(使用openssl进行加密, 里面有对称加密、非对称加密、CA证书)
后端和前端建立连接的根本是网络传输协议(HTTP和HTTPS)
后端和前端
-
后端是提供对应的业务操作(提供数据)
-
前端是提供对应的页面渲染操作
HTTP的几大特性:
- 无状态(没有状态)
- 无连接
发送完数据建立完连接就会马上断掉。连接不能保持(每次连接完毕,连接就会马上断掉)。
- 长连接/短连接
解决HTTP的无状态问题
因为对应的http的无状态问题导致我们可能进行某项操作的时候,对应的后端不能准确区分对应的访问者,这个时候我们就需要给每个对应的连接添加一个标识(sessionID)。**sessionID需要每次携带过去,可以用cookie存放这个sessionID。**每次请求都要带上cookie才能区分对应的访问者。解决http的无状态问题就是通过发送对应的cookie来解决的,这个cookie里面存放一个sessionID来用于区分。cookie是存放在浏览器上的。
Cookie
概述:
cookie是为了解决http的无状态问题产生的(cookie里面存储sessionID的方式来解决http的无状态问题),cookie是存放在浏览器上的。
特性:
- 存储在浏览器上
- cookie的存储大小一般是4k左右
- cookie会随着请求发送
- cookie跨域设置domain跨域
- cookie可以设置过期时间(默认过期时间为session,关闭浏览器就销毁)
- cookie可以被篡改和伪造,不安全
- cookie存储的数据类型只能是字符串(不能存储复杂的字符串)
cookie存储格式
key = value;expires=日期;path=地址;domain=域名;secure安全
-
key = value键值对象
-
expires 过期时间设置
-
path 在对应的路径下才携带cookie
-
domain 跨域的玉米办法
-
secure安全(写了就是安全,没写就是不安全)
cookie相关操作
- 增
var date = new Date(2022,10,22);
document.cookie = `name=jack;expires=${date}`
- 删(设置对应的过期时间)
// 删除操作 就是设置过期时间为对应的当前时间,并不会马上删除,而是对应的浏览器关闭以后删除
// 如果当前时间已经过了 那么对应的cookie还是会存在
var date = new Date();
document.cookie = `name=jack;expires=${date}`;
- 改(给对应的cookie里面的存在的key进行重新赋值)
// 修改就对于已经有的key进行重新赋值操作
// 如果没有设置过期时间,那么默认的过期时间是session session的过期时间是浏览器关闭就清楚
document.cookie = 'name=rose';
- 查(不赋值直接读取对应的cookie)
// 查询cookie 不赋值就是查询 显示的时候只会显示对应的key=value 其他并不会显示
console.log(document.cookie);
第三方封装的cookie
cookie.js(Vue里面采用了)
1.下载(js文件)
2.打开官网(看对应的demo)
核心方法
- set 设置方法
- get 获取方法
- remove 删除方法
JSON格式
概述:
json是一种数据传输的格式,能跨平台、跨语言
json格式的表示形式
对象 {}
var json = {}
数组 []
var json = []
json文件里面的key必须是字符串,字符串必须用双引号括起来
JSON的序列化和反序列化
序列化:就是将一个对象转为对应的json格式的字符串 JSON.stringify( )
//JSON.stringify() //转为json格式的字符串
var jsonStr = JSON.stringify(obj)
console.log(jsonStr);
反序列化:将一个json格式字符串转为对应的对象 JSON.parse( )
//JSON.parse() //将json格式的字符串转换对应对象
var obj = JSON.parse(jsonStr)
console.log(obj);
本地缓存
localStorage 本地缓存(持久化存在)
方法:
- setItem 设置元素
- getItem 通过key来获取对应的元素值
- removeItem 通过key来移出对应的元素
特点:
- 持久化存储
- 不会随着请求发送
- 存储在浏览器上(也可以篡改和伪造)
- 存储大小一般为5M
sessionStorage 本地缓存(存储对应的服务器发送过来的数据登录的用户信息)
方法:
- setItem 设置元素
- getItem 通过key来获取对应的元素值
- removeItem 通过key来移出对应的元素
特点:
-
过期时间跟session一致(浏览器关闭就销毁)
-
不会随着请求发送
-
存储在浏览器上
localStorage 和sessionStorage 区别:
- localStorage 会持久化存在
- sessionStorage 浏览器关闭就销毁
- localStorage(作为客户端缓存) 和 sessionStorage (服务端缓存)存储地址不一样
localStorage 和cookie区别:
- localStorage 存储大小为5M左右,cookie只有4k左右
- cookie会随着请求发送,localStorage不会
- cookie中存储的数据对应的类型较少(图片的base码),localStorage数据格式没有cookie严格
- cookie可以跨域,localStorage不可以
- cookie可以设置失效时间,localStorage需要手动删除(不删除会一直在)
- cookie和对应的localStorage存储位置不一样
localStorage 、sessionStorage、cookie共同点:
- localStorage和cookie都是存放对应的字符串(如果不是字符串,就会自动调用toString方法转为字符串再进行存储)
- localStorage和cookie都是位于浏览器上
- 都可以在浏览器上进行编辑,都不安全
okie可以跨域,localStorage不可以 - cookie可以设置失效时间,localStorage需要手动删除(不删除会一直在)
- cookie和对应的localStorage存储位置不一样
localStorage 、sessionStorage、cookie共同点:
- localStorage和cookie都是存放对应的字符串(如果不是字符串,就会自动调用toString方法转为字符串再进行存储)
- localStorage和cookie都是位于浏览器上
- 都可以在浏览器上进行编辑,都不安全