当前位置: 首页 > article >正文

网络原理(9):HTTPS 协议初识 对称加密与非对称加密

网络原理9HTTPS协议初识文章目录网络原理9HTTPS协议初识观前提醒1. HTTPS1.1 HTTPS 是什么 组成1.2 引入 HTTPS 的原因2. 加密2.1 密钥2.1 对称加密 非对称加密2.2 对称加密 非对称加密的特点不同3. HTTPS协议 的工作原理4. 总结观前提醒本篇博客所讲到的 HTTPS 是在 HTTP 协议的基础上套上了一层安全层。如果想了解 HTTPS协议建议你先了解一下http协议 的基本格式推荐你看完这篇博客网络原理2TCP/IP五层模型 – 应用层HTTP协议初识同时HTTP协议 的报头中还有着许多的属性也是先建议你先了解了这些属性对 HTTP 协议有一个全面的了解之后再来看这篇博客。关于 HTTP协议报头中的这些属性的详细介绍我编写了一个博客里面存放着其他常见属性的博客链接网络原理✨✨✨HTTP协议 – HTTP请求和HTTP响应常见的属性目录博客你可以点击这个博客链接按顺序进行观看。1. HTTPS1.1 HTTPS 是什么 组成HTTPS也是一个应用层协议是在 HTTP 协议的基础上引入了一个加密层。HTTPS HTTP SSSL / TLSSSL也是一个应用层协议是专门负责加密的。TLS这是 SSL 的升级版。后续SSL 和 TLS我们统一使用 SSL来表示。1.2 引入 HTTPS 的原因为什么要引入HTTPS总结就是两个字安全在这篇博客中网络原理6HTTP请求 – HTTP报头Referer状态码我们讲到了一件事叫运营商劫持我们这里再讲一个例子什么叫做运营商劫持。比如我们现在要下载一个软件叫做 天天动听当没有出现运营商劫持的情况下我们点击下载按钮就会弹出的是天天动听 这个软件的下载链接。被运营商劫持的情况下点击下载按钮就会弹出QQ浏览器的下载链接。由于我们通过网络传输的任何的数据包都会经过运营商的网络设备(路由器交换机等)。那么运营商的网络设备就可以解析出你传输的数据内容并进行篡改。点击 “下载按钮”其实就是在给服务器发送了一个 HTTP请求获取到的HTTP响应其实就包含了 该APP 的下载链接。运营商劫持之后就发现这个请求是要下载天天动听那么就自动的把交给用户的响应给篡改成 “QQ浏览器” 的下载链接了。用一张图来表示劫持的过程是这样的思考下为什么运营商要这么做一件事被金钱蒙蔽了双眼。之所以运营商能够劫持是因为数据传输都是 “明文” 的。明文是没有被加密过的所有我们的数据传输的时候应该要进行加密通过密文来进行传输。HTTPS协议它能够有效的对 明文数据 进行加密传输。这是我们引入 HTTPS 的原因。2. 加密HTTPS协议它能够有效的对 明文数据 进行加密传输。加密就是把 明文(要传输的信息)进行以系列变换生成密文。解密就是把 密文 再进行一系列变换还原成 明文。明文 加密得到 密文。密文 解密得到 明文。通过密文传输运营商就没有那么容易劫持我们的数据对数据进行修改了。对 明文 进行加密我们还需要使用到一个东西叫做密钥。对 明文 进行加密我们提供了两种加密方式第一种对称加密第二种非对称加密2.1 密钥密钥是个什么东西答密钥我们可以认为是一个很长的字符串。密钥可以是二进制的形式也可以是文本形式字符串这个需要根据具体的加密算法来进行确定。比如这一段密钥这是一段根据 RSA加密算法得出来的密钥。加密算法这是密码学中的知识。密码学是一门关于 数学 的学科难度很高学起来很难比高等数学都要难。密码学中主要涉及两个数学学科一个是概率论一个是数论。生成密码学的过程涉及一系列的数学原理。其中原理博主也理解不了2.1 对称加密 非对称加密对称加密加密和解密使用的都是同一个密钥非对称加密加密使用一个密钥假如是 key1解密使用另一个密钥假如是 key2key1 和 key2是存在一定的关联关系的但是他们两个的关系是比较难猜的。一般我们会把一个密钥公开出去这个密钥叫做公开密钥简称公钥另一个密钥服务器自己拿着叫做私有密钥简称私钥下面我们都以 公钥和密钥来进行讲解。对于一段 “明文数据”我们可以使用 公钥加密私钥解密也可以使用 私钥加密公钥解密。2.2 对称加密 非对称加密的特点不同对称加密有以下的特点1. 运算速度快2. 开销资源小少3. 适合针对 大量 数据进行加密例如业务数据非对称加密有以下的特点1. 运算速度慢2. 开销资源大多3. 适合针对 少量 数据进行加密例如密钥讲到这你应该会有所困惑什么意思加密不是对明文数据进行加密吗怎么还可以对 密钥 进行加密为什么要对密钥进行加密这一系列的问题我们会在讲HTTPS协议 的工作原理中为你解答。3. HTTPS协议 的工作原理由于HTTPS协议 的工作原理是一个比较庞大繁琐的讲解过程我们会单独分离一篇博客出来进行讲解这篇博客仅仅是让大家初步了解 HTTPS 的一些基础概念为理解 HTTPS协议 的工作原理做铺垫。HTTPS协议 的工作原理博客网络原理10HTTPS协议的工作原理注意HTTPS协议 的工作原理非常非常重要属于是计算机岗位面试找工作必问面试题4. 总结这篇博客我们主要介绍了HTTPS 是什么 组成引入 HTTPS 的原因什么是密钥对称加密非对称加密对称加密 非对称加密的特点不同以上是 HTTPS协议 的基础概念需要重点掌握。接下来你需要跳转到这篇博客网络原理10HTTPS协议的工作原理详细学习 HTTPS协议 的工作原理这篇博客非常重要。最后如果这篇博客能帮到你的请你点点赞有写错了写的不好的欢迎评论指出谢谢

