HTTP协议传输的数据都是未加密的,也就是明文的,因此使用HTTP协议传输隐私信息非常不安全,为了保证这些隐私数据能加密传输,于是网景公司设计了SSL(Secure Sockets Layer)协议用于对HTTP协议传输的数据进行加密,从而就诞生了HTTPS。简单来说,HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,要比http协议安全。

HTTPS和HTTP的区别主要如下:

1、https协议需要到CA申请证书,一般免费证书较少,因而需要一定费用。

2、http是超文本传输协议,信息是明文传输,https则是具有安全性的ssl加密传输协议。

3、http和https使用的是完全不同的连接方式,用的端口也不一样,前者是80,后者是443。

4、http的连接很简单,是无状态的;HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,比http协议安全。

三、HTTPS的工作原理


https并非是应用层的一种新协议,它只是在http通信接口部分用SSL(Secure Socket Layer)和TLS(Transport Layer Security)协议代替而已。

浏览器使用http时,直接同tcp通信;当浏览器使用https时,浏览器会先同TLS/SSL进行通信,然后TLS/SSL再同tcp进行通信。

在使用TLS/SSL后,http便拥有了加密功能。TLS/SSL是独立于http的协议,所以其也可以同应用层的其他协议配合使用。

SSL类似于TCP的三次握手,在HTTP链接建立之前进行四次握手,从而客户度和服务端沟通好HTTP传输时对称加密的密钥,SSL的四次握手其过程如下:

  • 客户端请求建立SSL连接,发送支持的加密方式以及一个随机数client random给服务器;

  • 服务器选择其中的一种加密方式,并且再加上另外一个随机数server random,和数字证书(其中有公钥),发送给客户端;

  • 客户端确认这个数字证书是有效的,并且再生成一个新的随机数,将这个随机数用服务器发送给它的数字证书中的公钥进行加密发送给服务器;

  • 服务器收到客户端的回复,利用自己的私钥进行解密,获得这个随机数,然后通过将前面这三个随机数以及他们协商的加密方式,计算生成一个对称密钥。

至此握手阶段完成,之后的会话他们就通过这个对称密钥进行加密传输。

HTTPS可以完成上述HTTP的缺陷:通过对通信内容加密保证了内容的安全性。并且通过数字证书可以验证双方的身份,因为数字证书是由权威机构(CA)颁布的。并且因为报文中有发送方的数字签名,所以接收方可以先验证数字签名,从而验证了数据没有被篡改,保证了完整性。

四、HTTPS的优点


(1)使用HTTPS协议可认证用户和服务器,确保数据发送到正确的客户机和服务器;

(2)HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,要比http协议安全,可防止数据在传输过程中不被窃取、改变,确保数据的完整性。

(3)HTTPS是现行架构下最安全的解决方案,虽然不是绝对安全,但它大幅增加了中间人攻击的成本。

五、HTTPS的缺点


总结

可以看出,笔者的工作学习模式便是由以下 「六个要点」 组成:

❝ 多层次的工作/学习计划 + 番茄工作法 + 定额工作法 + 批处理 + 多任务并行 + 图层工作法❞

希望大家能将这些要点融入自己的工作学习当中,我相信一定会工作与学习地更富有成效。

下面是我学习用到的一些书籍学习导图,以及系统的学习资料。每一个知识点,都有对应的导图,学习的资料,视频,面试题目。

**如:我需要学习 **Flutter的知识。(大家可以参考我的学习方法)

  • Flutter 的思维导图(无论学习什么,有学习路线都会事半功倍)

  • Flutter进阶学习全套手册

  • Flutter进阶学习全套视频

大概就上面这几个步骤,这样学习不仅高效,而且能系统的学习新的知识。

434)]

  • Flutter进阶学习全套视频

[外链图片转存中…(img-6woZJdwC-1643881555434)]

大概就上面这几个步骤,这样学习不仅高效,而且能系统的学习新的知识。

本文已被CODING开源项目:《Android学习笔记总结+移动架构视频+大厂面试真题+项目实战源码》收录

