http和https有哪些不同

http和https有哪些不同

1.数据传输的安全性:http非加密,https加密

2.端口号:http默认80端口,https默认443端口

3.性能:http基于tcp三次握手建立连接,https在tcp三次握手后还有TLS协议的四次握手确认加密,所以http建立连接更快。

4.SEO影响:搜索引擎更偏向于https的网站。

SEO(Search Engine Optimization,搜索引擎优化)是一种通过优化网站内容和结构,提高网站在搜索引擎自然搜索结果中排名的方法。SEO 的目标是增加网站的可见性,吸引更多的有机(非付费)流量,从而提高网站的知名度和业务价值。

我们可能的第一想法就是http是不安全的https是安全的,但是可能不怎么了解为什么,我们现在可以从底层出发了解一下为什么https是安全的。

https之所以安全就是因为数据加密,也就是在tcp三次握手后还有一次加密的操作(TLS协议握手)

TLS协议分为两种算法RSA算法和ECDHE算法:

RSA算法握手流程:

1.客户端问候:主要就是发送以下信息比如使用的TLS的版本、加密套件和随机数。

2.服务器问候:服务端收到客户端的消息后会先检验是否支持TLS的版本,然后选择加密套件和生成一个随机数

3.客户端密钥交换 + 使用加密 + 客户端完成:客户端密钥交换:客户端在验证完服务器的证书后会发送密钥给服务端并且这时还会生成一个新的随机数,然后发送“开始加密”和“客户端结束”消息给服务端

4.服务器使用加密 + 服务器完成:服务端发送“开始使用加密”和服务端结束消息

时序图:
在这里插入图片描述
ECDHE算法握手流程与RSA大致一致就是加密原理不一样,ECDHE 是基于椭圆曲线的 Diffie-Hellman 算法,用于密钥交换。它利用椭圆曲线上的离散对数问题,生成临时的公钥和私钥对,确保每次通信的密钥都是独立的,提供前向安全性。

总之知道https的TLS协议的四次握手流程就行,知道RSA和ECDHE算法的区别在哪。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

LabVIEW滤波器功能

程序通过LabVIEW生成一个带噪声的正弦波信号,并利用滤波器对其进行信号提取。具体来说,它生成一个正弦波信号,叠加高频噪声后形成带噪信号,再通过低通滤波器滤除噪声,提取原始正弦波信号。整个过程展示了信号生成、噪声…

基于华为atlas的重车(满载)空车(空载)识别

该教程主要是想摸索出华为atlas的基于ACL的推理模式。最终实现通过煤矿磅道上方的摄像头,识别出车辆的重车(满载)、空车(空载)情况。本质上是一个简单的检测问题。 但是整体探索过程比较坎坷,Tianxiaomo的…

pytest+allure 入门

使用allure如何生成自动化测试报​​​​​​告 ?一文详解allure的使用 。_allure测试报告-CSDN博客 例子: import allure import pytest import osallure.epic("闹钟") allure.feature("闹钟增删") class TestSchedule():def setu…

excel VBA 基础教程

这里写目录标题 快捷键选择所有有内容的地方 调试VBA录制宏,打开VBA开发工具录制宏,相当于excel自动写代码(两个表格内容完全一致才可以) 查看宏代码保持含有宏程序的文件xlsm后缀(注意很容易有病毒)宏文件安全设置 使…

Excel数据叠加生成新DataFrame:操作指南与案例

目录 一、准备工作 二、读取Excel文件 三、数据叠加 四、处理重复数据(可选) 五、保存新DataFrame到Excel文件 六、案例演示 七、注意事项 八、总结 在日常数据处理工作中,我们经常需要将不同Excel文档中的数据整合到一个新的DataFra…

Django创建数据表、模型、ORM操作

1、创建项目 django-admin startproject PersonInfosProject 2、创建项目应用,进入PersonInfosProject文件夹,新建index应用,使用命令 cd PersonInfosProject python manage.py startapp 新建完成之后的目录结构 3、新建数据模型&#xf…

ZYNQ初识10(zynq_7010)UART通信实验

基于bi站正点原子讲解视频: 系统框图(基于串口的数据回环)如下: 以下,是串口接收端的波形图,系统时钟和波特率时钟不同,为异步时钟,,需要先延时两拍,将时钟同…

【ORACLE战报】2025.1月OCP | MySQL考试

2025.1月【最新考试成绩出炉】 OCP战报 MySQL 战报 部分学员成绩及证书

力扣经典练习题之198.打家劫舍

今天继续给大家分享一道力扣的做题心得今天这道题目是198.打家劫舍,这是一道非常经典的问题,在动态规划中经常考到这类问题,题目如下: 题目链接:198.打家劫舍 1,题目分析 首先此题就是给我们了一个数组,代表可以偷的房屋中的对应的金额,我们是一个小偷,一次可以偷很多…

【数据库】一、数据库系统概述

文章目录 一、数据库系统概述1 基本概念2 现实世界的信息化过程3 数据库系统内部体系结构4 数据库系统外部体系结构5 数据管理方式 一、数据库系统概述 1 基本概念 数据:描述事物的符号记录 数据库(DB):长期存储在计算机内的、…

Redis有哪些常用应用场景?

大家好,我是锋哥。今天分享关于【Redis有哪些常用应用场景?】面试题。希望对大家有帮助; Redis有哪些常用应用场景? 1000道 互联网大厂Java工程师 精选面试题-Java资源分享网 Redis 是一个高性能的开源键值对(Key-Va…

[uniapp] 实现扫码功能,含APP、h5、小程序

🚀 个人简介:某大型国企资深软件开发工程师,信息系统项目管理师、CSDN优质创作者、阿里云专家博主,华为云云享专家,分享前端后端相关技术与工作常见问题~ 💟 作 者:码喽的自我修养&#x1f9…

《异步编程之美》— 全栈修仙《Java 8 CompletableFuture 对比 ES6 Promise 以及Spring @Async》

哈喽,大家好!在平常开发过程中会遇到许多意想不到的坑,本篇文章就记录在开发过程中遇到一些常见的问题,看了许多博主的异步编程,我只能说一言难尽。本文详细的讲解了异步编程之美,是不可多得的好文&#xf…

day07_Spark SQL

文章目录 day07_Spark SQL课程笔记一、今日课程内容二、Spark SQL函数定义(掌握)1、窗口函数2、自定义函数背景2.1 回顾函数分类标准:SQL最开始是_内置函数&自定义函数_两种 2.2 自定义函数背景 3、Spark原生自定义UDF函数3.1 自定义函数流程&#x…

presto不支持concat_ws

在sparksql/hive中,将一个数据集合已指定的分隔符拼接可以用concat_ws,但是在presto中没有这个函数,不过presto提供了一个集合方法array_join,来达到相同的目的 同样的对数据集去重可以用array_distinct 如果你不需要去重就直接…

【日常小记】Ubuntu启动后无图形界面且网络配置消失

【日常小记】Ubuntu启动后无图形界面且网络配置消失 解决方法: 1. 输入后恢复网络: #sudo dhclient 2. 重新安装ubuntu-desktop #sudo apt-get install ubuntu-desktop!!!请关注是否能ping通某网站(例如百度&…

01、kafka知识点综合

kafka是一个优秀大吞吐消息队列,下面我就从实用的角度来讲讲kafka中,“kafka为何有大吞吐的机制”,“数据不丢失问题”,“精准一次消费问题” 01、kafka的架构组织和运行原理 kafka集群各个节点的名称叫broker,因为kaf…

【ArcGIS微课1000例】0137:色彩映射表转为RGB全彩模式

本文讲述ArcGIS中,将tif格式的影像数据从色彩映射表转为RGB全彩模式。 参考阅读:【GlobalMapper精品教程】093:将tif影像色彩映射表(调色板)转为RGB全彩模式 文章目录 一、色彩映射表预览二、色彩映射表转为RGB全彩模式一、色彩映射表预览 加载配套数据包中的0137.rar中的…

Python教程丨Python环境搭建 (含IDE安装)——保姆级教程!

工欲善其事,必先利其器。 学习Python的第一步不要再加收藏夹了!提高执行力,先给自己装好Python。 1. Python 下载 1.1. 下载安装包 既然要下载Python,我们直接进入python官网下载即可 Python 官网:Welcome to Pyt…

2025.1.13运算符重载和继承

作业 #include <iostream> #include <cstring> using namespace std; //在之前做的mystring类的基础上&#xff0c;将能够重载的运算符全部进行重载class mystring { private:char *str;int size;public://无参构造mystring():size(10){str new char[size];str[0…