您现在的位置是:首页 > 正文

cookie

2024-04-01 06:45:21阅读 4

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都是位于浏览器上
  • 都可以在浏览器上进行编辑,都不安全

网站文章

  • 魔兽正式服5区服务器互通信息,《魔兽世界》一区合并服务器正式通告

    为了迎接1.12版本中的跨服务器战场功能,并进一步提升服务器表现以满足用户的需求,我们将对现有服务器的架构进行调整,一区至五区的服务器将进行小规模的服务器合并操作。我们已经从今天凌晨5点开始,对一区的...

    2024-04-01 06:45:14
  • 15HD_OJ——Tian Ji -- The Horse Racing

    15HD_OJ——Tian Ji -- The Horse Racing

    /* * Copyright (c) 2014, 烟台大学计算机学院 * All rights reserved. * 文件名称:test.cpp * 作 者:李晓凯 * 完成日期:2015年 6 月 11 日 * 版 本 号:v1.0 * * 问题描述: * 输入描述: * 程序输出: */ Problem Descriptio

    2024-04-01 06:44:35
  • react 表格高度自适应

    使用calc()给元素的border、margin、pading、font-size和width等属性设置动态值。不过calc()最大的好处就是用在流体布局上,可以通过calc()计算得到元素的宽度。...

    2024-04-01 06:44:19
  • Array.prototype.at()

    Array.prototype.at()

    看到MDN上Array有一个新的函数,但还在实验中,并没有正式开放 实际上在chrome浏览器上new一个数组,也是存在这个函数的。 at的含义就是快速定位数组中的第几项。比如我们不知道一个数组的长度...

    2024-04-01 06:43:40
  • 码农行业的术语,为啥又多,又难懂?

    什么是鲁棒。 什么是Predicate 什么协变,什么逆变 什么注入,什么反向控制 什么内聚,什么响应式 而且,猴子,竖子都能立山头,自己发明,创造新概念,新名词。 同一个概念,不同的英文,不同的解释,然后,重复的学习。 这个行业,什么时候能被一统江湖。 转载于:https://www.cnblogs.com/maoyan/p/10460556.html...

    2024-04-01 06:43:32
  • JAVA语言身份证校验位的计算

    用于身份证号校验位的计算import java.util.Scanner;public class ID_card {public static void main(String[] args) { System.out.println("请输入需验证的身份证号码的前17位:"); Scanner scan=new Scanner(System.in); int a=0; int r...

    2024-04-01 06:43:25
  • Toolbar中Menu不显示

    在Activity中使用如下代码来引入toolbar: @Override public boolean onCreateOptionsMenu(Menu menu) { MenuInflater inflater = getMenuInflater(); inflater.inflate(R.menu.base_toolbar_menu,menu);

    2024-04-01 06:43:19
  • 生产企业原材料订购与运输的研究-数据处理课程设计

    生产企业原材料订购与运输的研究-数据处理课程设计

    生产企业原材料订购与运输的研究-数据处理课程设计

    2024-04-01 06:42:37
  • 字符串截取

    splice字符串截取,原数组不变 // 截取“周” 每周,6,09时45分59秒 let a = "每周,6,09时45分59秒" console.log(a.splice(1,...

    2024-04-01 06:42:30
  • CSP-J 2022 入门级 第一轮 完善程序(1) 第35-39题

    fac中的元素为:fac[0], fac[1], …, fac[fax.size()-1],接下来应该输出的是:n/fac[fax.size()-1], n/fac[fax.size()-2], …f...

    2024-04-01 06:42:23