惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

GbyAI
GbyAI
Martin Fowler
Martin Fowler
云风的 BLOG
云风的 BLOG
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
T
The Blog of Author Tim Ferriss
大猫的无限游戏
大猫的无限游戏
A
About on SuperTechFans
小众软件
小众软件
博客园_首页
博客园 - 聂微东
罗磊的独立博客
Recent Announcements
Recent Announcements
U
Unit 42
N
Netflix TechBlog - Medium
Blog — PlanetScale
Blog — PlanetScale
阮一峰的网络日志
阮一峰的网络日志
博客园 - 叶小钗
V
V2EX
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
IT之家
IT之家
Stack Overflow Blog
Stack Overflow Blog
博客园 - Franky
D
DataBreaches.Net
Last Week in AI
Last Week in AI

博客园 - ReturnHome

shell脚本 sql窗口函数 sql常用 大数据面试问题 Python常用库和方法 金融行业测试总结 电商高并发高库存系统测试总结 AI测试 大模型性能测试 100 条大模型人工测试用例 记忆管理 多智能体协作 Elasticsearch(ES) 知识检索 jmeter计算模型token AI提示词链 请求区别 app测试注意点 TCP的三次握手和四次挥手 常用的中间件
详解https协议和http协议的区别和底层工作原理
ReturnHome · 2024-09-06 · via 博客园 - ReturnHome

HTTP(超文本传输协议)和HTTPS(安全超文本传输协议)是用于在网络上传输数据的协议。它们之间的主要区别在于安全性和数据加密。以下是详细的比较和相关机制的介绍:

1. HTTP与HTTPS的区别

  1. 安全性:

    • HTTP:数据以明文形式传输,容易被窃听和篡改。

    • HTTPS:通过SSL/TLS协议对数据进行加密,确保数据在传输过程中不被窃取或篡改。

  2. 端口:

    • HTTP:默认使用端口80。

    • HTTPS:默认使用端口443。

  3. 证书:

    • HTTP:不需要证书。

    • HTTPS:需要SSL/TLS证书,以验证服务器的身份。

  4. 性能:

    • HTTP:由于没有加密,性能相对较快。

    • HTTPS:加密和解密过程会增加一些延迟,但现代技术已大大减少了这种影响.

2.  使用场景的区别

  • HTTP:

    • 适用于不需要保护用户隐私和数据安全的场景,如公共信息网站、博客等。

  • HTTPS:

    • 适用于需要保护用户数据的场景,如在线支付、用户登录、个人信息提交等。

3. 证书机制

HTTPS使用SSL/TLS证书来确保安全性。证书由受信任的证书颁发机构(CA)签发,包含以下信息:

  • 证书持有者的公钥

  • 证书持有者的身份信息

  • 证书的有效期

  • CA的数字签名

4. HTTPS实现加密的详细过程

5. SSL/TLS证书包含的内容

SSL/TLS证书通常包含以下信息:

6. 证书验证的详细过程说明

证书验证的过程通常包括以下步骤:

7. 生成会话密钥的详细过程

生成会话密钥的过程通常涉及以下步骤:

8. 总结

HTTP和HTTPS的主要区别在于安全性,HTTPS通过SSL/TLS协议提供加密和身份验证。HTTPS适用于需要保护用户数据的场景,而HTTP适用于不需要保护的场景。证书机制和加密过程确保了数据在传输过程中的安全性。

SSL/TLS证书包含了持有者信息、公钥、CA信息、有效期等内容。证书验证过程确保了证书的有效性和完整性。生成会话密钥的过程涉及客户端和服务器生成随机数,并结合预主密钥生成对称加密算法的会话密钥,确保后续通信的安全性。