了解一下HTTP 与 HTTPS 的区别
介绍:
HTTP是超文本传输协议。规定了客户端(通常是浏览器)和服务器之间如何传输超文本,也就是包含链接的文本。通常使用TCP【1】/IP协议来传输数据,默认端口为80。
HTTPS是超文本传输安全协议,具有CA证书。在HTTP的基础上增加了TLS【2】协议,为数据传输提供了加密、数据完整性和身份验证保护,默认端口为443。
特点:
HTTP:
- 无状态性:每次请求都是独立的,服务器不会记住之前的请求或用户信息
- 明文传输:数据以明文的形式传输,不加密,容易被截获和窃听。
- 快速:由于没有加密过程,HTTP通常比HTTPS更快。
- 灵活性:HTTP允许轻松地实现各种服务与应用。
HTTPS:
1.加密通信:HTTPS通过TLS证书实现对数据的加密处理,只有当拥有正确密钥的接收方才能解读数据内容。
2.身份认证:服务器向客户端出示TLS证书,客户端验证证书的有效性和服务器身份,确保连接到的是正确的服务提供者。
3.数据完整性:除了加密外,HTTPS还利用消息认证码(MAC)来保护数据完整性,防止数据在传输的过程中被篡改。
补充:
【1】 TCP是传输层,TLS(1.2版本居多,前身是SSL)是传输层安全协议,即TLS是在TCP之上增加的一层安全防护协议。
【2】图来源

