首页 > 编程知识 正文

HTTP啥意思,https

时间:2023-05-06 19:47:31 阅读:50438 作者:4466

HTTP和HTTPS1、HTTP1、定义2、特征3、缺点4、针对第二特征(无状态)的解决方案2、HTTPS1、定义2、特征3、HTTPS实现原理3、HTTPS如何解决HTP的上述问题? 1、解决内容可能被窃听问题——加密方法1 .对称加密方法2 .不对称加密方法3 .对称加密不对称加密(HTTPS采用该方式)四、HTTP与HTTPS的区别

一、HTTP 1、定义

超文本传输协议是基于请求和响应、无状态、APP应用层的协议,是经常基于TCP/IP协议传输数据且在互联网上使用最广泛的网络协议HTTP旨在提供一种公开和接收HTML页面的方法。

2、特点无状态(协议在客户端没有状态记忆,处理事情没有“记忆”能力。 例如,访问一个网站需要重复登录操作

无连接:在HTTP/1.1之前,由于无状态的特点,每个请求都需要在TCP上握手3次并挥手4次,与服务器重新建立连接。 例如,如果一个客户端在短时间内多次请求相同的资源,则服务器不能区分是否已经对用户的请求进行了响应,因此每次都需要重新响应请求,并且消耗不必要的时间和流量。

基于请求和响应:基本特性是客户端发起请求,服务端响应

简单快速灵活

通信使用明文,请求和响应未经通信对方确认,无法保护数据完整性

3、缺点HTTP消息以明文(指未加密消息)发送,通信为明文(未加密),HTTP本身没有加密功能,整个通信)使用HTTP协议通信的请求和响应内容)进行加密引起数据泄露、窃听、数据篡改、流量侵占、钓鱼攻击等安全问题。

HTTP协议下的请求和响应不会被通信对方确认。 用HTTP协议通信时,不存在确认通信对象的处理步骤,任何人都可以提出请求。 服务器收到请求后,不管对方是谁都会回复。

HTTP协议无法验证通信方的身份,任何人都可以伪造假服务器欺骗用户,用户察觉不到。

4、第二个特点(无状态)的解决方案通过饼干和会话技术

http/1.1持久性连接(http keep-alive )方法保持TCP连接状态,除非任何一方明确提出断开连接,并且请求标头字段中的连接: keep-alive

二、HTTPS 1,定义HTTPS在HTTP上建立SSL加密层,对传输数据进行加密,是HTTP协议的安全版。 目前广泛用于网络安全敏感的通信,如交易支付。

2、特点内容加密:由于采用了混合加密技术,中间人不能直接看到明文内容

认证(证书认证客户端访问的是自己的服务器。)

保护数据完整性:防止传输的内容被冒充或篡改为中间人

3、HTTPS实现原理客户端向服务器发送请求https://baidu.com,连接到服务器的443端口。 发送的信息主要是随机值1和客户端支持的加密算法。

服务器收到信息后,向客户端给出包含随机值2一致的协商加密算法的响应握手信息。 该加密算法必须是客户端发送给服务器加密算法的子集。

服务器立即向客户端发送第二条响应消息的是数字证书。 服务端必须持有一套数字证书,可以自行制作或向组织申请。 区别在于,您颁发的证书需要客户端验证才能继续访问,而如果使用受信任公司申请的证书,则不会显示提示页面。 此证书实际上是一对公钥和私钥。 发送证书,该证书实际上是公钥,仅包括证书颁发机构、有效期、服务端公钥、第三方证书认证机构(CA )签名、服务端域名信息等许多信息。

客户端解析证书。 这个工作的一部分由客户端的TLS进行。 首先验证公钥是否有效。 例如发行机构、有效期限等。 如果发现异常,会出现警告框,提示证书有问题。 如果证书没有问题,则生成即时值(预主秘密密钥)。

客户端认证证书通过后,接下来用随机值1、随机值2、预主私钥建立会话私钥。 然后,用证书的公钥加密会话私钥。

发送加密消息。 该部分的目的是发送用证书加密的会话私钥,服务端使用私钥进行解密,得到随机值1、随机值2和预主私钥。

服务端解密随机值1、随机值2、预主密钥,按照与客户端会话密钥相同的方式建立会话密钥。

客户端用会话私钥加密消息并发送给服务端,主要验证服务端是否正常接受客户端的加密消息。

同样,服务端也用会话私钥加密消息并发送回客户端,如果客户端被成功接受,则表示SSL层的连接建立完成。

三、HTTPS如何解决HTTP的上述问题? 在HTTP协议中,可能存在信息被盗和身份伪装等安全问题。 使用HTTPS通信机制可以有效防止这些问题。

1、解决内容可能被窃听的问题——加密方法1 .对称加密这种方式加密和解密使用相同的密钥。 加密和解密使用密钥。 没有密钥就无法解密密码。 反过来说,任何人只要有钥匙就可以解密。

用对称加密方式加密时,密钥也必须发送给对方。 怎样才能安全地交给你? 在互联网上传输密钥时,如果通信被监听,密钥将落入攻击者手中,加密的意义也将消失。 另外,必须确保安全保管收到的密钥。

/p> 方法2.非对称加密

公开密钥加密使用一对非对称的密钥。一把叫做私有密钥,另一把叫做公开密钥。强健的蜗牛,私有密钥不能让其他任何人知道,而公开密钥则可以随意发布,任何人都可以获得。

使用公开密钥加密方式,发送密文的一方使用对方的公开密钥进行加密处理,对方收到被加密的信息后,再使用自己的私有密钥进行解密。利用这种方式,不需要发送用来解密的私有密钥,也不必担心密钥被攻击者窃听而盗走。
这种方式有以下缺点:
①公钥是公开的,所以针对私钥加密的信息,黑客截获后可以使用公钥进行解密,获取其中的内容;
②公钥并不包含服务器的信息,使用非对称加密算法无法确保服务器身份的合法性,存在中间人攻击的风险,服务器发送给客户端的公钥可能在传送过程中被中间人截获并篡改;
③使用非对称加密在数据加密解密过程需要消耗一定时间,降低了数据传输效率。

方法3.对称加密+非对称加密(HTTPS采用这种方式)

使用对称密钥的好处是解密的效率比较快,使用非对称密钥的好处是可以使得传输的内容不能被破解,因为就算你拦截到了数据,但是没有对应的私钥,也是不能破解内容的。就比如说你抢到了一个保险柜,但是没有保险柜的钥匙也不能打开保险柜。那我们就将对称加密与非对称加密结合起来,充分利用两者各自的优势,在交换密钥环节使用非对称加密方式,之后的建立通信交换报文阶段则使用对称加密方式。

具体做法是:发送密文的一方使用对方的公钥进行加密处理“对称的密钥”,然后对方用自己的私钥解密拿到“对称的密钥”,这样可以确保交换的密钥是安全的前提下,使用对称加密方式进行通信。所以,HTTPS采用对称加密和非对称加密两者并用的混合加密机制。

四、HTTP 与 HTTPS 的区别

1、HTTP 是明文传输协议,HTTPS 协议是由 SSL+HTTP 协议构建的可进行加密传输、身份认证的网络协议,比 HTTP 协议安全;
2、HTTPS需要用到SSL证书,而HTTP不用;
3、HTTPS标准端口443,HTTP标准端口80;
4、HTTPS基于传输层,HTTP基于应用层;
5、HTTPS在浏览器显示绿色安全锁,HTTP没有显示。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。