HTTP 和 HTTPS的区别

一、HTTP

1.明文传输,不安全

2.默认端口号:80

3.TCP三次握手即可

二、HTTPS

1.加密传输,更安全(在HTTP层与TCP层之间加上了SSL/TTL安全协议)

SSL和TTL是在不同时期的两种叫法,含义相同。

2.默认端口号:443

3.TCP三次握手即可+SSL/TTL四次握手(RSA算法和ECDHE算法)

4.采用对称加密非对称加密结合的「混合加密」方式:

  • 在通信建立前采用非对称加密的方式交换「会话秘钥」。
  • 在通信过程中全部使用对称加密的「会话秘钥」的方式加密明文数据。

采用「混合加密」的方式的原因:

  • 对称加密只使用一个密钥,运算速度快,密钥必须保密,无法做到安全的密钥交换。
  • 非对称加密使用两个密钥:公钥和私钥,公钥可以任意分发而私钥保密,更安全但速度慢(公钥加密,私钥解密)。

5.摘要算法

为了保证传输的内容不被篡改,会先对内容计算出一个「指纹」,再把「指纹」和内容一起传输给对方。

对方收到后,先是对内容也计算出一个「指纹」,然后跟发送方发送的「指纹」做一个比较,如果「指纹」相同,说明内容没有被篡改。

在计算机里会用摘要算法(哈希函数)来计算出内容的哈希值 ,也就是内容的「指纹」,这个哈希值是唯一的,且无法通过哈希值推导出内容

6.需要向 CA(证书权威机构)申请数字证书

数字证书中含有公钥和CA的数字签名(CA相当于权威认证,如果CA签名可信,那么公钥就可信)

三、HTTPS并不是完全可靠

客户端通过浏览器向服务端发起 HTTPS 请求时,被「假基站」转发到了一个「中间人服务器」,于是客户端是和「中间人服务器」完成了 TLS 握手,然后这个「中间人服务器」再与真正的服务端完成 TLS 握手。

解决方法:

1.防范病毒,不要点击任何证书非法的网站。

  1. HTTPS 双向认证:一般我们的 HTTPS 是单向认证,客户端只会验证了服务端的身份,但是服务端并不会验证客户端的身份。
相关推荐
小李独爱秋5 小时前
计算机网络经典问题透视:数据流的平均速率,峰值速率和突发长度各表达什么意思?
网络·网络协议·计算机网络·安全·信息与通信
蜂蜜黄油呀土豆6 小时前
深入理解计算机网络中的应用层知识
计算机网络·http·tcp·网络通信·dns
YYYing.6 小时前
【计算机网络 | 第九篇】计网之传输层(三)—— TCP的拥塞控制与连接管理
网络·网络协议·tcp/ip·计算机网络
ZePingPingZe6 小时前
深入理解网络模型之Spring Cloud微服务通信、Socket、HTTP与RPC
网络协议·spring cloud·rpc·dubbo
凯子坚持 c6 小时前
C++大模型SDK开发实录(二):DeepSeek模型接入、HTTP通信实现与GTest单元测试
c++·http·单元测试
门思科技6 小时前
ThinkLink 基于 RPC 的 LoRaWAN 告警通知机制
网络·网络协议·rpc
填满你的记忆6 小时前
【计算机网络·基础篇】TCP 的“三次握手”与“四次挥手”:后端面试的“生死线”
java·网络·网络协议·tcp/ip·计算机网络·面试
2501_915106326 小时前
Android和IOS 移动应用App图标生成与使用 Assets.car生成
android·ios·小程序·https·uni-app·iphone·webview
猫头虎7 小时前
如何把家里 NAS 挂载到公司电脑当“本地盘”用?(Windows & Mac 通过SMB协议挂载NAS硬盘教程,节点小宝异地组网版)
windows·网络协议·计算机网络·macos·缓存·人机交互·信息与通信
极安代理7 小时前
HTTPS代理详解:工作原理与使用优势全解析
网络协议·http·https