浅谈HTTPS和HTTP的区别

本文涉及的产品
密钥管理服务KMS,1000个密钥,100个凭据,1个月
简介: 因为我的上一篇文章讲解了一下HTTP协议到底是什么, 所以我们这篇文章就来讲解一下HTTPS协议是什么?它到底跟HTTP协议有什么区别。还有不明白HTTP协议的小伙伴可以去查看一下我的上一篇文章,先简单了解一下,下面放上链接——浅谈HTTP协议的作用过程如果有小伙伴已经了解了HTTPS的定义及其请求过程了,可以直接从第三部分开始看

HTTPS的定义


HTTPS叫做安全超文本传输协议 。我们能清楚地看到,HTTPS比HTTP多了一个S,这个S就是 TLS/SSL ,TLS/SSL 就是用于加密传输 、身份验证的网络协议。所以在中文名上,HTTPS也比HTTP多了一个安全, 这说明HTTPS协议比HTTP协议更安全。


接下来我们来看一张图


26b2069c9d662748988b93e097e62b15.png


HTTP和HTTPS都是用来客户端与服务器端传递信息的, 只不过HTTP是没有加密的,是以明文的方式传递信息;而HTTPS是会经过加密的,以密文的方式传递信息,相对比较安全。


那么HTTPS是如何加密的呢?它的请求过程是怎么样的?我们来看下一部分。


HTTPS请求过程


首先用一张图,让大家大致了解一下HTTPS的请求过程


009b17e13e134793cb22c97ccc9f8d87.png


HTTPS协议请求的过程如下:


客户端发送https请求 =>

客户端与服务器建立SSL连接,服务器返回证书公钥给客户端 =>

客户端验证证书公钥,若验证通过,则利用证书公钥随机生成一个密钥,并发送给服务器 =>

服务器接收密钥,并用服务器自己的私钥解密密钥 =>

客户端与服务器端传递信息就用密钥来加密


接下来我们来形象地分步骤讲解一下HTTPS协议请求的过程:


  • 客户端与服务器建立SSL连接,服务器返回证书公钥给客户端


客户端发送https请求, 首先要与服务器建立SSL连接,简单来说就是客户端和服务器端准备商量,等会要用什么方式来给我们传递的信息加密,这样做一个统一。


那么客户端和服务器端要商量加密方式的话,就先由服务器端来提议,所以这时服务器先返回一个证书公钥给客户端, 这个证书公钥就相当于服务器先提出的加密方式的意见。


  • 客户端验证证书公钥


服务器已经提出了自己对于加密方式的意见(返回的证书公钥),客户端需要针对这个意见做个判断,判断是否同意这种加密方式(验证公钥的颁发机构 、过期时间等等),若不同意,则发起抗议(弹出警告框);若同意,则(客户端利用证书公钥加密生成一个随机值生成密钥),然后发送给服务器。


  • 服务器接收密钥,并用服务器自己的私钥解密密钥


服务器接收到客户端传过来的密钥,该密钥是客户端按照服务器传过去的证书公钥来制定的,既然证书公钥是服务器提出的,那么服务器一定知道如何解密这个密钥(用证书私钥解密这个密钥),服务器用证书私钥一解密,就知道客户端提出的暗号是什么了, 那么此时,这个暗号就只有客户端和服务器端知道了,他们之间传递信息,就只需要对暗号就可以了。


HTTPS与HTTP的区别


https 与 http 的区别如下:


  1. http 是明文传输的 ;https 是安全的加密传输


  1. http 的默认端口是80 ;https 的默认端口是443


  1. https 需要申请证书 ;http 不需要


HTTPS的优缺点


  • HTTPS的优点


  1. https 是加密传输协议, 他具有一定的安全性,可以在一定程度上保证在传递信息的过程中,信息不被盗取 、修改。


  1. https 协议增加了攻击者的攻击成本


  • HTTPS的缺点


  1. https 也不是绝对的安全,在极少数情况下,还是会有信息被盗取的危险。


  1. https 的请求过程比较长,从而使得客户端接收到请求的数据时间变长,用户体验可能会差一点点


  1. https 协议需要先申请证书,证书是需要花钱购买的,增加了开销。


好了,对于HTTPS的简单讲解就到这里了,希望对大家有所帮助,喜欢的点个关注点个赞,我是前端Lpyexplore。


