欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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

程序员文章站 2022-03-06 16:05:00
HTTP和HTTPS的区别,以及HTTPS有什么缺点?区别:1)HTTP协议是以明文的方式在网络中传输数据,而HTTPS协议传输的数据则是经过TLS加密后的,HTTPS具有更高的安全性2)HTTPS在TCP三次握手阶段之后,还需要进行SSL (SecureSocketsLayer安全套接字协议)的握手,协商加密使用的对称加密密钥3)HTTPS协议需要服务端申请证书,浏览器端安装对应的根证书(既然对称加密,那么客户端/浏览器就需要和服务端对应上)4)HTTP协议端口是80,HTTPS协.....

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 的整体过程分为证书验证和数据传输阶段,具体的交互过程如下:

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

证书验证阶段:

  • 浏览器发起 HTTPS 请求。

  • 服务端返回 HTTPS 证书。

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

数据传输阶段:

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

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

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

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



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

 

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

相关标签: c++