当前位置: 首页 > 科技观察

HTTP和HTTPS连接是如何建立的?

时间:2023-03-12 19:02:25 科技观察

HTTPS是指超文本传输??安全协议。HTTPS是一种基于HTTP和ssl/tls证书的协议,保证了传输过程中的安全,降低了被恶意劫持的可能性。解决了http的三大缺点(被监听、被篡改、被伪装)那么HTTP和HTTPS的连接是如何建立的呢?简单理解,HTTPS就是将HTTP中的传输内容加密,然后通过可靠的连接传输到对方机器上。HTTP和HTTPS连接是如何建立的?1.建立连接HTTP和HTTPS都需要建立连接进行数据传输,这是一个基本的操作。当客户在浏览器中输入URL时,浏览器会将其缓存在浏览器DNS中。在本地DNS缓存和Hosts中找到对应的记录。如果没有获取到,就会请求DNS服务获取对应的ip。获取到ip后,tcp连接会进行三次握手建立连接。过程图3.三次握手(连接建立)第一次:连接建立后,客户端向服务器发送一个SYN包(syn=j),并进入SYN_SEND状态,等待服务器确认;第二次:服务端收到SYN包,返回ACK(ack=j+1)给客户端,同时发送一个SYN包(syn=k),即SYN+ACK包,此时服务器进入SYN_RCVD状态;第三次:客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK(ack=k+1)。数据包发出后,客户端和服务器进入ESTABLISHED状态,完成三次握手。完成三次握手后,client和server开始传输数据,即ESTABLISHED状态。三向握手确保不会建立无效连接,从而浪费资源。4、第一次四次握手(断开连接):TCP客户端发送一个FIN,关闭客户端到服务器的数据传输。第二次:服务器收到这个FIN,发回一个ACK,确认序号是收到的序号加1。和SYN一样,一个FIN会占用一个序号。第三次:服务器关闭客户端连接,发送一个FIN给客户端。第四次:客户端发回ACK报文进行确认,并将确认序号设置为收到的序号加1。5、HTTP请求过程建立连接后,客户端会向服务器发送响应。服务器接受请求并做出响应并将其发送给客户端。客户端收到响应并解析响应给用户HTTPS使用HTTPS时,需要保证服务器配置正确客户端收到相应的安全证书后,向服务器发送请求。服务器将公钥和证书返回给客户端。客户端收到后会验证证书的安全性。如果通过,它会随机生成一个随机数,并用公钥加密。发送给服务器服务器收到加密后的随机数后,会用私钥解密得到一个真正的随机数,然后用这个随机数作为私钥对要发送的数据进行对称加密。客户端收到加密后的最终数据,使用私钥(即生成的随机值)对数据进行解密,并对数据进行分析,将结果呈现给客户。SSL加密已建立。HTTPS如何建立连接,又是如何加密的?HTTPS是如何建立连接的?如何协商加密密码?和HTTP一样,HTTPS也是先建立TCP连接,但建立后并不会立即发送对特定资源的请求,而是先与对方讨论加密后的密码。协商加密密码的过程就是建立TSL连接的过程。实际上并没有建立真正的连接,只是在新建立的TCP连接上包裹了一层加密协议。但它也形象地称为连接建立。具体建立方法如下:客服端向服务器发送一个HELLO包,里面包含了我支持的加密协议列表。服务端收到后,也会向客户端发送一个HELLO数据包。数据包中包含服务器选择的加密算法和自身的数字证书信息。当你得到他的数字证书信息后,你需要向CA验证证书。验证成功后,你也知道对方的公钥,所以要通知服务器。以后对称加密的密码是多少?当然,这个密码必须用公钥加密。在发送这条消息之前,客户端会先发一条消息告诉服务器,我的下一条消息将使用你刚刚选择的加密协议进行加密,下一条消息是加密的,不要搞错了。然后将对称加密后的密文发送给服务器。服务器收到后,会根据对称密钥生成一系列复杂的加密算法,传送给客服端。客户端收到消息后,会向服务端发送一个FinishedMessage,服务端收到消息后返回一个FinishedMessage。这时候我们终于完成了加密的准备工作,所有的加密方式和密钥都讨论好了,数据终于可以传输了。至此,建立TSL连接的过程结束。目前,最安全的网站保护方式就是为网站部署SSL证书。SSL证书为我们提供了一个更加安全、私密、健康的互联网环境。SSL证书对传输中的数据进行加密,防止黑客窃取甚至篡改数据,保护用户的个人信息和企业机密数据。