相关文章
|
3月前
|
Ubuntu Linux Shell
(已解决)Linux环境—bash: wget: command not found; Docker pull报错Error response from daemon: Get https://registry-1.docker.io/v2/: net/http: request canceled
(已成功解决)Linux环境报错—bash: wget: command not found;常见Linux发行版本,Linux中yum、rpm、apt-get、wget的区别;Docker pull报错Error response from daemon: Get https://registry-1.docker.io/v2/: net/http: request canceled
719 68
(已解决)Linux环境—bash: wget: command not found; Docker pull报错Error response from daemon: Get https://registry-1.docker.io/v2/: net/http: request canceled
|
1月前
|
网络协议 安全 网络安全
Introduction to the HTTP and HTTPS Protocol
HTTP protocol is the foundation of the Internet, and HTTPS is the secure version of HTTP. HTTP is an application layer protocol based on TCP/IP protocol. It does not involve packet (packet) transmission, mainly specifying the communication format between the client and the server, and the default po
67 25
|
18天前
|
缓存 安全 网络安全
代理协议解析:如何根据需求选择HTTP、HTTPS或SOCKS5?
本文详细介绍了HTTP、HTTPS和SOCKS5三种代理协议的特点、优缺点以及适用场景。通过对比和分析,可以根据具体需求选择最合适的代理协议。希望本文能帮助您更好地理解和应用代理协议,提高网络应用的安全性和性能。
52 17
|
2月前
|
安全 搜索推荐 网络安全
HTTPS与HTTP:区别及安全性对比
HTTP和HTTPS是现代网络通信中的两种重要协议。HTTP为明文传输,简单但不安全;HTTPS基于HTTP并通过SSL/TLS加密,确保数据安全性和完整性,防止劫持和篡改。HTTPS还提供身份验证,保护用户隐私并防止中间人攻击。尽管HTTPS有额外的性能开销和配置成本,但在涉及敏感信息的场景中,如在线支付和用户登录,其安全性优势至关重要。搜索引擎也更青睐HTTPS网站,有助于提升SEO排名。综上,HTTPS已成为大多数网站的必然选择,以保障用户数据安全和合规性。
97 1
|
4月前
单模和多模光纤电缆的区别 原文出自[易百教程] 转载请保留原文链接: https://www.yiibai.com/geek/330968
光纤电缆是基于光可以通过全内反射被限制在弯曲的玻璃棒内这一理念。
85 25
单模和多模光纤电缆的区别 原文出自[易百教程] 转载请保留原文链接: https://www.yiibai.com/geek/330968
|
3月前
|
应用服务中间件 Linux 网络安全
nginx安装部署ssl证书,同时支持http与https方式访问
为了使HTTP服务支持HTTPS访问,需生成并安装SSL证书,并确保Nginx支持SSL模块。首先,在`/usr/local/nginx`目录下生成RSA密钥、证书申请文件及自签名证书。接着,确认Nginx已安装SSL模块,若未安装则重新编译Nginx加入该模块。最后,编辑`nginx.conf`配置文件,启用并配置HTTPS服务器部分,指定证书路径和监听端口(如20000),保存后重启Nginx完成部署。
895 8
|
3月前
|
安全 算法 网络安全
HTTP和HTTPS的区别
本文介绍HTTP与HTTPS的区别、HTTPS链接建立过程及常见加密算法。HTTP为明文传输,易被窃听;HTTPS通过SSL/TLS协议加密,确保数据安全。HTTPS使用端口443,提供认证机制。文中还详细讲解了对称加密(如AES、DES)和非对称加密(如RSA、ECC)算法的特点及应用场景。
|
4月前
|
存储 XML 自然语言处理
信息检索和信息提取的区别 原文出自[易百教程] 转载请保留原文链接: https://www.yiibai.com/geek/331046
提取的意思是 “取出”,检索的意思是 “取回”。信息检索是返回与用户特定查询或兴趣领域相关的信息。而信息提取则更多地是从一组文档或信息中提取一般知识(或关系)。信息提取是获取数据并从中提取结构化信息的标准过程,以便将其用于各种目的,其中一个目的可能是搜索引擎。
143 24
|
4月前
|
Web App开发 Linux 应用服务中间件
【DrissionPage】Linux上如何将https改为http
通过上述步骤,可以在Linux上将DrissionPage从HTTPS改为HTTP。关键在于修改DrissionPage配置、代码中的HTTPS设置、URL以及Web服务器配置,确保所有部分都正确使用HTTP协议。通过合理配置和测试,能够确保系统在HTTP环境下稳定运行。
100 1
|
3月前
|
安全 网络安全 数据安全/隐私保护
第六问:http和https区别与联系
HTTP 和 HTTPS 是现代网络通信中的两种重要协议。HTTP 是明文传输协议,无加密功能;HTTPS 在 HTTP 基础上加入 SSL/TLS 加密层,提供数据加密、身份验证和数据完整性保障。HTTP 适用于非敏感信息传输,如新闻网站;HTTPS 适用于在线支付、账户登录等需要保护用户数据的场景。
79 0