http和https的区别是什么?https有什么优缺点?

**HTTP(Hypertext Transfer Protocol,超文本传输协议)**是一个简单的请求-响应协议,它通常运行在TCP之上。它指定了客户端可能发送给服务器什么样的消息以及得到什么样的响应。这个简单模型是早期Web成功的有功之臣,因为它使开发和部署非常地直截了当,被广泛地使用在WEB中。

HTTPS (全称:Hypertext Transfer Protocol Secure ),是以安全为目标的 HTTP 通道,在HTTP的基础上通过传输加密和身份认证保证了传输过程的安全性。HTTPS 在HTTP 的基础下加入SSL,HTTPS 的安全基础是 SSL,因此加密的详细内容就需要 SSL。它被广泛用于万维网上安全敏感的通讯,例如交易支付等方面。

端口的使用:
80端口 是为HTTP(HyperText Transport Protocol)即超文本传输协议开放的,是上网冲浪使用次数最多的协议,主要用于WWW(World Wide Web)即万维网传输信息的协议。
443端口即网页浏览端口,主要是用于HTTPS服务,是提供加密和通过安全端口传输的另一种HTTP。在一些对安全性要求较高的网站,比如银行、证券、购物等,都采用HTTPS服务,这样在这些网站上的交换信息,其他人抓包获取到的是加密数据,保证了交易的安全性。网页的地址以https://开始,而不是常见的http://。

是否使用证书:

http不需要证书,https需要用到对应CA证书(一般证书都需要费用) http明文传输,https是构建的进而进行加密传输、身份认证的网络协议,可以防止传输内容被篡改,比http协议更加安全 http使用80端口https使用的是443端口

CA(Certificate Authority,证书授权)是由认证机构服务者签发,是数字签名的技术基础保障,也是网上实体身份的证明,能够证明某一实体的身份及其公钥的合法性,证明该实体与公钥二者之间的匹配关系。

在电子商务系统中,所有实体的证书都是由证书授权中心即CA中心颁发并签名的。一个完整的、安全的电子商务系统必须建立一个完整的、合理的CA体系。CA体系由证书审批部门和证书操作部门组成。

传输数据是否加密:

HTTP 协议是明文传输的,整个传输过程完全透明,可以很轻易的在通信链路上拦截、修改甚至伪造请求/响应报文,十分不安全,所以诞生了安全的HTTPS。

HTTP 协议是直接与 传输层(TCP协议)直接通信的。HTTPS 协议也并非一种新的应用层协议,而是演变成 HTTP 先与 SSL 通信,再由 SSL 与 TCP 通信。SSL 即安全套接层。

HTTPS 协议的主要功能都依赖于 SSL/TLS 协议实现的,SSL/TLS 的功能实现主要涉及到三种算法:摘要算法、对称加密,非对称加密,https采用的是对称加密 + 非对称加密。

https的优缺点:

1、相比于http,https可以提供更加优质保密的信息,保证了用户数据的安全性,此外https同时也一定程度上保护了服务端,使用恶意攻击和伪装数据的成本大大提高。

2、https的技术门槛较高,多数个人或者私人网站难以支撑,CA机构颁发的证书都是需要年费的,此外对接Https协议也需要额外的技术支持。

3、https加重了服务端的负担,相比于http其需要更多的资源来支撑,同时也降低了用户的访问速度。

相关推荐
Aileen_0v03 小时前
【AI驱动的数据结构:包装类的艺术与科学】
linux·数据结构·人工智能·笔记·网络协议·tcp/ip·whisper
花鱼白羊4 小时前
TCP Vegas拥塞控制算法——baseRtt 和 minRtt的区别
服务器·网络协议·tcp/ip
唐 城6 小时前
curl 放弃对 Hyper Rust HTTP 后端的支持
开发语言·http·rust
DevilHeart灬7 小时前
使用Grafana中按钮插件实现收发HTTP请求
http·grafana
总是学不会.11 小时前
第五篇:前后端如何“扯皮”——HTTP 在开发中的应用
java·网络·网络协议·http·开发
火狮12 小时前
鸿蒙Next API 12开发,使用@ohos/axios进行HTTP请求
http·华为·harmonyos
m0_7482382712 小时前
WebClient HTTP 请求问题处理模板(泛型响应、忽略 SSL 证书等)
网络协议·http·ssl
我曾经是个程序员12 小时前
鸿蒙学习记录之http网络请求
服务器·学习·http
୧⍢⃝୨ LonelyCoder13 小时前
FreePBX修改IP地址和端口以及添加SSL证书开启HTTPS访问
tcp/ip·https·ssl
轩辰~13 小时前
网络协议入门
linux·服务器·开发语言·网络·arm开发·c++·网络协议