相关文章:

网络原理(9):HTTPS 协议初识 对称加密与非对称加密

网络原理(9):HTTPS协议初识 文章目录网络原理(9):HTTPS协议初识观前提醒:1. HTTPS1.1 HTTPS 是什么 & 组成1.2 引入 HTTPS 的原因2. 加密2.1 密钥2.1 对称加密 & 非对称加密2.2 对称加密…...

如何使用Skynet框架打造高自由度游戏装备系统:材料合成与属性随机生成完整指南

如何使用Skynet框架打造高自由度游戏装备系统:材料合成与属性随机生成完整指南 【免费下载链接】skynet 一个轻量级的在线游戏框架。 项目地址: https://gitcode.com/GitHub_Trending/sk/skynet Skynet作为一款轻量级在线游戏框架,为开发者提供了…...

终极指南:如何实现 nvim-treesitter 多窗口语法状态同步

终极指南:如何实现 nvim-treesitter 多窗口语法状态同步 【免费下载链接】nvim-treesitter Nvim Treesitter configurations and abstraction layer 项目地址: https://gitcode.com/GitHub_Trending/nv/nvim-treesitter nvim-treesitter 作为 Neovim 生态中最…...

如何快速查看与恢复Magpie窗口放大历史设置?完整指南

如何快速查看与恢复Magpie窗口放大历史设置?完整指南 【免费下载链接】Magpie An all-purpose window upscaler for Windows 10/11. 项目地址: https://gitcode.com/gh_mirrors/mag/Magpie Magpie作为一款功能强大的Windows窗口放大工具,让用户能…...

如何用React Hooks与Context模式构建Conductor前端状态管理系统

如何用React Hooks与Context模式构建Conductor前端状态管理系统 【免费下载链接】conductor Conductor is a microservices orchestration engine. 项目地址: https://gitcode.com/gh_mirrors/condu/conductor Conductor是Netflix开源的微服务编排引擎,其前端…...

DIY-Thermocam实战案例:用自制热成像仪检测电器故障的完整步骤

DIY-Thermocam实战案例:用自制热成像仪检测电器故障的完整步骤 【免费下载链接】diy-thermocam A do-it-yourself thermal imager, compatible with the FLIR Lepton 2.5, 3.1R and 3.5 sensor with Arduino firmware 项目地址: https://gitcode.com/gh_mirrors/d…...

终极指南:如何使用Conductor微服务编排平台解决跨服务工作流难题

终极指南:如何使用Conductor微服务编排平台解决跨服务工作流难题 【免费下载链接】conductor Conductor is a microservices orchestration engine. 项目地址: https://gitcode.com/gh_mirrors/condu/conductor Conductor是Netflix开源的微服务编排引擎&…...

