网络原理---拿捏HTTPS协议

news2024/12/26 9:19:12

文章目录

  • 什么是HTTPS?
  • HTTPS加密方式
      • 对称加密
      • 非对称加密
      • 引入证书
  • HTTP VS HTTPS

什么是HTTPS?

HTTPS也是一个协议,是在HTTP协议的基础上加了一个“加密层”。

HTTP协议的内容都是按照文本的方式明文传输的,这就导致数据在传输过程中会出现被篡改或者信息被获取到之后就直接能够知道传输的具体内容。这就造成了极大的“信息安全”问题。因此,引入了HTTPS来对信息进行加密!

HTTPS加密方式

首先我们要了解加密方面的一些“术语”:

明文:要传递的原始信息
密文:对明文进行了加密,从表面看不出来要传递的真实信息是什么
密钥:明文生成密文,中间借助的东西

加密:使用密钥,把明文变成密文的过程
解密:使用密钥,把密文变成明文的过程

对称加密:加密和解密用的是同一个密钥
非对称加密:加密和解密用的不是同一个密钥

对称加密

相对简单的加密方式:对称加密。
其中最简单的对称加密是:按位异或

在这里插入图片描述
在这里插入图片描述

非对称加密

为了解决上述的问题:我们就需要引入“非对称加密”

非对称加密就是:加密使用一个密钥、解密再使用一个密钥,这俩个密钥是成对的,而且知道一个无法推测出另一个。可以使用密钥A来加密,用配对的密钥B来解密;也可以使用密钥B来加密,用配对的密钥A来解密

实际中的对称加密方法:
让服务器生成一对非对称密钥,一个是公开出来的,任何人都能获取得到,叫“公钥”;一个是服务器自己私有的,只有自己知道,叫“私钥”。客户端就可以先从服务器拿到服务器的公钥,然后使用公钥对自己要传递的信息进行加密,数据传递到服务器后,服务器使用私钥进行解密就得到了真实的数据(这个过程中,只有服务器有私钥 相对安全)

在这里插入图片描述
在这里插入图片描述

引入证书

中间人入侵的关键就是:它获取到服务器的公钥后能让客户端认为这就是服务器自己的公钥而不是伪造的。解决这个问题就要引入“证书”,让客户端能识别到它是伪造的公钥。

在这里插入图片描述

HTTP VS HTTPS

HTTPS协议相较于HTTP协议只是增加了一个“加密层”,其余内容没有一点变化!我也对HTTP协议的报文格式做出了详细的介绍点击此处浏览“详解HTTP协议请求和响应”

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Android---App 崩溃

崩溃问题是衡量 App 质量的决定性考核标准。Android 系统会输出各种相应的 log 日志,很大程度上降低了工程师 debug 崩溃问题的难度。如果要给 crash 日志进行分类,可以分为2大类:JVM 异常(Exception)堆栈信息和 nativ…

爆肝一文,走进大名鼎鼎的HTTP协议(通俗白话+三万字超详细+抓包工具使用)

文章目录 前言1. HTTP 是什么1.1 HTTP 完整请求流程1.2 理解 HTTP 协议的工作过程 2. HTTP 协议格式2.1 抓包工具的使用2.2 抓包工具的原理2.3 抓包结果2.4 协议格式总结 3. HTTP 请求(Request)3.1 认识 URL(Uniform Resource Locator)URL 基本格式关于 URL encode 3.2 认识请求…

2023.11.10联赛 T4题解

题目大意 题目思路 我们考虑分块处理。 我们可以维护一个状态,表示块内每个字母对应的真实字母,因为只有 3 3 3个字母,所以只有 6 6 6种情况。 对于每一个块,我们可以对于每种状态、每种块,预处理出以 A A A或 B B …

商城免费搭建之java商城 java电子商务Spring Cloud+Spring Boot+mybatis+MQ+VR全景+b2b2c

