http和https的区别

一、http

超文本传输协议 HTTP 被用于 Web 浏览器和网站服务器之间传递信息,HTTP 以明文方式发送内容,不提供任何方式的数据加密,如果攻击者截取了 Web 浏览器和网站服务器之间的传输报文,就可以直接读懂其中的信息。因此,HTTP 不适合传输敏感信息,比如:资金账户、密码等,默认端口号是80,是TCP/IP到http层

二、https

因为http是明文传输,所以容易被截取修改,因此需要一种加密算法来把传输的信息进行加密。加密算法有对称加密和非对称加密。https的默认端口号是443,是TCP/IP到SSL到https层

1.对称加密

对称加密就是产生一个密钥,可以用其加密也可以用其解密,通俗来讲就是服务端通过一个密钥,将要传输的信息通过算法来进行加密,并且在第一次的传输过程中将这个密钥传递给客户端,客户端通过这个密钥来解密,获取到传递的内容,然后以后的传输都是通过这种加密方式,就算第三方窃取到了传递的数据,也无法解密,这个密钥也称为公钥。但是这种加密有一个问题,那就是如果在第一次传输密钥的过程中,就窃取到了密钥,那么这个加密形如虚设,第三方也可以拿这个密钥来进行解密加密。常见的加密算法有DES、3DES、AES、Blowfish等

2.非对称加密

非对称加密就是产生一对密钥,一个用于加密,一个用于解密,称为公钥key1和私钥key1,如果用公钥key1加密,那么就只能用私钥key1解密,如果用私钥key1加密,那么就只能用公钥key1解密。通俗来讲就是服务端生成公钥key1和私钥key1,服务端把公钥key1给客户端,然后客户端通过这个公钥key1加密信息传递给服务端,服务端通过私钥key1进行解密,但是有一个问题,服务端通过公钥key1加密的信息,客户端因为没有私钥key1,所以不能解密,所以这个时候可以结合对称加密。客户端可以生成一个公钥key2,然后通过公钥key1将这个公钥key2进行加密传递给服务端,服务端用私钥key1解密得到公钥key2,然后后续就通过这个公钥key2来进行对称加密传输,因为这个公钥key2是客户端通过公钥key1加密给服务端的,所以第三方并不知道这个公钥key2。但是这种方式也有一个弊端,那就是被篡改,就是在服务端第一次给客户端公钥key1的时候,第三方把公钥key1保存起来,然后第三方生成一个公钥key3和私钥key3,然后将公钥key3给客户端,客户端并不知道这个公钥key3是被篡改的,也用公钥key3来加密公钥key2,然后第三方窃取到这个加密后的公钥key2,通过私钥key3进行解密就可以拿到公钥key2,进行保存,然后再用之前保存的公钥key1来加密给服务端,这样第三方也能获取到公钥key2。不能理解的话就画图来表示,整个逻辑很简单的。

3.CA证书

可以看出非对称加密结合对称加密还是挺好的,主要的缺陷是被第三方篡改公钥key1,所以直接找一个权威机构来帮忙传递公钥key1,以此来保证公钥key1不会被篡改。具体流程是首先就是服务器把服务器地址和公钥key1以及money一起给权威机构,权威机构也会生成一对公钥key4和私钥key4,然后将服务器地址,证书签发机构,私钥key4加密后的公钥key1,以及私钥key4加密后的证书签名等等弄成一个CA证书,整个CA证书任何人都能读到其中的信息,因为公钥key4是公布于全世界的,但是呢,你改不了,因为你没有私钥key4,你改了之后没法加密,用自己的私钥加密的话,公钥key4就不能解密,并且证书签名的算法是公开的,客户端可以根据服务器地址 + CA公钥key4 + 公钥key1结合证书签名算法得到的结果来比对收到的证书签名,判断收到的CA证书是否一致,不一致表示被篡改了,现在第三方已经不能篡改公钥key1了,后续的操作就和上面的一样了

相关推荐
Lzg_na10 小时前
ARP 地址解析协议详解
网络·网络协议
北京盛世宏博11 小时前
通信异常深度排查:以太网温湿度设备 TCP 粘包、UDP 丢包根治方案
单片机·网络协议·tcp/ip·udp·以太网·传感器·温湿度
Lsetea11 小时前
OpenSSL报certificate chain too long:error 22与verify_depth深度排查
linux·https·ssl证书·openssl·证书链
paopaokaka_luck12 小时前
滑雪场管理系统(AI智能助手流式对话,ECharts 运营数据分析、教练、雪具与场地一体化预约,钱包支付退款、订单核销与服务评价)
java·人工智能·spring boot·网络协议·数据分析·echarts
CCblandy13 小时前
HTTP 长连接 3 类故障实测:[WinError 10053]、99 个 TIME_WAIT、69 次多余握手,4 种对策怎么选
后端·python·网络协议·http·云原生·性能优化·架构
雪雪爱冲浪14 小时前
2026 年网络爬虫领域的Puppeteer vs. Playwright
爬虫·网络协议·测试工具·接口隔离原则
zxanz114 小时前
SSL 证书申请下来快吗?
网络·网络协议·ssl
网络小江17 小时前
上网第五十二课:加密隧道与拨号专网——安全接入的通俗解释
网络协议
盛世宏博智慧档案19 小时前
TCP以太网温湿度传感器:从RS485痛点突围到工业组网实战
网络·网络协议·tcp/ip
wdfk_prog20 小时前
LWIP教程 13:从 `dhcp_start()` 到 `DHCP_STATE_BOUND`——DHCPv4、ACD、Timer 与真实抓包
运维·网络协议