HTTP和HTTPS的区别,SSL的握手过程,kotlin协程异常相关推荐

  1. 使用wireshark观察SSL/TLS握手过程--双向认证/单向认证

    SSL/TLS握手过程可以分成两种类型: 1)SSL/TLS 双向认证,就是双方都会互相认证,也就是两者之间将会交换证书. 2)SSL/TLS 单向认证,客户端会认证服务器端身份,而服务器端不会去对客 ...

  2. SSL/TLS握手过程

    1.握手与密钥协商过程 基于RSA握手和密钥交换的客户端验证服务器为示例详解TLS/SSL握手过程 再看一张手绘时序图 (1).client_hello     客户端发起请求,以明文传输请求信息,包 ...

  3. python进程线程协程区别_进程和线程、协程的区别

    现在多进程多线程已经是老生常谈了,协程也在最近几年流行起来.python中有协程库gevent,py web框架tornado中也用了gevent封装好的协程.本文主要介绍进程.线程和协程三者之间的区 ...

  4. python线程协程进程的区别_进程和线程、协程的区别

    现在多进程多线程已经是老生常谈了,协程也在最近几年流行起来.python中有协程库gevent,py web框架tornado中也用了gevent封装好的协程.本文主要介绍进程.线程和协程三者之间的区 ...

  5. 如何解决SSL/TLS握手过程中失败的错误?

    Fixes for the SSL/TLS Handshake Failed error for both internet users and site owners It's time for a ...

  6. 操作系统的线程和进程的区别_进程,线程,协程,有何区别?

    进程 ​ cpu是计算机的核心,主要处理计算机的计算任务.操作系统是计算机的管理员,它负责任务的调度,资源的管理和分配,统一管理计算机的硬件资源.应用程序则是具有某种功能的程序,应用程序运行于操作系统 ...

  7. Kotlin协程 - Launch和Async的区别

    如果想要在一个非挂起(suspend)方法中调用协程,则需要使用launch或async方式. launch和async对比 相同点: launch 和 async 构建器都可以用于异步执行任务. 它 ...

  8. HTTPS协议之SSL/TLS协议四次握手

    目录 前言 SSL/TSL协议基本过程 SSL/TSL四次握手 SSL/TSL详细过程 前言 HTTPS是基于SSL安全连接的HTTP协议.HTTPS通过SSL提供的数据加密.身份验证bai和消息完整 ...

  9. TLS/SSL 工作原理及握手过程详解

    目录 前言 TLS/SSL 基础概念 密钥协商过程中存在的问题及解决办法 TLS/SSL 握手过程 前言 本文是对 HTTPS 安全基础.TLS/SSL 工作原理及握手过程的总结.第一部分介绍为 HT ...

  10. 例说图解TCP/IP协议族--TLS篇(1)抓包分析SSL/TLS握手

    SSL是Secure Sockets Layer (安全套接层)的简写,SSL协议是为网络通信提供安全的一种安全协议,继任者为TLS,即 Transport Layer Security传输层安全. ...

最新文章

  1. MATLAB中使用streamline函数绘制正负点电荷及它们构成的电偶极子的电场线分布图
  2. 剑桥大学eap入学测试准备!!!救命稻草
  3. 梅耶尔被爆7月份便已知用户数据遭窃 SEC或介入调查
  4. 旗正规则引擎内存表出错的原因及解决方法
  5. JDK源码解析之 Java.lang.String
  6. (36)FPGA三种基本逻辑门(与门)
  7. Java中将List转成逗号数组的方案
  8. spss无法连接到本地计算机,通过远程连接打开SPSS产品时,收到许可证错误信息。从本地打开同一产品时没有错误。...
  9. 【JAVA】第十一届蓝桥杯省模拟赛答案(本科组)
  10. Visio应用视频教程(下)-游峰-专题视频课程
  11. vs2010开发activex(MFC)控件/ie插件(二)
  12. 高温持续,三峡水库向长江中下游补水5亿立方米
  13. Android smali语法
  14. 无人机成测绘界“全能战士”
  15. YOLO Air:科研改进论文推荐 | 改进组合上千种搭配,包括Backbone,Neck,Head,注意力机制,适用于YOLOv5、YOLOv7、YOLOX等算法
  16. 怎样在电脑上下载哔哩哔哩的视频?
  17. 一个IT从业者的课外读物___养生锻炼篇
  18. 省份三级联动+模糊查询+省份单表增删改查
  19. 电机磁链和反电动势系数辨识
  20. 战'疫'逆战学习总结分享

热门文章

  1. 水环境指标 中文对照
  2. 联通ip电视html1连不上,刷华硕固件看联通IPTV和上网两不误
  3. 天猫精灵开发网关php开发,天猫精灵对接
  4. 【运筹学】整数规划、分支定界法总结 ( 整数规划 | 分支定界法 | 整数规划问题 | 松弛问题 | 分支定界法 | 分支定界法概念 | 分支定界法步骤 ) ★★
  5. Oracle锁表解决方法
  6. Cell Ranger
  7. 编程猫编程平台的使用介绍
  8. Unity ToLua LuaFramework_UGUI学习笔记
  9. 2022爱分析・人工智能应用实践报告
  10. 速锐得车载以太网的信息性能优势硬件及应用研究