| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 网络协议 -> Web存储,通信总结 -> 正文阅读 |
|
[网络协议]Web存储,通信总结 |
Web存储,通信,这些底层的原理,不仅在面试中会有提问,当然在项目中也会涉及到,很重要 第一:Web存储1.1 Cookie
1.2 Web Storage这个专业的团队呢,是做本地存储的一种方式,分为sessionStorage和localStorage,有了这俩种方式,cookie呢:作为客户端与服务器交互的通道,保持客户端状态,具体呢这里我还是不太了解,需要后续去进一步的学习,因为一些底层的原理,因为时间的原因,记不太清了,那么这俩种本地存储的方式,到底是什么呢,首先了解一下各自的特点 LocalStorage:保存的数据长期存在,下一次访问的时候,直接读取保存的数据,就像是有了记忆一样,仅在客户端使用不在服务器端进行通信,localStorage保存的数据以键值对的形式保存,例如:name 对应一个值 小明 有俩个方法setItem和getItem localStorage.setItem("key","value"); 例如: localStorage.setItem(‘name’,’xiaogepao’); //存入数据方法,我们一般来说设置 localStorage.getItem(‘name/其他’); //读取数据的方法 只有一个参数,键值 localStorage.removeItem(‘name’); //移除属性,name属性就不存在了 这里再提一点:生命周期是永久性的。localStorage存储的数据,即使关闭浏览器,也不会让数据消失,除非主动的去删除数据。如果想设置失效时间,需自行封装 sessionStorage:字面意思来理解就是会话存储,会话当然是一次而有一次,这次会话结束了,才会开始下一次会话,显而易见,生命周期只有一段时间,就是在浏览器关闭前,当随着浏览器关闭也就失效了,这里也是仅在客户端使用,不在服务器段进行通信。当然方法和属性和localStorage是完全一样的 sessionStorage.setItem(‘name’,’小明’); sessionStorage.getItem(‘name’); sessionStorage.removeItem(‘name’); sessionStorage.clear(); //这里是清空存储的键值,属性名保留 当然这三个存储方式有区别有共同点: 共同点:都是保存在浏览器端,且都遵循同源策略。 不同点:在于生命周期与作用域的不同(这里只做了解不做深层次的研究) 这篇文章里有详细的说明:https://www.sohu.com/a/305569451_115128 第二:通信2.1跨文档消息传输有时候也称之为XDM,指的是来自不同域的页面进行相互间的传递消息,核心当然是postMessage()方法,那么另一个就是在页面内嵌套iframe元素,由当前页面弹出的窗口 当然postMessage()方法接收两个参数:一条消息和一个表示消息接收方来自哪个域的字符串。第二个参数对保障安全通信非常重要,可以防止浏览器把消息发送到不安全的地方,这些在最新的html5规范里都有,不做过多解释,如: A页面 在浏览器上打开新的页面:window.open(‘/B.html’); 发送相关的数据:winpostMessage(‘hello’); 通过iframe内嵌套B页面: win = document.querySelector(‘iframe’).contentWindow; B页面 接收A页面传过来的数据 Window.onmessage = function(event){ Console.log(event.data); //传递的数据 Console.log(event.origin); //源路径 } 2.2 websocketwebsocket是html5规范的一部分,大致呢也是通信机制的一种,都知道有了htpp这一种协议,也知道http有三次握手原则(这里简单提一下),那么websocket也是一种协议,那有了一种协议为什么还要有另一种协议呢,我们猜想,肯定是http协议有所缺陷,对http协议的改进,就像是电脑的cpu一样,有了i7就会有i8,更新换代嘛,因为http协议的缺点只能是通信由客户端发起,我想这里的缺点也应该是它的优点吧,来举个栗子: 我们想要查询今天的天气,只能是在客户端发送查询请求之后,服务器返回要查询的结果,而http协议做不到服务器主动向客户端推送。 那么知道这个以后,服务器端会主动向客户端推送消息,实现了双向平等,而不是只可以客户端向服务器端发送,当然websocket不能脱离http协议单独存在,需要http的配合,我想这样是它的缺点吧。 那么如何去实现呢:简单的几步
3.地理
这个可以查询到相关的地图之类的信息 |
|
网络协议 最新文章 |
使用Easyswoole 搭建简单的Websoket服务 |
常见的数据通信方式有哪些? |
Openssl 1024bit RSA算法---公私钥获取和处 |
HTTPS协议的密钥交换流程 |
《小白WEB安全入门》03. 漏洞篇 |
HttpRunner4.x 安装与使用 |
2021-07-04 |
手写RPC学习笔记 |
K8S高可用版本部署 |
mySQL计算IP地址范围 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/25 19:33:44- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |