你真的理解HTTP和HTTPS的区别吗?

HTTP与HTTPS是干嘛的?

首先,HTTP 是一个网络协议,是专门用来帮你传输 Web 内容的。关于这个协议,就算你不了解,至少也听说过吧?比如你访问某个博客的主页,浏览器地址栏会出现如下的网址:

http ://XXXXXX.com/

加了粗体的部分就是指 HTTP 协议。大部分网站都是通过 HTTP 协议来传输 Web 页面、以及 Web 页面上包含的各种东东(图片、CSS 样式、JS 脚本)

HTTP请求与HTTPS的区别

HTTP请求与HTTPS的区别

HTTP和HTTPS是两种不同的协议,它们在数据传输的安全性和加密上有所不同。咱们通常所说的 HTTPS 协议,说白了就是“HTTP 协议”和“SSL/TLS 协议”的组合

HTTP

HTTP(Hypertext Transfer Protocol)是一种用于传输超文本的协议,它是Web服务器和Web客户端之间的通信协议。

HTTP 默认工作在 TCP 协议 80 端口,用户访问网站 http:// 打头的都是标准 HTTP 服务。

HTTP 协议以明文方式发送内容,不提供任何方式的数据加密,如果攻击者截取了Web浏览器和网站服务器之间的传输报文就可以直接读懂其中的信息,因此,HTTP协议不适合传输一些敏感信息,比如:信用卡号、密码等支付信息。

HTTPS

HTTPS(Hypertext Transfer Protocol Secure:超文本传输安全协议)是基于HTTP协议的安全协议,它使用SSL/TLS协议进行加密,保证数据传输的安全性。HTTPS 开发的主要目的,是提供对网站服务器的身份认证,保护交换数据的隐私与完整性。

HTTPS协议通过数字证书来验证服务器的身份,并对数据进行加密,保证数据传输的安全性。因此,即使黑客在传输过程中截取了数据,也无法解密数据的内容

HTTPS 默认工作在 TCP 协议443端口,它的工作流程一般如以下方式:

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

区别

HTTP和HTTPS之间最大的区别在于数据传输的安全性。HTTPS协议使用SSL/TLS协议进行加密,可以保证数据传输的安全性,而HTTP协议则没有这一保障。

此外,HTTPS协议需要服务器证书的支持,而HTTP协议不需要。HTTPS的加密和解密过程需要消耗更多的CPU和内存资源,因此相较于HTTP,HTTPS的传输速度会慢一些。

结论

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

相关文章:
简单易懂的加密原理介绍(有关SSL/TLS协议)

参考文章:

https://www.runoob.com/w3cnote/http-vs-https.html

https://program-think.blogspot.com/2014/11/https-ssl-tls-1.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值