当前位置: 移动技术网 > IT编程>开发语言>C/C++ > C++复习之路:网络相关基础知识

C++复习之路:网络相关基础知识

2020年07月29日  | 移动技术网IT编程  | 我要评论

HTTP和HTTPS的区别,以及HTTPS有什么缺点?

区别:

1)HTTP协议是以明文的方式在网络中传输数据,而HTTPS协议传输的数据则是经过TLS加密后的,HTTPS具有更高的安全性

2)HTTPS在TCP三次握手阶段之后,还需要进行SSL (Secure Sockets Layer安全套接字协议)的握手,协商加密使用的对称加密密钥

3)HTTPS协议需要服务端申请证书,浏览器端安装对应的根证书(既然对称加密,那么客户端/浏览器就需要和服务端对应上)

4)HTTP协议端口是80,HTTPS协议端口是443

HTTPS的优点:

HTTPS传输数据过程中使用密钥进行加密,所以安全性更高

HTTPS协议可以认证用户和服务器,确保数据发送到正确的用户和服务器

HTTPS的缺点:

HTTPS握手阶段延时较高:由于在进行HTTP会话之前还需要进行SSL握手,因此HTTPS协议握手阶段延时增加

HTTPS部署成本高:一方面HTTPS协议需要使用证书来验证自身的安全性,所以需要购买CA证书;另一方面由于采用HTTPS协议需要进行加解密的计算,占用CPU资源较多,需要的服务器配置或数目高

HTTPS的实现原理:

大家可能都听说过 HTTPS 协议之所以是安全的是因为 HTTPS 协议会对传输的数据进行加密,而加密过程是使用了非对称加密实现。

但其实,HTTPS 在内容传输的加密上使用的是对称加密,非对称加密只作用在证书验证阶段。

HTTPS 的整体过程分为证书验证和数据传输阶段,具体的交互过程如下:

证书验证阶段:

  • 浏览器发起 HTTPS 请求。

  • 服务端返回 HTTPS 证书。

  • 客户端验证证书是否合法,如果不合法则提示告警。

数据传输阶段:

  • 当证书验证合法后,在本地生成随机数。

  • 通过公钥加密随机数,并把加密后的随机数传输到服务端。

  • 服务端通过私钥对随机数进行解密。

  • 服务端通过客户端传入的随机数构造对称加密算法,对返回结果内容进行加密后传输。



HTTPS的实现原理部分的作者:程序员追风
链接:https://www.jianshu.com/p/8307b5cc073c
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

 

本文地址:https://blog.csdn.net/weixin_42067304/article/details/107640291

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网