HTTPS与HTTP有何区别?【让你彻底搞懂

这篇具有很好参考价值的文章主要介绍了HTTPS与HTTP有何区别?【让你彻底搞懂。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

HTTP

HTTP(HyperText Transfer Protocol)超文本传输协议,用于浏览器与服务器之间传输信息。它是以明文的方式去传输数据的,没有任何安全的措施来保障传输的安全性。假设此时攻击者将传输报文抓取,很容易导致敏感信息(身份证号,银行卡号,密码等)的泄露。这是HTTP最致命的缺陷。

HTTPS

为了弥补HTTP的不安全性,在HTTP的基础上加了一层安全套接字SSL/TLS协议,就是HTTPS(Hyper Text Transfer Protocol over SecureSocketLayer)安全套接字层超文本传输协议。SSL/TLS协议有两个作用:

第一、依靠证书来验证服务器的身份

第二、为浏览器和服务器之间的通讯进行加密

HTTPS与HTTP有何区别?【让你彻底搞懂,计算机网络成神之路,http,https,网络协议HTTPS与HTTP有何区别?【让你彻底搞懂,计算机网络成神之路,http,https,网络协议

谷歌浏览器HTTPS提示                                        谷歌浏览器HTTP提示

宏观区别

  1. http协议是无状态的,而https协议是由SSL/TLS+HTTP构建的加密安全、身份认证的网络协议

  2. 响应速度

  3. 端口不同:HTTP—80,HTTPS—443

  4. HTTPS需要申请证书,一般是付费的,称为CA数字证书

  5. HTTPS是加密的、安全的传输协议;HTTP则是明文传输,无安全性

理论上HTTP响应速度更快,因为他只需要TCP三次握手,而HTTPS除了TCP三次握手之外还需要TLS四次握手来验证身份和建立安全链接

HTTPS如何保证连接的安全性

要研究清楚这个问题,不得不了解一下加密技术,也就是密码学中的知识。

对称加密与非对称加密

对称加密:加密解密使用同一个秘钥

HTTPS与HTTP有何区别?【让你彻底搞懂,计算机网络成神之路,http,https,网络协议

数据发送方将数据明文和加密秘钥经过加密算法生成复杂的秘文,之后向接受方发送秘文。对方收到秘文之后,使用秘钥和加密算法和逆运算将秘文进行解密,拿到明文。

对称加密有一定安全隐患,攻击若拿到加密的秘钥,就可破解秘文,得到数据

非对称加密:加密解密使用不同秘钥

传输过程涉及两个秘钥称为公钥和私钥,公钥是可见的,而私钥则是私有,除了发送双方任何人都拿不到的。其中公钥加密的信息只能用私钥来解密,私钥加密的信息只能用公钥来解密。

数据发送方将数据明文使用接收方的公钥和加密算法进行加密,接受方接受信息后,使用自己私钥和加密逆算法来对密文进行解密,得到明文。

HTTPS与HTTP有何区别?【让你彻底搞懂,计算机网络成神之路,http,https,网络协议

非对称加密有两个目的:

  1. 传输安全——公钥加密,私钥解密

  2. 验证身份——私钥加密,公钥解密【由于非对称加密的原理,私钥加密的只能公钥解密,也就验证了身份的真实性】

HTTPS的连接过程【敲重点】

首先是TCP的三次握手,这个我这里就不赘述了,之后是SSL/TLS协议的四次握手连接。

TLS可以理解为升级版的SSL协议,现在我们一般用的都是TLS,只不过已经习惯了SSL这个称呼。两者大体机制大差不差,我这边主要讲TLS 的四次握手过程[下面附图片帮助理解]

TLS四次握手

1.第一次握手ClientHello

客户端向服务端发送ClientHello信息,其中包括客户端的协议版本、支持的加密套件和客户端随机数[Rondom1]

2.第二次握手ServiceHello

服务端接受信息后,向客户端发出响应信息,包括协议版本、加密套件、服务端随机数[Rondom2]和CA数字证书,这是验证身份的关键(实际为用CA私钥加密的服务端公钥)

3.第三次握手[关键]

因为颁发证书的机构是很少的,会提前把CA的公钥内置到浏览器或者操作系统内部,客户端使用内置的CA公钥来对证书进行解密,这样就验证了服务端身份的真实性。然后会对证书的过期时间、版本号、颁发机构等其他参数进行校验。验证通过之后,会根据特殊算法,生成一个随机数,这就是预主密钥[pre_master_key]。使用服务端公钥对预主密钥进行加密,发送给服务端。

4.第四次握手[Finished报文]

服务端使用服务端私钥对客户端信息进行解密,得到预主密钥[pre_master_key]。此时,服务端和客户端都有了三个随机数,分别是客户端随机数、服务端随机数和预主密钥[pre_master_key]。两者都会根据前两次握手约定好的加密套件中的加密算法,将三个随机数加密生成一个会话秘钥[session_key],服务端会将握手信息使用会话秘钥[session_key]加密发送给客户端,这个报文也被称做Finished报文。

客户端使用会话秘钥[session_key]解密,拿到握手信息,验证通过。

注意:其中前两个随机数【客户端随机数,服务端随机数】,不是安全的,只要花点功夫,是完全可以拿到的。但最后一个随机数【预主密钥pre_master_key】是万万不能被其他人拿到的

HTTPS与HTTP有何区别?【让你彻底搞懂,计算机网络成神之路,http,https,网络协议

