| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 网络协议 -> http和https的区别引发的一些总结(结合自身经验和计算机网络) -> 正文阅读 |
|
[网络协议]http和https的区别引发的一些总结(结合自身经验和计算机网络) |
http和https的区别引发的一些总结(结合自身经验和计算机网络)首先了解一下osi七层网络模型(五层)应用层网络服务与最终用户的一个接口。 协议有:HTTP FTP TFTP SMTP SNMP DNS TELNET HTTPS POP3 DHCP 传输层定义传输数据的协议端口号,以及流控和差错校验。 协议有:TCP UDP,数据包一旦离开网卡即进入网络传输层 网络层进行逻辑地址寻址,实现不同网络之间的路径选择。 协议有:ICMP IGMP IP(IPV4 IPV6) 数据链路层建立逻辑连接、进行硬件地址寻址、差错校验 [3] 等功能。(由底层网络定义协议) 将比特组合成字节进而组合成帧,用MAC地址访问介质,错误发现但不能纠正。 物理层建立、维护、断开物理连接。(由底层网络定义协议) TCP/IP 层级模型结构,应用层之间的协议通过逐级调用传输层(Transport layer)、网络层(Network Layer)和物理数据链路层(Physical Data Link)而可以实现应用层的应用程序通信互联。 1.https是由http协议经过SSL证书加密之后完成的。结合TCP三次握手,首先https的服务器会有SSL证书(越贵的证书安全性越高) 将SSL证书的key(公钥)放在服务器上,在接口文件引入https模块(node.js express服务器)即可。 三次握手时(以https为例),在收到客户端请求之后,首先服务器会要求客户端建立SSL连接,具体步骤是先将包含公钥的SSL证书返回给客户端,双方开始协商SSL连接的加密等级,之后建立会话密钥,服务器将资源通过公钥加密会话密钥后传输给客户端,客户端通过自己的私钥解密出会话密钥。 2.http和https的区别2.1 http 的连接很简单,是无状态的;HTTPS 协议是由 SSL+HTTP 协议构建的可进行加密传 输、身份认证的网络协议,比 http 协议安全。 2.2 Https 协议需要 ca 证书,费用较高。 http 是超文本传输协议,信息是明文传输,https 则是具有安全性的 ssl 加密传输协议。 使用不同的链接方式,端口也不同,一般而言,http 协议的端口为 80,https 的端口为 443 总结一个URL从输入到解析为页面一共经历了什么在URL输入后, 1.浏览器会先查询本地缓存,若本地缓存没有,再去查询系统缓存=》路由器缓存。 2.若所有缓存都没有,则由DNS解析器解析URL获得该URL的IP地址。 notice:DNS域名解析属于五层网络模型中的应用层 3.在得到IP之后,浏览器会向服务器建立TCP连接(三次握手),属于传输层。 为啥是三次握手:谢希仁著《计算机网络》中讲“三次握手”的目的是“为了防止已失效的连接请求报文段突然又传送到了服务端,因而产生错误”。 4.握手成功后,浏览器向服务器发送http请求,请求数据包(在传输层以数据报的格式传输) 5.服务器在收到请求之后,想浏览器发送数据包。 notice:数据报传输到网络层之后,被转化成IP报文传输。 再继续传输到数据链路层后将IP报文封装成帧, 在物理层将二进制帧数据转化为UTF-8数据,即在浏览器中可以看到正常返回的数据。 6.接着由浏览器解析渲染页面,步骤为 ? 根据HTML和CSS渲染出HTML树和CSS树,结合之后生成渲染树,根据渲染树计算出节点的信息,在绘制到页面上。由于是一个节点一个节点读取,所以dom树的构建过程属于深度优先遍历的过程。 7.js交互,ajax请求等等 还可以延伸出一点 重构和重绘的区别?主要看dom元素的几何属性有没有发生变化。例如宽高啊。边框圆角等属于重构,例如加背景颜色就属于重绘。 |
|
网络协议 最新文章 |
使用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/26 8:39:06- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |