了解HTTP和HTTPS协议

发布于:2022-12-11 ⋅ 阅读:(310) ⋅ 点赞:(0)

HTTP(超文本传输协议)是一种用于分布式、协议式和超媒体信息系统的应用层协议,就是一种接受和发送HTML的页面方法,被用于web浏览器和网站服务器之间传递信息。默认工作在TCP协议80端口。

HTTP是一种明文传递,安全性较低,不提供任何方式的加密。因此,HTTP协议不适合传输一些敏感信息,比如:信息卡号、密码等支付信息。

HTTP协议工作过程:

  • 浏览器进入DNS域名解析,得到对用的IP地址,
  • 根据这个IP,找对对应的服务器建立连接(三次握手),建立TCP连接后发起HTTP请求,
  • 服务器响应HTTP请求,浏览器得到HTML代码,浏览器解析HTML代码,并请求HTML代码中的资源,
  • 浏览器对页面进行渲染呈现给用户,
  • 数据传输完成,发送断开连接请求,服务器关闭TCP连接(四次挥手)。

HTTPS(超文本传输安全协议)是一种透过计算机网络进行安全通信的传输协议,是由HTTP进行通信,利用SSL/TLS协议来加密数据包。提供对网站服务器的身份认证,保护交换数据据的隐私与完整性。默认工作在TCP协议443端口。

 HTTPS的一般工作过程:

  • 1、TCP 三次同步握手
  • 2、客户端验证服务器数字证书
  • 3、DH 算法协商对称加密算法的密钥、hash 算法的密钥
  • 4、SSL 安全加密隧道协商完成
  • 5、网页以加密的方式传输,用协商的对称加密算法和密钥加密,保证数据机密性;用协商的hash算法进行数据完整性保护,保证数据不被篡改。

为什么说HTTPS比HTTP安全,是如何实现的?

原因是:

HTTPS是基于SSL协议进行进行工作的,数据是加密的,

1、SSL协议是通过非对称加密方式来实现密钥的协商,再通过对称加密的方式来实现数据的加密,;

2、可以对身份的验证,进行数据交互的客户端和服务器双方都可以向CA机构来申请证书,并且在SSL握手的阶段,上方进行验证证书,从而验证第三方的身份,防止第三方的冒充;

3、可以保证数据的完整性,每次发送数据的时候都会加一个NAC摘要并且签名,当发送的数据和接受的数据一致的话,则证明该信息没有被第三方进行篡改。

HTTP与HTTPS之间的区别:

  1. HTTP 明文传输,数据都是未加密的,安全性较差,HTTPS(SSL+HTTP) 数据传输过程是加密的,安全性较好。
  2. 使用 HTTPS 协议需要到 CA(Certificate Authority,数字证书认证机构) 申请证书,一般免费证书较少,因而需要一定费用。证书颁发机构如:Symantec、Comodo、GoDaddy 和 GlobalSign 等。
  3. HTTP 页面响应速度比 HTTPS 快,主要是因为 HTTP 使用 TCP 三次握手建立连接,客户端和服务器需要交换 3 个包,而 HTTPS除了 TCP 的三个包,还要加上 ssl 握手需要的 9 个包,所以一共是 12 个包。
  4. http 和 https 使用的是完全不同的连接方式,用的端口也不一样,前者是 80,后者是 443。
  5. HTTPS 其实就是建构在 SSL/TLS 之上的 HTTP 协议,所以,要比较 HTTPS 比 HTTP 要更耗费服务器资源。

 关于SSL协议一些了解转载:https://blog.csdn.net/weixin_60719780/article/details/126872674?spm=1001.2014.3001.5501

本文含有隐藏内容,请 开通VIP 后查看