HTTP和HTTPS连接是如何建立的?
发布日期:2018-11-01HTTPS指的是超文本传输安全协议。HTTP和HTTPS都是在七层模型中传输层之上的,在传输层会在通信双方建立起一个可靠的连接用于数据交换。那么HTTP和HTTPS连接是如何建立的?简单的理解,HTTPS就是将HTTP中的传输内容进行了加密,然后通过可靠的连接,传输到对方的机器上。
HTTP和HTTPS连接是如何建立的?
TTP 在传输层之上,是依靠于 TCP 连接的。也就是说先建立起 TCP 连接,建立好连接之后双方之间才能传输数据。也就是说,想按照规定的格式传输数据,就需要先建立 TCP 连接。那 TCP 连接是怎么建立起来的呢。具体过程是这个样子:我们在浏览器上输入了要访问的网站地址之后,浏览器会向 DNS 服务器请求这个域名对应的 IP 地址,拿到 IP 地址就相当于知道了对方的位置。我们就可以向他发送一个建立连接的请求,同时自己也做好了要建立连接的「准备」。这是第一步,向对方发送一个建立连接的请求。对方机器一直在等待着其他人跟自己建立连接,等啊等,突然收到了你要建立连接的请求,兴奋不已,立刻回复你,说:我收到了你要建立连接的请求啦,我也准备好要建立连接啦。这是第二步。你收到这个消息之后一定要回复它,说:好的,我知道你也做好了建立连接的准备啦,咱们开始发送数据吧。这是第三步。为什么一定要回复他呢,因为他不确定你是否收到了他的确认请求,如果你不回复,他会以为你这个建立请求的消息是假的,是过期了的,就不会建立连接。当他收到你的回复之后,就明确的知道了你确实要建立连接,也知道了你准备好了连接的建立,再之后就可以按照 HTTP 的格式传输数据了。在这个过程中的第三步时,就是你发送确认消息的那个数据包中,可以将需要传输的数据一并塞进去的。这个就是 TCP 连接的三次握手。在重复一次,你先发一个建立连接的请求,他接收后回复一个收到,建立吧,你收到他的回复,在向他回复一个知道啦。这时,你们之间 TCP 连接就已经建立好了。接下来,你就可以按照 HTTP 向他发送请求,比如说要某一个图片,他收到请求后就会给你发过来一个图片,当然,你们之间是明文传输的。
HTTPS是如何建立连接的,又是怎么进行加密的?
那HTTPS是如何建立连接的呢,怎么商量好加密密码的呢?HTTPS 同 HTTP 一样,首先建立起 TCP 连接,但是建立好之后并不是立即发出请求,索要具体的资源,而是先和对方商量加密的密码。商量的加密密码的过程就是建立 TSL 连接的过程。其实并没有建立真实的连接,只是在刚刚建立好的 TCP 连接上,包裹上一层加密协议而已。但是也被形象的称作连接建立。具体建立方式如下:客服端发给服务器一个HELLO包,里面有我支持的加密协议列表。服务器收到后发送也给客户端发送一个HELLO数据包,数据包内包涵服务器挑选的加密算法,还包含自己的数字证书信息。你拿到他的数字证书信息之后就需要去向 CA 校验证书,校验成功后也知道了对方的公钥,就该通知服务器,我们以后对称加密的密码是多少,当然,这个密码是要用公钥加密的。在这条消息发送之前,客户端会先发送一条消息,告诉服务器,我下一个消息将使用你刚刚挑选的加密协议进行加密了,下一个消息是加密后的哦,不要搞错。之后将对称加密的密文发给服务器。服务器接收到之后,会根据对称密钥生成一系列复杂的加密算法,在传输给客服端,客户端收到后会给服务器发送一个 Finished Message ,服务器收到消息后也回一个 Finished Message。这时,我们终于完成了加密的准备工作,一切加密方式和密钥都商量好了,终于可以传输数据了。至此,TSL 建立连接的过程结束。
以上,是为大家分享的“HTTP和HTTPS连接是如何建立的”的全部内容,如果用户遇到的问题不能解决,可通过wosign官网客服寻求帮助,凡是选择wosign ssl证书的网站用户,wosign可提供免费一对一的ssl证书技术部署支持,免除后顾之忧.
相关资讯
前文讨论了HTTPS原理与优势:身份验证、信息加密与完整性校验等,且未对TCP和HTTP协议做任何修改。但通过增加新协议以实现更安全的通信必然需要付出代价,HTTPS协议的性能损耗主要体现如下
广泛应用于互联网世界的HTTP想必是大家再熟悉不过的了,然而细心的朋友可能发现淘宝、百度、网上银行等网站都变成HTTPS开头,并且还有一把小绿锁挂在地址栏,那么HTTPS和HTTP的区别是什么呢?