【QT进阶】Qt http编程之http与https简单介绍

往期回顾

【QT进阶】Qt Web混合编程之html、 js的简单交互-CSDN博客

【QT进阶】Qt Web混合编程之使用ECharts显示各类折线图等-CSDN博客
【QT进阶】Qt Web混合编程之实现ECharts数据交互动态修改-CSDN博客

【QT进阶】Qt http编程之http与https简单介绍

一、什么是http与https

大家可以参考一下学习文档

HTTP 教程 | 菜鸟教程

1、http

HTTP(Hypertext Transfer Protocol)是一种用于传输超文本数据的应用层协议,它是Web服务器和浏览器之间进行通信的基础。HTTP协议是建立在TCP/IP协议之上的,它定义了客户端和服务器之间交换数据的格式和规则。通过HTTP协议,客户端(如浏览器)可以向服务器发送请求,服务器接收请求后返回相应的数据,如网页内容、图片、视频等。

HTTP是一种无状态协议,每个请求与响应之间是相互独立的,服务器不会保存客户端的状态信息。因此,为了实现用户登录、购物车等功能,需要使用Cookie等机制来维护状态。

2、https

HTTPS(Hypertext Transfer Protocol Secure)是HTTP的安全版本,它通过在HTTP和TCP之间加入SSL/TLS协议层来加密数据传输,确保数据在传输过程中不被窃取或篡改。HTTPS使用公钥加密技术来建立安全连接,客户端和服务器之间的通信经过加密处理,保护了数据的隐私和完整性。

2.1安全性保障

|--------|---------------------------------------|
| 数据加密: | HTTPS通过SSL/TLS协议对数据进行加密,使得中间人无法窃取数据。 |
| 数据完整性: | HTTPS使用数字签名来验证数据的完整性,确保数据在传输过程中没有被篡改。 |
| 认证机制: | HTTPS使用数字证书来验证服务器的身份,防止中间人攻击。 |

3、二者区别

3.1简单区别

|-----|------------------------|--------------------------|
| 区别 | HTTP | HTTPS |
| 安全性 | 明文传输数据,容易被窪站攻击者窃取和篡改数据 | 通过加密传输数据,确保数据的安全性 |
| 协议 | 基于TCP协议的应用层协议 | 在HTTP和TCP之间加入了SSL/TLS协议层 |
| 端口 | 默认使用80端口进行通信 | 默认使用443端口 |

综上,HTTP和HTTPS都是用于Web服务器和浏览器之间进行通信的协议,但HTTPS相比HTTP更加安全,适用于对数据传输安全性要求较高的场景,如网上银行、电子商务等。HTTPS的使用可以有效保护用户的隐私数据和交易安全。

二、C++ Web常用开发框架

1、dorgon

仓库地址:

https://github.com/drogonframework/drogon

2、Oat++

官网:

https://oatpp.io/

仓库地址:

https://github.com/oatpp/oatpp

三、C++ 常用跨平台包管理工具

1、vcpkg

官网:

https://vcpkg.io/en/

很多框架在windows/linux下编译或多或少存在问题,耗时费力,用这个工具可以实现快速简单的编译并成功。


以上就是Qt里http与https和常用框架、管理工具的简单介绍。

都看到这里了,点个赞再走呗朋友~

加油吧,预祝大家变得更强!

相关推荐
未来可期LJ5 小时前
【Qt 问题合集】Qt报错:No executable specified 如何解决呢?
qt
zhougl9965 小时前
Java 枚举类(enum)详解
java·开发语言·python
yong99905 小时前
基于势能原理的圆柱齿轮啮合刚度计算MATLAB程序实现
开发语言·matlab
LYOBOYI1235 小时前
QML 中 Item、Window、Popup、Rectangle使用手册
qt
lsx2024065 小时前
R 数组:深入探索与高效使用
开发语言
星火开发设计5 小时前
格式化输入输出:控制输出精度与对齐方式
开发语言·c++·学习·算法·函数·知识
1104.北光c°5 小时前
【黑马点评项目笔记 | 登录篇】Redis实现共享Session登录
java·开发语言·数据库·redis·笔记·spring·java-ee
zmzb01035 小时前
C++课后习题训练记录Day91
开发语言·c++
我要打打代码5 小时前
关于C#线程 任务
开发语言·数据库·c#
小猪咪piggy5 小时前
【Python】(2) 执行顺序控制语句
开发语言·python