HTTP,HTTPS有什么不同?各自的特点有哪些?

为什么有的网站用HTTP,有的网站用HTTPS?如果你注意的话,还可以看到HTTP跳转到了HTTPS。为什么呢?今天,我们将学习http和https的区别。
 
HTTP:是互联网上使用最广泛的网络协议。它是客户端和服务器之间的请求和响应标准。它是一种将超文本从万维网服务器传输到本地浏览器的传输协议。它可以提高浏览器的效率,减少网络传输。
 
HTTPS:这是一个以安全为目标的HTTP通道。简单来说就是HTTP的安全版本,也就是在HTTP下增加了SSL层。HTTPS的安全基础是SSL,所以加密的细节需要SSL。
 
HTTP的特点是什么?
 
1.基于请求和响应:基本特征,客户端发起请求,服务器响应。
 
2.无状态:协议没有客户端的状态存储,也没有事务处理的“内存”能力。例如,访问网站需要重复的登录操作。
 
3.简单、快速、灵活,通信使用明文,请求和响应不会确认通信方,数据完整性无法保护。
 
4.无连接:由于无状态特性,每个请求需要通过TCP三次握手挥动四次才能重新建立与服务器的连接。例如,如果客户端在短时间内多次请求相同的资源,服务器无法区分它是否已经响应了用户的请求,因此每次都需要花费不必要的时间和流量来再次响应请求。
 
下面是一个简单的数据包捕获实验,用来观察HTTP请求传输的数据:
 
动态IP模拟器
 
结果:通过HTTP协议传输的数据以明文形式显示。
 
无国籍状态的一些解决方案:
 
场景:访问电商店铺的用户需要长时间使用,需要将用户的HTTP通讯状态保存一段时间,比如执行一次登录操作,所有请求都不需要在30分钟内再次登录。
 
1.通过Cookie/会话技术。
 
2.HTTP/1.1(HTTP keep-alive)方法,只要任一端没有明确提出断开,就会保持TCP连接状态,请求头字段中的Connection: keep-alive表示使用了持久连接。
 
HTTPS有什么特点?
 
基于HTTP协议,SSL或TLS提供数据加密、身份验证和数据完整性保护。
 
 
通过捕获数据包,我们可以看到数据不是以明文传输的,HTTPS具有以下特征:
 
1.内容加密:使用混合加密技术,中间不能直接查看明文内容。
 
2.验证身份:通过证书验证的客户端访问自己的服务器。
 
3.保护数据完整性:防止传输的内容被中间商冒充或篡改。
 
混合加密:结合非对称加密和对称加密技术。客户端使用对称加密生成密钥对传输的数据进行加密,然后使用非对称加密公钥对密钥进行加密,因此网络上传输的数据都是用私钥加密的密文和用公钥加密的私钥,所以即使被黑客截获,由于没有私钥,也无法获得加密明文的私钥,无法获得明文数据。
 
Numbers通过单向散列函数对原始文本进行散列,并将待加密的明文摘要成一系列固定长度的密文(如128bit)。不同明文抽象出来的密文结果总是不一样的,同一明文的摘要一定是一致的,即使知道了摘要也无法推导出明文。
 
数字签名技术:数字签名是基于公钥加密系统,是公钥加密技术的另一种应用。它将公钥加密技术与数字摘要相结合,形成一种实用的数字签名技术。
 
接收者可以确认发送者的真实身份;发件人不能拒绝随后发送的邮件;接收者或非法者不能伪造或篡改信息。
 
动态IP模拟器
 
非对称加密过程需要公钥进行加密,那么公钥从何而来呢?实际上,公钥包含在数字证书中,通常由可信数字证书颁发机构CA在验证服务器身份后颁发。证书包含密钥对(公钥和私钥)和所有者标识信息。数字证书放置在服务器上,具有服务器认证和数据传输加密功能。
 
HTTP和HTTPS有什么区别?通过以上理解,我们可以深刻理解两者的区别。简单地说,HTTPS是HTTP的安全版本。然而,由于HTTPS的技术和成本,HTTPS目前还没有得到广泛应用。