HTTP协议与HTTPS协议

HTTP协议

HTTP协议是一个无状态的协议, 服务器不维护任何有关客户端之前所发请求的消息。 是一种懒政,有状态协议就会更加复杂,需要维护状态(历史信息),要是客户或者服务器失效,会产生状态不一致(状态前后不对称),解决这种不一致问题的代价更高.

HTTP是应用层协议,它以TCP(传输层)作为底层协议, 默认端口是80端口

HTTP请求的通信过程

  1. 服务器在80端口等浏览器客户端的请求
  2. 浏览器发起到浏览器的TCP连接(创建套接字Socket)
  3. 服务器接收来自浏览器的TCP连接
  4. 浏览器(HTTP客户端)与Web服务器(HTTP服务器)交换HTTP消息
  5. 4次挥手,关闭TCP连接

HTTP优点

扩展性强、速度快、跨平台支持好。


HTTPS协议

它是HTTP的加强安全版本.,底层使用SSL,TLS协议

HTTPS是基于HTTP的,也就是用TCP作为底层协议, 并额外使用SSL/TLS协议用作加密和安全认证. 默认端口号是443

HTTPS中,SSL通道通常使用基于密钥的加密算法,密钥的长度通常是40或128比特

HTTPS优点

保密性好,信任度高

HTTPS的核心___SSL/TLS协议

HTTPS的安全性主要是因为结合了SSL/TLS和TCP协议. 它对通信数据进行加密, 解决了HTTP数据透明的问题

SSL与TLS:
实际上TLS是SSL的升级版本, 即SSL最终改名为TLS

SSL/TLS的工作原理?

核心要素即使非对称加密.

非对称加密采用的是两个密钥,公私钥. 通信时, 公钥由任何一份想与解密者通信的发送者(加密者)所知.

这样即使数据被中间非法截获, 也会因为没有私钥无法获取内容

在这里插入图片描述

非对称加密的公私钥需要采用一种复杂的数学机制生成. 公私钥的生成算法依赖于单向陷门函数

单向函数:已知单向函数 f,给定任意一个输入 x,易计算输出 y=f(x);而给定一个输出 y,假设存在 f(x)=y,很难根据 f 来计算出 x。

单向陷门函数:一个较弱的单向函数。已知单向陷门函数 f,陷门 h,给定任意一个输入 x,易计算出输出 y=f(x;h);而给定一个输出 y,假设存在 f(x;h)=y,很难根据 f 来计算出 x,但可以根据 f 和 h 来推导出 x。
在这里, 陷门函数f相当于公钥,h相当于私钥. 如果只知道加密信息和公钥,那么是无法还原出原信息的,公钥加密是一种不可逆的运算

对称加密

使用SSL/TLS进行通信的双方都需要使用非对称加密方案来通信, 但是非对称加密设计了复杂数学算法, 在实际通信时, 计算的代价太高, 效率太低, 因此, SSL/TLS实际对消息的加密使用时对称加密

言简意赅: 双方使用唯一密钥k, 加密解密都是依赖于密钥k; 保密性依赖于密钥的保密性

非对称加密在数据传输上使用的是对称加密,传递公钥使用非对称加密

  1. 因为对称加密的效率高,耗费性能低, 而它的保密性是依赖于密钥的保密性
  2. 那么只要双方通信前定制一个用于对称加密的密钥即可, 由于网络通信不安全,
  3. 所以交换密钥肯定是不能在网络信道中传输.
  4. 所以要先使用非对称加密来交换私钥,保护密钥不被窃听
  5. 这样,非对称加密只需要进行一次, 之后的信息通信就可以使用对称加密, 此时的密钥是绝对安全的密钥,对信息进行对称加密
    !!!私钥通常是在本地设备上生成

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/513269.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C++ string类详解及模拟实现

目录 【本节目标】 1. 为什么学习string类? 1.1 C语言中的字符串 1.2 面试题(暂不做讲解) 2. 标准库中的string类 2.1 string类(了解) 2.2 string类的常用接口说明(注意下面我只讲解最常用的接口) 3. string类的模拟实现 3.1string类常用…