Seafile API批量操作终极指南:高效管理海量文件数据的完整方案

Seafile API批量操作终极指南:高效管理海量文件数据的完整方案 【免费下载链接】seafile High performance file syncing and sharing, with also Markdown WYSIWYG editing, Wiki, file label and other knowledge management features. 项目地址: https://gitco…...

PHP-Interview-Best-Practices-in-China架构篇:高可用PHP应用的负载均衡实现方案

PHP-Interview-Best-Practices-in-China架构篇:高可用PHP应用的负载均衡实现方案 【免费下载链接】PHP-Interview-Best-Practices-in-China 项目地址: https://gitcode.com/gh_mirrors/ph/PHP-Interview-Best-Practices-in-China PHP-Interview-Best-Practi…...

从0到1构建企业级邮件系统:基于go-mail的完整方案

从0到1构建企业级邮件系统:基于go-mail的完整方案 【免费下载链接】go-mail 📧 Easy to use, yet comprehensive library for sending mails with Go 项目地址: https://gitcode.com/gh_mirrors/go/go-mail 在当今数字化时代,企业级邮…...

HiveMQ Community Edition完全指南:开源MQTT broker的终极入门教程

HiveMQ Community Edition完全指南:开源MQTT broker的终极入门教程 【免费下载链接】hivemq-community-edition HiveMQ CE is a Java-based open source MQTT broker that fully supports MQTT 3.x and MQTT 5. It is the foundation of the HiveMQ Enterprise Conn…...

AppRun架构设计思想:为什么选择Elm风格架构?

AppRun架构设计思想:为什么选择Elm风格架构? 【免费下载链接】apprun AppRun is a JavaScript library for developing high-performance and reliable web applications using the elm inspired architecture, events and components. 项目地址: http…...

Tanks of Freedom战役模式攻略:如何征服所有关卡的终极策略

Tanks of Freedom战役模式攻略:如何征服所有关卡的终极策略 【免费下载链接】Tanks-of-Freedom Indie Turn Based Strategy in Isometric Pixel Art 项目地址: https://gitcode.com/gh_mirrors/ta/Tanks-of-Freedom Tanks of Freedom是一款像素风格的回合制策…...

Dapr SDK for .NET分布式锁深度剖析:解决并发控制难题

Dapr SDK for .NET分布式锁深度剖析:解决并发控制难题 【免费下载链接】dotnet-sdk Dapr SDK for .NET 项目地址: https://gitcode.com/gh_mirrors/do/dotnet-sdk 在分布式系统开发中,并发控制是确保数据一致性的关键挑战。Dapr SDK for .NET提供…...

终极指南:掌握dio指数退避策略,让网络请求永不失败

终极指南:掌握dio指数退避策略,让网络请求永不失败 【免费下载链接】dio 项目地址: https://gitcode.com/gh_mirrors/dio/dio 在移动应用和Web开发中,网络请求的稳定性直接影响用户体验。作为Flutter生态中最受欢迎的HTTP客户端&…...

PowerSploit调试终极指南:掌握Write-Verbose输出的完整使用方法

PowerSploit调试终极指南:掌握Write-Verbose输出的完整使用方法 【免费下载链接】PowerSploit PowerShellMafia/PowerSploit: PowerSploit 是一套高级的 PowerShell 渗透测试框架,包含了一系列模块化且高度自定义的安全工具,旨在帮助渗透测试…...

VNote持续集成完整指南:从代码提交到自动构建的终极流程

VNote持续集成完整指南:从代码提交到自动构建的终极流程 【免费下载链接】vnote A pleasant note-taking platform. 项目地址: https://gitcode.com/gh_mirrors/vn/vnote VNote作为一款专注于Markdown的开源笔记平台,其持续集成流程能够帮助开发者…...

uom 核心组件解析:Unit 结构体与量纲系统的设计原理

uom 核心组件解析:Unit 结构体与量纲系统的设计原理 【免费下载链接】uom Units of measurement -- type-safe zero-cost dimensional analysis 项目地址: https://gitcode.com/gh_mirrors/uo/uom uom(Units of measurement)是一个功能…...

Soft Actor-Critic扩展应用:多目标环境与分层策略设计

