http 和 https 的区别?

本文详细阐述了HTTPS通信的基本步骤,从客户端发起请求到服务端返回加密数据,再到客户端解密并显示结果的全过程。同时,对比了HTTPS与HTTP的主要区别,包括证书申请、加密传输、连接方式和安全性等方面。
【参考】https 通信过程
1、在使用 HTTPS 是需要保证服务端配置正确了对应的安全证书
2、客户端发送请求到服务端
3、服务端返回公钥和证书到客户端
4、客户端接收后会验证证书的安全性,如果通过则会随机生成一个随机数,用公钥对其加密,
发送到服务端
5、服务端接受到这个加密后的随机数后会用私钥对其解密得到真正的随机数,随后用这个随
机数当做私钥对需要发送的数据进行对称加密
6、客户端在接收到加密后的数据使用私钥(即生成的随机值)对数据进行解密并且解析数据
呈现结果给客户
7、SSL 加密建立
HTTPS 和 HTTP 的区别主要如下:
1、https 协议需要到 ca 申请证书,一般免费证书较少,因而需要一定费用。
2、http 是超文本传输协议,信息是明文传输,https 则是具有安全性的 ssl 加密传输协议。
3、http 和 https 使用的是完全不同的连接方式,用的端口也不一样,前者是 80,后者是 443。
4、http 的连接很简单,是无状态的;HTTPS 协议是由 SSL+HTTP 协议构建的可进行加密传
输、身份认证的网络协议,比 http 协议安全。
 
https://www.cnblogs.com/liyuhui-Z/p/7844880.html
### HTTPHTTPS 协议的主要区别 HTTP(超文本传输协议)是一种用于传输网页内容的协议,它以明文形式传输数据,不提供加密功能。这意味着在传输过程中,数据可能被第三方监听、篡改或伪造。HTTP 的传输流程基于请求-响应模型,客户端(如浏览器)向服务器发起请求,服务器接收请求后返回响应[^2]。 HTTPS(超文本传输安全协议)是在 HTTP 的基础上加入了 SSL/TLS 加密层,使得数据在传输过程中是加密的。这种加密机制保护了数据的完整性机密性,降低了非侵入性拦截攻击的可能性。HTTPS 的工作方式与 HTTP 类似,但所有数据都通过 SSL/TLS 层进行加密解密,确保客户端与服务器之间的通信安全[^1]。 ### 安全性差异 HTTP 协议没有加密机制,数据在传输过程中是公开的,容易受到中间人攻击。而 HTTPS 利用 SSL/TLS 提供了端到端的加密,确保数据即使被截获也无法被解读。这种加密机制不仅保护了用户隐私,还防止了数据在传输过程中被篡改[^3]。 ### 身份验证机制 HTTPS 还引入了身份验证机制,通常通过数字证书来实现。服务器在建立 HTTPS 连接时会向客户端出示其证书,证书由受信任的证书颁发机构(CA)签发,用于验证服务器的身份。这种机制防止了连接到假冒的网站,增强了通信的安全性。相比之下,HTTP 没有这种身份验证机制,无法确保通信的对方是可信的[^3]。 ### 性能与开销 由于 HTTPS 在传输过程中需要进行加密解密操作,因此相比 HTTP 会带来一定的性能开销。这种开销主要体现在服务器端,因为每次连接都需要进行密钥交换、加密解密操作。然而,随着硬件性能的提升现代加密算法的优化,这种性能差异已经变得非常小[^2]。 ### 兼容性与使用场景 HTTP 是互联网上最早使用的协议之一,广泛应用于早期的网页浏览中。而 HTTPS 由于其安全性,已经成为现代互联网的标准协议,尤其是在涉及用户隐私敏感数据的场景(如网上银行、电子商务、社交网络等)中,HTTPS 几乎是必须的。许多现代浏览器也已经开始对 HTTP 网站标记为“不安全”,以提醒用户注意潜在的风险。 ### 示例代码:HTTPHTTPS 请求对比 以下是一个使用 Python 的 `requests` 库分别发送 HTTP HTTPS 请求的简单示例: ```python import requests # 发送 HTTP 请求 response_http = requests.get('http://example.com') print("HTTP Response Status Code:", response_http.status_code) # 发送 HTTPS 请求 response_https = requests.get('https://example.com') print("HTTPS Response Status Code:", response_https.status_code) ``` 在这个示例中,`requests.get` 方法可以同时处理 HTTP HTTPS 请求,但 HTTPS 请求会自动通过 SSL/TLS 层进行加密传输。 --- ### 相关问题 1. HTTPS 中的 SSL/TLS 协议是如何保障数据传输安全的? 2. 为什么 HTTPS 被认为是现代互联网的标准协议? 3. HTTPS 在性能上相比 HTTP 有哪些具体的影响? 4. 数字证书在 HTTPS 中的作用是什么? 5. 如何判断一个网站是否使用了 HTTPS 协议?
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值