1.http和https http,https 都是网络传输协议 是用于网络相关传输,http走的是明文传输,https走的密文传输(内部 采用对称加密以及非对称加密)。对应的https安全性要高于http。https为什么会采用加密,因为他底 层采用了openSSL。(open表示开源) 1.1http的特性
- 无状态 (服务器不知道是谁访问的我)
- 无连接 (不会建立完整的连接 访问一过去 数据一返回连接就断了)
- 长连接 (连接可以建立长时间)
- 短连接(连接对应的内容很短)
- cookie存在于浏览器端
- cookie为了保存sessionID出现的
- cookie的出现解决了http无状态的问题特性
- cookie是不安全的
- cookie是可以被篡改和伪造的
- cookie他是以字符串存储的(单一),有很多的数据类型是不支持的(二进制图片,二进制的视频,base64码的视频等等)
- cookie他的大小不能超过4kb(大小只有4kb 容量小)
- cookie会随请求发送
- cookie可以跨域(domain来设置)
console.log(document.cookie)cookie的完整格式
- name=value;[expires=date];[path=路径];[domain=域名];[secure]
- document.cookie = 'username=jack'
- var date = new Date(2022,7,9,16,20)
- document.cookie = 'username=jack;expires='+date
- document.cookie = 'username=jack;expires='+date+';path=http://www.baidu.com'
- document.cookie =
- 'username=jack;expires='+date+';path=http://www.baidu.com;domain=www.baidu.com'
- 'username=jack;expires='+date+';path=http://www.baidu.com;domain=www.baidu.com;s
//主要是封装的cookie的增删改查的方法 //根据key来获取cookie里面的元素 // password=123456; username=123456 function getItem(key){ var str = document.cookie //对于这个字符串进行切割 var splitArr = str.split(';') //[password=123456,username=123456] var cookieObject = {} //遍历这个数组 for(var splitStr of splitArr){//password=123456 var keyValueArr = splitStr.split('=') cookieObject[keyValueArr[0].trim()] = decodeURIComponent(keyValueArr[1]) } return cookieObject[key] } //设置cookie及里面的元素 function setItem(key,value,expires,path,domain,secure){ //如果没有key获取没有value 直接报错 if(!key || (!value && value!='')){ //抛出错误 后面的代码将不会执行 throw new Error('参数错误') } document.cookie = `${key}=${encodeURIComponent(value)}` if(expires){//如果有过期时间拼接 document.cookie += `;expires=${expires}` } if(path){//如果有路径拼接 document.cookie += `;path=${path}` } if(domain){//如果有domain拼接 document.cookie += `;domain=${domain}` } if(secure){//如果有secure拼接 document.cookie += `;${secure}` } } //根据key来删除对应的cookie function removeItem(key){ if(getItem(key) || getItem(key)==''){ setItem(key,'',new Date()) }else{ console.error('当前的key值不存在') } }cookie.js(第三方的js)
Cookies.remove('username') Cookies.get('username') Cookies.set('username','jack',{expires:10}) //设置一个username 10天以后过期encodeURIComponent 转码(base64码)
console.log(encodeURIComponent('{abdejde152}'));decodeURIComponent 解码
var str = encodeURIComponent('{abdejde152}') //进行编码 console.log(decodeURIComponent(str));//解码标签:username,expires,http,JavaScript,cookie,关于,key,document From: https://www.cnblogs.com/guolingli/p/16586448.html