1.JSON是什么:
JSON (JavaScript Object Notation, JS 对象标记) 是一种轻量级的数据交换格式
JSON有两种格式:
(1)对象格式:{"key1":obj,"key2":obj,"key3":obj...}
(2)数组/集合格式:[obj,obj,obj...]
一般是用key和value进行数据传发
2.浏览器缓存
浏览器的缓存机制也就是我们说的HTTP缓存机制,其机制是根据HTTP报文的缓存标识进行的
缓存过程: 浏览器发起HTTP请求 – 服务器响应该请求。浏览器第一次向服务器发起该请求后拿到请求结果,会根据响应报文中HTTP头的缓存标识,决定是否缓存结果,是则将请求结果和缓存标识存入浏览器缓存中
规则:
1、浏览器每次发起请求,都会先在浏览器缓存中查找该请求的结果以及缓存标识
2、浏览器每次拿到返回的请求结果都会将该结果和缓存标识存入浏览器缓存中
向服务器重新发起HTTP请求将缓存过程分为两个部分,
1.强制缓存
强制缓存就是向浏览器缓存查找该请求结果,并根据该结果的缓存规则来决定是否使用该缓存结果的过程
2.协商缓存:强制缓存失效的时候根据规则向浏览器发送请求
请求将缓存过程的缓存规则:
(1)先访问浏览器内存,发现不存在该缓存结果和缓存标识,强制缓存失效,则直接向服务器发起请求
(2)访问浏览器内存,发现存在该缓存结果和缓存标识,但是标识失效了,则强制缓存失效,使用协商缓存,
(3)访问浏览器内存,发现存在该缓存结果和缓存标识,并且没有失效,直接返回该结果
缓存规则实质:当浏览器向服务器发送请求的时候,服务器会将缓存规则放入HTTP响应的报文的HTTP头中和请求结果一起返回给浏览器,控制强制缓存的字段分别是Expires和Cache-Control,其中Cache-Conctrol的优先级比Expires高。
更多内容: https://www.mwcxs.top/page/565.html (来源)
3.数据定义Cont对简单数据类型不可修改,复杂数据类型可以修改
4.Cookie是什么,作用是什么
- cookie 常用于识别用户。cookie 是一种服务器留在用户计算机上的小文件(纯文本),基于cookie的验证是有状态的
- 支持:Cookie 文件必须由浏览器的支持,在浏览器中可以设置阻止cookie
- 出现原因: HTTP是一种无状态的协议,为了分辨链接是谁发起的,同一个人多次访问一个页面的时候,是否需要重新验证访问身份需自己去解决这个问题,Session和Cookie就是为解决这个问题而提出来的两个机制
- 主要内容:名字,值,过期时间,路径和域。
- 查找:要向找到cookies,只需要打开电脑上的资源管理器,在搜索框中搜索cookie即可。
- 类型1:cookie包含两种类型,一种是保存在内存中的cookie。这种一般是服务端没有设置生存周期,这种cookie只在当前会话中有效,关掉浏览器窗口后cookie就立即失效。
- 类型2: 一种是保存在本地客户端的cookie,这种一般是服务器设置了cookie的生存周期maxage为正数,不管你关掉窗口还是重新打开浏览器,还是重启机器,只要cookie不失效,那么访问此网站时,浏览器就会找对应的webapplication的cookies
- 安全问题: cookie劫持:如果用户的 Cookie 被劫持了,盗用者是可以用这个 Cookie 来伪装成该用户来进行网站操作的
- 安全防范:
- 不放重要数据,重要数据放Session。我们已经知道 Cookie 不安全了,就不要作死非把重要数据放在 Cookie 里了
- Cookie 数据加签名。对 Cookie 数据添加签名,这样 Cookie 如果被篡改了,服务端使用的时候通过校验签名就能发现了。
- Cookie数据加密。加密后数据就很难篡改了,但是加解密过程会带来性能损耗,这个就要进行衡量了。
- 开启 Cookie 的 httponly 参数,让 Cookie 只能在网络请求中被传输,避免js操作和获取 Cookie
利用:链接:https://www.jianshu.com/p/e78cd310b360
- session因为请求(request对象)而产生;
- session是一个容器,可以存放会话过程中的任何对象;
- session的创建与使用总是在服务端,浏览器从来都没有得到过session对象;
- session是一种http存储机制,目的是为武装的http提供持久机制。
- cookie数据存放在客户端上,session数据放在服务器上;
- cookie不是很安全,且保存数据有限;
- session一定时间内保存在服务器上,当访问增多,占用服务器性能。
- 组成:令牌,是用户身份的验证方式。最简单的token组成:uid(用户唯一的身份标识)、time(当前时间的时间戳)、sign(签名)。
- 作用:提供的是 认证 和 授权 ,认证是针对用户,授权是针对App 。其目的是让 某App有权利访问 某用户 的信息。
- 一个Token就是一些信息的集合;
- 在Token中包含足够多的信息,以便在后续请求中减少查询数据库的几率;
- 服务端需要对cookie和HTTP Authrorization Header进行Token信息的检查;
- 基于上一点,你可以用一套token认证代码来面对浏览器类客户端和非浏览器类客户端;
- 因为token是被签名的,所以我们可以认为一个可以解码认证通过的token是由我们系统发放的,其中带的信息是合法有效的;
原文链接:https://blog.csdn.net/qq_37939251/article/details/83511451