HTTPS 建立连接的握手顺序?
HTTPS 建立连接的过程,先进行 TCP 三次握手,再进行 TLS 四次握手
为什么先tcp再tls?
因为 HTTPS 都是基于 TCP 传输协议实现的,得先建立完可靠的 TCP 连接才能做 TLS 握手的事情
易混淆:
TCP建立连接需要三次握手,关闭连接为四次挥手。
TLS建立连接需要四次握手(大多情况),关闭连接称为关闭通知。
TCP 聚焦于建立稳定的连接,而 TLS 则注重建立安全的通信通道。
相关文章:
了解一下HTTP 与 HTTPS 的区别
介绍: HTTP是超文本传输协议。规定了客户端(通常是浏览器)和服务器之间如何传输超文本,也就是包含链接的文本。通常使用TCP【1】/IP协议来传输数据,默认端口为80。 HTTPS是超文本传输安全协议,具有CA证书。…...
Opencv中的直方图(1)计算反向投影直方图函数calcBackProject()的使用
操作系统:ubuntu22.04 OpenCV版本:OpenCV4.9 IDE:Visual Studio Code 编程语言:C11 算法描述 计算直方图的反向投影。 cv::calcBackProject 函数计算直方图的反向投影。也就是说,类似于 calcHist,在每个位置 (x, y)…...
VUE3项目的几种创建方式
文章目录 1.使用 Vue CLI (Vue Command Line Interface):2.使用 Create Vue App:3.使用 Vite:4.使用图形用户界面 (GUI):5.纯手工搭建6.基于模板创建: 1.使用 Vue CLI (Vue Command Line Interface): Vue CLI 是官方推荐的方式来快速搭建 Vue 项目的基础结构。命令:…...
VBA进行excel坐标转换
在Excel里利用坐标绘图时,可以比较容易想到采用数据透视表,但是数据透视表生成的图不可更改,因此本案例采用VBA进行坐标变换而不改变原始值来转换图像,即实现图像的左右翻转和上下翻转,如下图所示,选择map的…...
使用pytorch深度学习框架搭建神经网络
简介 现在主流有两个框架pytorch和TensorFlow,本文主要介绍pytorch PyTorch:由 Facebook 的人工智能研究小组开发和维护。PyTorch 以其动态计算图(Dynamic Computational Graph)和易用性著称,非常适合研究人员和开发者进行实验和…...
Hive数据库与表操作全指南
目录 Hive数据库操作详解 创建数据库 1)语法 2)案例 查询数据库 1)展示所有数据库 (1)语法 (2)案例 2)查看数据库信息 (1)语法 (2&#…...
UniaApp引入Iconfont
一、下载图标资源 登录到阿里巴巴矢量图标库(iconfont)官网(https://www.iconfont.cn/)。找到你需要的图标并添加到购物车,然后点击购物车图标进入到管理界面,选择 “下载代码”。在下载选项中选择 “Font…...
面试题:软件测试缺陷产生的原因有哪些?
软件缺陷产生的原因多种多样,一般可能有以下几种原因: 1.需求表述、理解、编写引起的错误。 2.系统架构设计引起的错误。 3.开发过程缺乏有效的沟通及监督,甚至没有沟通或监督。 4.程序员编程中产生的错误。 5.软件开发工具本身隐藏的问…...
RabbitMQ 04 集群
01...
axure9勾选多个删除,弹框显示多个中继器编号
文本框 情形是删除逗号 文本框内插入数据...
Git 使用指南 --- 版本管理
序言 Git 是一个开源的 分布式版本控制系统,可以有效、高速地处理从很小到非常大的项目版本管理。对一个程序员来说,掌握 Git 的使用是必要的。 在这个系列中,将详细的介绍 Git 的使用和原理,话不多说,让我们开始吧。…...
C#进阶-ASP.NET实现可以缩放和旋转的图片预览页
本文详细介绍了如何在ASP.NET WebForms中实现一个功能丰富的图片预览页面。通过结合HTML、CSS和JavaScript,用户可以方便地对图片进行放大、缩小以及旋转操作。文章从页面的基本布局开始,逐步讲解了如何设置图片展示区、添加控制按钮、编写CSS样式以及实…...
【小程序 - 大智慧】深入微信小程序的核心原理
目录 课程目标背景双线程架构WebView 结构快速渲染 PageFrame编译原理Exparser通讯系统生命周期基础库解包跨端框架预编译半编译半运行运行时框架 主流技术Tarouni-app汇总 下周安排 课程目标 本次课程主要通过后台管理小程序回顾一下小程序的高阶语法,然后讲解整体…...
Qt 去掉QDialog对话框的问号
QT 对话框的问号是什么? QDialog默认的window flag中包含了Qt::WindowContextHelpButtonHint,这个flag意思是在窗口上提供“上下文帮助”按钮 使用方式/调用方式 void QWidget::setWhatsThis(const QString &)比如: ui->lineEdit_1->setWh…...
负载均衡 Ribbon 与 Fegin 远程调用原理
文章目录 一、什么是负载均衡二、Ribbon 负载均衡2.1 Ribbon 使用2.2 Ribbon 实现原理 (★)2.3 Ribbon 负载均衡算法 三、Feign 远程调用3.1 Feign 简述3.2 Feign 的集成3.3 Feign 实现原理 (★) 一、什么是负载均衡 《服务治理:Nacos 注册中心》 末尾提到了负载均…...
c/c++:CMakeLists.txt中添加编译/连接选项使用内存错误检测工具Address Sanitizer(ASan)
Address Sanitizer(ASan)是一个快速的内存错误检测工具。从gcc 4.8开始,AddressSanitizer成为gcc的一部分。 既然是gcc内置的内存检查工具,用起来比第三方的库更方便些。只要指定相应的编译链接参数就可以实现内存泄露检查了,如下是是cmake脚…...
armbian cups 远程打印机 1022
使用 CUPS Web 浏览器界面设置和管理打印机 - Oracle Solaris 管理:常见任务 N1刷armbian变身打印服务器,支持全平台无线打印PC扫描_存储设备_什么值得买 (smzdm.com) 第 6 章 使用 Web 界面向 CUPS 添加打印机 | Red Hat Product Documentation apt…...
three.js使用3DTilesRendererJS加载3d tiles数据
原生的 three.js 目前不支持 3d tiles 数据的加载,不过开源社区已经给出了一些解决方案,其中最活跃的要属 3DTilesRendererJS。它为 three.js 提供了加载和调度 3d tiles 数据的基本能力,虽说和 Cesium.js 对 3d tiles 的支持相比还有很大的差…...
坐牢第三十五天(c++)
一.作业 1.使用模版类自定义栈 代码: #include <iostream> using namespace std; template<typename T> // 封装一个栈 class stcak { private:T *data; //int max_size; // 最大容量int top; // 下标 public:// 无参构造函数stcak();// 有参…...
Conda离线部署django
要在没有网络连接的环境中使用conda部署Django,你需要预先在有网络连接的机器上创建一个包含所有必要包的环境,并导出该环境的配置文件。然后,你可以将这个配置文件和必要的包传输到目标机器上进行安装。 下面是详细的步骤: 1. …...
SDXL-Turbo快速上手指南:无需插件、纯Diffusers架构的极简部署方案
SDXL-Turbo快速上手指南:无需插件、纯Diffusers架构的极简部署方案 你有没有想过,AI绘画能快到什么程度?是等上几十秒,还是几分钟?如果我告诉你,现在有一种方案,能让AI在你敲下键盘的瞬间就给出…...
5个技巧让你网盘直链提取效率提升200%——网盘直链下载助手全攻略
5个技巧让你网盘直链提取效率提升200%——网盘直链下载助手全攻略 【免费下载链接】baiduyun 油猴脚本 - 一个免费开源的网盘下载助手 项目地址: https://gitcode.com/gh_mirrors/ba/baiduyun 在当今数字化时代,网盘已成为我们存储和分享文件的重要工具&…...
OpenKM企业文档管理解决方案:如何通过开源系统降低40%文档处理成本
OpenKM企业文档管理解决方案:如何通过开源系统降低40%文档处理成本 【免费下载链接】document-management-system OpenKM is a Open Source Document Management System 项目地址: https://gitcode.com/gh_mirrors/do/document-management-system 在数字化转…...
OpenClaw语音交互:千问3.5-9B实现的自然语言控制
OpenClaw语音交互:千问3.5-9B实现的自然语言控制 1. 为什么需要语音交互的自动化助手 去年冬天的一个深夜,我正在赶制一份紧急报告。双手忙着整理数据,眼睛盯着屏幕,却突然需要打开另一个参考文档。那一刻我突然想:如…...
OpenClaw异常处理设计:Qwen3.5-9B图片任务失败自动恢复方案
OpenClaw异常处理设计:Qwen3.5-9B图片任务失败自动恢复方案 1. 为什么需要异常处理机制? 上周我尝试用OpenClawQwen3.5-9B实现证件照自动裁剪时,遇到了典型的"三连击"问题:网络波动导致图片上传中断、模型响应超时、输…...
Phi-4-mini-reasoning助力C语言项目:代码逻辑分析与缺陷检测
Phi-4-mini-reasoning助力C语言项目:代码逻辑分析与缺陷检测 1. 为什么C语言开发者需要AI辅助 在嵌入式系统、操作系统内核等对性能要求极高的领域,C语言依然是无可替代的选择。但随之而来的是复杂的内存管理、指针操作和并发控制带来的挑战。一个看似…...
如何在 SvelteKit 中为动态加载的图片实现响应式悬停覆盖层
本文讲解如何在 sveltekit 中正确实现动态图片的鼠标悬停交互(如显示标题/描述覆盖层),避免直接操作 dom,推荐使用响应式状态绑定与组件化方案提升可维护性与编译兼容性。 本文讲解如何在 sveltekit 中正确实现动态图片的鼠标…...
卡客车选胎别只看价格!这套判断逻辑让你少花冤枉钱
在商用车运输领域,轮胎选型是绕不开的话题,而绝大多数卡友在选胎时,都会陷入 “唯价格论” 的误区,认为单条轮胎越便宜,运营成本越低。但实际运营中,无数案例证明:价格从来不是决定轮胎价值的核…...
DeepSDF数据集生成全流程:从ShapeNet到SDF的完整转换指南
DeepSDF数据集生成实战:从ShapeNet到SDF的高效转换与避坑指南 当你第一次尝试将ShapeNet数据集转换为DeepSDF所需的SDF格式时,可能会被复杂的依赖关系和晦涩的错误信息困扰。这份指南将带你穿越这片"无人区",用最直接的方式完成从原…...
OpenClaw自动化写作:Qwen2.5-VL-7B生成图文并茂技术文档
OpenClaw自动化写作:Qwen2.5-VL-7B生成图文并茂技术文档 1. 为什么需要自动化技术文档写作 作为一个经常需要编写技术文档的开发者,我深知文档写作的痛点。每次完成一个功能模块后,总要花大量时间整理代码片段、截图、编写说明文字。最麻烦的…...