14:Hadoop数据分析|节点管理|搭建NFS网关服务

数据分析|节点管理|搭建NFS网关服务 HDFS文件系统的使用调用Hadoop集群分析数据Hadoop集群的维护增加修复节点删除节点 搭建NFS网关服务创建账户并授权在nfsgw上运行网关服务NFSGW测试 HDFS文件系统的使用 访问文件系统的两种方式: web页面…

基于Springboot的足球俱乐部管理系统(有报告)。Javaee项目,springboot项目。

演示视频: 基于Springboot的足球俱乐部管理系统(有报告)。Javaee项目,springboot项目。 项目介绍: 采用M(model)V(view)C(controller)三层体系结构&#xff…

简单介绍AudioLM

主要介绍AudioLM,学习资料为知乎文章。这里只介绍核心思想和模块。 AudioLM 基本信息 AudioLM: a Language Modeling Approach to Audio Generation pdf: https://arxiv.org/pdf/2209.03143.pdf 参考资料:https://zhuanlan.zhihu.com/p/637196330 模…

2024年第一届CS2major,新胶囊即将发行,需要提前做哪些布局

2024年第一届CS2major,将会在3月17日哥本哈根开始。 所以: 1、新的胶囊大概率会在3月10日左右发布。 2、网传战队挂坠,不知道是否会出现?(原本出现过战队布章包,由于销量太差,第二届就取消了…

C++多态详解

文章目录 多态概念定义及实现构成条件虚函数虚函数的重写override 和 final重载、覆盖、隐藏 抽象类纯虚函数接口继承与实现继承 多态的原理虚函数表原理动态绑定与静态绑定 多继承的虚函数表多继承中的虚函数表 多态 概念 多态是面向对象三大特性中相对复杂的一个&#xff0…

Java中的数组

数组 定义 数组是相同类型数据的有序集合数组描述的是相同类型的若干个数据,按照一定的先后次序排列组合而成的其中,每一个数据称作一个数组元素,每个数组元素可以通过一个下标来访问他们 声明和创建 首先必须声明数组变量,才…

Spring 面试题及答案整理,最新面试题

Spring框架中的Bean生命周期是什么? Spring框架中的Bean生命周期包含以下关键步骤: 1、实例化Bean: 首先创建Bean的实例。 2、设置属性值: Spring框架通过反射机制注入属性。 3、调用BeanNameAware的setBeanName()&#xff1a…

Android minigbm框架普法

Android minigbm框架普法 引言 假设存在这么一个场景,我的GPU的上层实现走的不是标准的Mesa接口,且GPU也没有提专门配套的gralloc和hwcompoer实现。那么我们的Android要怎么使用到EGL和GLES库呢,并且此GPU驱动是支持drm实现的,也有…

小米澎湃和华为原生鸿蒙,那个更有发展前景?

小米的澎湃系统暂时不了解,但华为的鸿蒙系统值得一说。 就目前鸿蒙而言;24年初鸿蒙星河版面向开发者开放申请。其底座全线自研,去掉了传统的 Linux 内核以及 AOSP 安卓开放源代码项目等代码,仅支持鸿蒙内核和鸿蒙系统的应用。星河…

亚马逊卖家做市场分析业务可以用静态IP代理完成吗?

亚马逊作为全球最大的电商平台之一,其庞大的销售数据和用户行为数据成为了许多商家和市场研究人员进行市场分析和竞争研究的重要来源。而使用IP代理则能够为亚马逊市场分析带来许多帮助,下面就来一一介绍。静态IP代理可以为市场分析带来哪些帮助&#xf…

android开发文档下载,你的技术真的到天花板了吗

Android 基础 1.Activity 1、 什么是 Activity? 2、 请描述一下 Activity 生命周期 …… 2.Service 3.Broadcast Receiver32 4.ContentProvider 5.ListView 6.Intent 7.Fragment 1.Fragment 跟 Activity 之间是如何传值的 2.描述一下 Fragment 的生命周期 3.Fragme…