Soft Actor-Critic扩展应用:多目标环境与分层策略设计 【免费下载链接】sac Soft Actor-Critic 项目地址: https://gitcode.com/gh_mirrors/sa/sac Soft Actor-Critic(SAC)作为一种先进的强化学习算法,以其出色的探索能力和…...

HiveMQ CE未来路线图:探索即将发布的强大新功能

HiveMQ CE未来路线图:探索即将发布的强大新功能 【免费下载链接】hivemq-community-edition HiveMQ CE is a Java-based open source MQTT broker that fully supports MQTT 3.x and MQTT 5. It is the foundation of the HiveMQ Enterprise Connectivity and Messa…...

15个awspec最佳实践:资深开发者不会告诉你的测试技巧

15个awspec最佳实践:资深开发者不会告诉你的测试技巧 【免费下载链接】awspec RSpec tests for your AWS resources. 项目地址: https://gitcode.com/gh_mirrors/aw/awspec awspec是一款专为AWS资源设计的RSpec测试框架,能够帮助开发者通过简洁的…...

Design OS高级技巧:10个提升设计效率的专业方法

Design OS高级技巧:10个提升设计效率的专业方法 【免费下载链接】design-os The missing design process between your product idea and your codebase. 项目地址: https://gitcode.com/gh_mirrors/de/design-os Design OS是连接产品创意与代码库的关键设计…...

Obsidian Advanced Slides布局设计指南:网格与分栏功能全解析

Obsidian Advanced Slides布局设计指南:网格与分栏功能全解析 【免费下载链接】obsidian-advanced-slides Create markdown-based reveal.js presentations in Obsidian 项目地址: https://gitcode.com/gh_mirrors/ob/obsidian-advanced-slides Obsidian Adv…...

Genode第一个应用开发教程:手把手实现客户端-服务器通信案例

Genode第一个应用开发教程:手把手实现客户端-服务器通信案例 【免费下载链接】genode Genode OS Framework 项目地址: https://gitcode.com/gh_mirrors/ge/genode Genode OS Framework是一个功能强大的操作系统框架,专为构建安全、可靠的系统而设…...

Ubuntu22.04安装ROS2 humble

1.配置软件源(关键)打开终端,依次输入:sudo apt update sudo apt install software-properties-common sudo add-apt-repository universe2.添加ROS2 GPG密钥sudo curl -sSL https://raw.githubusercontent.com/ros/rosdistro/mas…...

XHS-Downloader数据解析异常全解析:从500错误到多策略兼容的完整解决方案

XHS-Downloader数据解析异常全解析:从500错误到多策略兼容的完整解决方案 【免费下载链接】XHS-Downloader 免费;轻量;开源,基于 AIOHTTP 模块实现的小红书图文/视频作品采集工具 项目地址: https://gitcode.com/gh_mirrors/xh/…...

如何高效进行B站视频下载?BBDown命令行神器完整使用指南

如何高效进行B站视频下载?BBDown命令行神器完整使用指南 【免费下载链接】BBDown Bilibili Downloader. 一款命令行式哔哩哔哩下载器. 项目地址: https://gitcode.com/gh_mirrors/bb/BBDown BBDown是一款免费且便捷高效的哔哩哔哩下载/解析软件,作…...

Brackets-shell未来展望:下一代Web技术与原生应用融合的发展路线图

Brackets-shell未来展望:下一代Web技术与原生应用融合的发展路线图 【免费下载链接】brackets-shell CEF3-based application shell for Brackets. 项目地址: https://gitcode.com/gh_mirrors/br/brackets-shell Brackets-shell作为基于CEF3的应用外壳&#…...

终极指南:为什么flatpickr是现代前端开发必备的日期选择器

终极指南:为什么flatpickr是现代前端开发必备的日期选择器 【免费下载链接】flatpickr 项目地址: https://gitcode.com/gh_mirrors/fla/flatpickr 在现代前端开发中,选择一个轻量级且功能强大的日期选择器至关重要。flatpickr作为一款广受欢迎的…...

Signature Pad:HTML5画布技术的终极签名解决方案

Signature Pad:HTML5画布技术的终极签名解决方案 【免费下载链接】signature_pad HTML5 canvas based smooth signature drawing 项目地址: https://gitcode.com/gh_mirrors/si/signature_pad Signature Pad是一款基于HTML5 canvas技术的签名绘制工具&#x…...