1. 涉及平台 平台管理、商家端(PC端、手机端)、买家平台(H5/公众号、小程序、APP端(IOS/Android)、微服务平台(业务服务) 2. 核心架构 Spring Cloud、Spring Boot、Mybatis、Redis 3. 前端框架…

19. 深度学习 - 用函数解决问题

文章目录 Hi, 你好。我是茶桁。 上一节课,我们从一个波士顿房价的预测开始写代码,写到了KNN。 之前咱们机器学习课程中有讲到KNN这个算法,分析过其优点和缺点,说起来,KNN这种方法比较低效,在数…

【前端】TypeScript核心知识点讲解

1.TypeScript简介及入门案例 (1)什么是TypeScript? TypeScript 是 JavaScript 的一个超集,支持 ECMAScript 6 (ES6)标准。 TypeScript 由微软开发的自由和开源的编程语言。 TypeScript 设计目标是开发大…

ubuntu 16.04.5 安装 vivado 2019.1 完整编译AD9361的环境

一、前期安装 1、安装ncurses库(已经包含了,其他的os需要安装) sudo apt install libncurses5二、安装 sudo ./xsetup使用lic进行激活。 三、安装后 输入指令 sudo gedit ~/.bashrc 末尾添加 source /opt/Xilinx/Vivado/2019.1/setti…

串口通信(11)-CRC校验介绍算法

本文为博主 日月同辉,与我共生,csdn原创首发。希望看完后能对你有所帮助,不足之处请指正!一起交流学习,共同进步! > 发布人:日月同辉,与我共生_单片机-CSDN博客 > 欢迎你为独创博主日月同…

条件渲染-if/hidden

1.条件渲染的方法 1.1 wx:if方法(少用) block只是一个容器,容器内的都用于if判断 1.2 hidden方法 注:view要小写,否则不生效 1.3方法对比

【狂神说Java】Dubbo + Zookeeper

✅作者简介:CSDN内容合伙人、信息安全专业在校大学生🏆 🔥系列专栏 :狂神说Java 📃新人博主 :欢迎点赞收藏关注,会回访! 💬舞台再大,你不上台,永远…

【java:牛客每日三十题总结-4】

java:牛客每日三十题总结 总结如下 总结如下 集合相关知识点 元素是否排序和插入顺序无关,取决与集合实现是否考虑了传入对象的java.lang.Comparable接口抽象类和接口相关知识 只能说越来越抽象了 java线程通信的方式 在Java中,常用的线程通信方式有两…

轻松下载网页音频和视频

在网页上看到好看的视频或者听到的音乐想保存,让我来教你(仅供学习) 注意:有极少部分的网站视频经过加密,无法下载 一、视频下载 1.打开视频网页 2.右键“检查” 3.刷新网页 4.按照下图中步骤操作 5.把复制的链接放…

【漏洞复现】BYTEVALUE智能流控路由器存在命令执行

【漏洞介绍】 百为智能流控路由器 /goform/webRead/open 路由的 ?path 参数存在有回显的命令注入漏洞。攻击者可通过该漏洞在服务器端执行命令,写入后门,获取服务器权限,从而获取路由器权限。 【指纹】 title”BYTEVALUE 智能流控路由器”…

C语言C位出道心法(五):内存管理

C语言C位出道心法(一):基础语法 C语言C位出道心法(二):结构体|结构体指针|链表 C语言C位出道心法(三):共用体|枚举 C语言C位出道心法(四):文件操作 C语言C位出道心法(五):内存管理 一:C语言内存管理认知 二:C语言中内存堆|栈认知 三:C语言中引用内存丢失认知

数字档案馆实施方案需要考虑哪些因素

数字档案馆实施方案通常需要考虑以下几个方面: 1. 硬件和软件设备的选择:需要根据数字档案馆的规模和需求选购适当的硬件和软件设备,包括服务器、存储设备、数据库、操作系统、专久智能档案管理系统等。 2. 数据的采集和处理:确定…

idea中搭建Spring boot项目(借助Spring Initializer)

创建新项目 启动端口 在项目配置文件application.properties中写入 #启动端口server.port8088编写测试方法 创建控制类文件夹–>便于规范我们新建一个controller包–>建一个HelloWorld.class package com.example.hellospringboot.controller;import org.springframew…

【工具推荐】一键多平台文章发布神器推荐(免费)

hello,大家好,我是你们老朋友洛林,上一篇文章说到自己深受多平台手动发布的折磨「传送门」,准备开发一款文章多平台工具,后来联系到 Wechatsync 原作者进行了简单的沟通,下面是关于以后的一些规划&#xff…

MySQL 批量修改表的列名为小写

1、获取脚本 SELECT concat( alter table , TABLE_NAME, change column , COLUMN_NAME, , lower( COLUMN_NAME ), , COLUMN_TYPE, comment \, COLUMN_COMMENT, \; ) AS 脚本 FROM information_schema.COLUMNS WHERE TABLE_SCHEMA 数据库名 and TABLE_NAME表名-- 大写是up…

让你认识C++中的模板

目录 一. 泛型编程1、定义 二、函数模板1、定义2、格式3、函数模板的实例化(1)、强制转化(2)、显式实例化 三、类模板1、 类模板的定义格式2、实例3、 类模板的实例化 一. 泛型编程 1、定义 泛型编程:编写与类型无关…

Spring封装数据结果

Spring封装数据结果 POST请求JSON格式 基本数据类型 public class Demo {private byte aByte;private short aShort;private int anInt;private long aLong;private float aFloat;private double aDouble;private char aChar;private boolean aBoolean; }没有传键 封装时就会…