至此,TLS四次握手完毕,客户端与服务端的安全通道已建立,之后两者之间的通信都使用会话秘钥[session_key]进行加密,属于对称加密阶段。

HTTPS连接过程中是对称加密还是非对称加密?

答案是两者都有

HTTPS中的连接过程先进行非对称加密,后面进行对称加密,两种加密方式都有。可以这样理解,非对称加密的目的就是建立一个安全通道,建这个安全通道是很费资源的,在安全通道建立完成后,就是用对称加密来节省资源

HTTPS与HTTP有何区别?【让你彻底搞懂,计算机网络成神之路,http,https,网络协议文章来源地址https://www.toymoban.com/news/detail-827123.html

到了这里,关于HTTPS与HTTP有何区别?【让你彻底搞懂的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 一本书让你彻底搞懂安卓系统性能优化(文末送书5本)

    🤵‍♂️ 个人主页:@艾派森的个人主页 ✍🏻作者简介:Python学习者 🐋 希望大家多多支持,我们一起进步!😄 如果文章对你有帮助的话, 欢迎评论 💬点赞👍🏻 收藏 📂加关注+ 目录 前言 作者简介 内容简介  本书特色 读者对象 直播预告 文末福利         为什么

    2024年02月08日
    浏览(40)
  • 15000字、6个代码案例、5个原理图让你彻底搞懂Synchronized

    本篇文章将围绕synchronized,使用大量图片、案例深入浅出的描述CAS、synchronized Java层面和C++层面的实现、锁升级的原理、源码等 大概观看时间17分钟 可以带着几个问题去查看本文,如果认真看完,问题都会迎刃而解: 1、synchronized是怎么使用的?在Java层面是如何实现?

    2024年02月09日
    浏览(24)
  • 万字长文,带你彻底搞懂 HTTPS(文末附实战)

    大家好,我是满天星,欢迎来到我的技术角落,本期我将带你一起来了解 HTTPS。 PS:本文首发于微信公众号:技术角落。感兴趣的同学可以查看并关注:https://mp.weixin.qq.com/s/HbEhD93S7y3p8amlzS2sKw 其实网上写 HTTPS 的文章也不少了,但是不少文章都是从原理上泛泛而谈,只讲概念,

    2023年04月14日
    浏览(35)
  • 解读 HTTP 和 HTTPS:有何异同?

    超文本传输安全协议(HTTPS)是建立在超文本传输协议( HTTP )之上的一种安全网络传输协议。在计算机网络上传输时,HTTPS 通过传输层安全性(TLS)或它的前身安全套接字层(SSL)为加密的连接提供保障,广泛应用于互联网。与HTTP相比,HTTPS在数据传输过程中保持沟通安全

    2024年02月22日
    浏览(24)
  • 层层剖析,让你彻底搞懂Self-Attention、MultiHead-Attention和Masked-Attention的机制和原理

    本文基于李宏毅老师对 Self-Attention 的讲解,进行理解和补充,并结合Pytorch代码,最终目的是使得自己和各位读者更好的理解 Self-Attention 李宏毅Self-Attention链接: https://www.youtube.com/watch?v=hYdO9CscNes PPT链接见视频下方 通过本文的阅读,你可以获得以下知识: 什么是Self-Attention,为

    2024年02月02日
    浏览(36)
  • 一文1000字彻底搞懂Web测试与App测试的区别

    总结分享一些项目需要结合Web测试和App测试的工作经验给大家: 从功能测试区分,Web测试与App测试在测试用例设计和测试流程上没什么区别。 而两者的主要区别体现在如下几个方面: Web项目,B/S架构,基于浏览器的;Web测试过程中,客户端会随服务器端同步更新,所以只需

    2024年02月08日
    浏览(32)
  • HTTP/1, HTTP/2和HTTP/3三者之间有何区别?

    超文本传输协议(HTTP)是万维网上数据通信的基础。多年来,它不断发展以满足现代网络应用日益增长的需求。在这篇文章中,我们将探讨HTTP/1.1、HTTP/2和HTTP/3之间的区别,讨论每个版本如何在其前身的基础上进行改进以提高网络性能和用户体验。 什么是HTTP? HTTP(超文本传

    2024年01月24日
    浏览(26)
  • http://与www.开头的网站有何区别

    转自:微点阅读 https://www.weidianyuedu.com 其实,将http://和www.放一起比较,是没有实际意义的。 一、http协议 首先对于http://,这个其实只是一种协议;简单来说,就是先声明现在使用的是哪种方式来访问服务器上的内容。而除了http之外,还有ftp、https(http加上ssl,可以理解成

    2024年02月04日
    浏览(23)
  • Http代理与socks5代理有何区别?如何选择?(二)

    上篇文章我们基本分别了解了http代理与socks5代理的定义与优缺点,接下来我们继续来了解http代理与socks5代理之间的比较与区别。 一、两者的比较 1、功能比较 HTTP代理专门用于Web流量,并在处理HTTP和HTTPS协议方面非常高效。它们可以修改正在传输的数据的内容,提供内容过滤

    2024年02月05日
    浏览(31)
  • Http代理与socks5代理有何区别?如何选择?(一)

    了解SOCKS和HTTP代理之间的区别对于优化您的在线活动至关重要,无论您是技术娴熟的个人、现代互联网用户还是企业所有者。在使用代理IP时,您需要先了解这两种协议之间的不同。 一、了解HTTP代理 HTTP(超文本传输协议)代理专门设计用于处理网络流量。当您发送请求以访

    2024年02月06日
    浏览(31)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包