其他分享
首页 > 其他分享> > 本地化存储

本地化存储

作者:互联网

一、cookie

为什么有cookie?

http 上下文无关,无状态协议
set-cookie 服务器设置,前端无法设置
现象:
登录百度,但是百度知道,百度贴吧都顺便登录:Application下Domain决定的
cookie性质:
1、cookie不可跨域
2、cookie存储在浏览器里面,同一个浏览器下的不同页面能互相访问;不同浏览器同一个域名下不能访问
3、cookie有数量与大小的限制
1、数量在50个左右
2、大小在4kb左右
4、cookie的存储时间非常灵活
5、cookie不光可以服务器设置,客户端(前端)也可以设置

前端设置cookie:document.cookie
格式:key:value

document.cookie = 'name=kaivon';
document.cookie = 'name=kaivon; age=18';//document.cookie只能设置一次cookie,这次设置是错的

cookie的属性
1、name   cookie的名字,唯一性
2、value cookie的值
3、domain  设置cookie在哪个域下是有效的
4、path   cookie的路径

//cookie属性:只能在规定的url下使用
document.cookie = 'color=red; domain=127.0.0.2; path=/docs';//路径随意填
访问怎么访问呢?
把路径改成http://127.0.0.1:5500/docs就有color属性了

5、expires  cookie的过期时间  时间点。如果不设置,默认浏览器关闭时候删除(expires:session)
(会话期cookie)
要求的日期格式GMT

console.log(new Date());
document.cookie = 'margin=20; expires=' + new Date(2008, 1, 1);//2月1号,月份从0开始
因为2008已经过去,导致margin过期,消失
注意:expires取得是客户端电脑的时间

6、max-age  cookie的有效期  秒为单位的时间段
-1(临时cookies) 0(马上要挂了) 正数(有效)

//document.cookie='padding=30; max-age=1';1s over
document.cookie = 'padding=30; max-age=5';

之前是写,现在我想查看一下cookies

setTimeout(function () {
  console.log(document.cookie);
}, 4000);

7、HttpOnly 有这个标记的cookie,前端是无法获取的
8、Secure  设置cookie只能有过https协议传输
9、SameSite 设置cookie在跨域请求的时候不能被发送

二、localstorage

H5提供了Web Storage(和cookie一样,不能跨域)
**5Mb **
与http无关
保存用户偏好设置,表单历史输入,购物车都是localStorage
web strorage提供了两个对象:
**localStorage不会过期   **
sessionStorage会过期(会话)

console.dir(Storage);
console.log(localStorage, sessionStorage);//继承Storage上的属性和方法

**            1、length   本地存储数据的数量**
**            2、key()    通过索引找到存储的数据**
**            3、getItem()    通过键名取到本地存储的数据**
**            4、setItem()    设置一个本地存储数据**
**            5、removeItem() 删除一个本地存储数据**
**            6、clear()      清空本地存储数据**

console.log(localStorage.length);

localStorage.setItem('name', 'kaivon');
localStorage.setItem('age', '18');
//存储对象
var color = ["red", "green"];   //"red", "green"
var color = { "c1": "red", "c2": "green" }  //[object Object]
localStorage.setItem('color', JSON.stringify(color));
console.log(JSON.parse(localStorage.getItem('color')));

localStorage.removeItem('color');//删除属性
//localStorage.clear();完全清空

删除localStroage的其他方法:浏览器无痕模式

三、Restful API

<ul>
  {dede:arclist typeid="1" row="6"}
  <li>[field:title function="cn_substr(@me, 63)" /]</li>
  {/dede:arclist}
</ul>

dede cms

Restful API是一种互联网软件架构的设计规范、设计指南、设计风格、设计原则

1、API   Application Programming Interface       应用程序接口(接口)
**2、Rest  Resource Representational State Transfer    **
apache
(1)Resource
资源
URI:统一资源标识符。是一个字符串。用来标识互联网资源的名称
URL:统一资源定位符。它是一种具体的URI
(2)Representational
表现层
文本  text\html\xml\json\二进制
(3)State Transfer
状态转化

Restful API具体设计规范

1、协议
**     HTTPS**
2、域名
**             **https://api.kaivon.com

**             **https://www.kaivon.com/api/

3、版本
**             **https://api.kaivon.com/v1

4、路径
**             **https://api.kaivon.com/v1/blogs

** 5、方法**
**         1、GET   获取资源**
**                        GET https://api.kaivon.com/v1/blogs 获取所有的文章**
**                        GET https://api.kaivon.com/v1/blogs/id  获取到某一篇文章**
**         2、POST  添加资源**
**                        POST https://api.kaivon.com/v1/blogs    增加一篇文章**
**         3、PUT    修改资源(客户端需要提供改变后的完整资源)**
**                        POST https://api.kaivon.com/v1/blogs/id 修改某一篇文章**
**       4、PATCH 更新资源(客户端需要提供改变的属性)**
**                        PATCH https://api.kaivon.com/v1/blogs/id    更新某一篇文章**
**         5、DELETE    删除资源**
**                        DELETE https://api.kaivon.com/v1/blogs/id   删除某一篇文章**
** 6、数据过滤**
**           1、?limit=10 指定返回数据的数量**
**                        GET **https://api.kaivon.com/v1/blogs?limit=10

**           2、?offset=10    指定一个偏移量**
**                        GET **https://api.kaivon.com/v1/blogs?offset=10

**           3、?page=2&per_page=10   指定第几页,以及每页的数量**
**                        GET **https://api.kaivon.com/v1/blogs?offset=10

**            4、?sortby=time&order=arc    指定返回结果按照哪个属性排序,以及排序的方式**
**                        GET **https://api.kaivon.com/v1/blogs?sortby=time&order=arc

** 7、状态码**
** 8、返回结果**
**                    1、GET       资源对象列表(数组),如果取的是一条数据,那返回一个对象**
**                    2、POST      返回添加后的资源对象,以及有可能会加上是否成功**
**                    3、PUT       返回修改后的资源对象,以及有可能会加上是否成功**
**                    4、PATCH 返回更新后的资源对象,以及有可能会加上是否成功**
**                    5、DELETE    返回空,以及有可能会加上是否成功**
** 9、返回的数据格式**
**                    尽量使用JSON,避免使用XML**

总结

1、看URL就知道要什么
2、看HTTP method就知道干什么
3、看HTTP stuts code就知道结果如何

标签:存储,本地化,kaivon,v1,api,cookie,https,com
来源: https://blog.csdn.net/m0_46424423/article/details/118977344