HTTP与HTTPS是什么?http和https的区别

一、HTTP是什么?

HTTP 是超⽂本传输协议,也就是Hyper Text Transfer Protocol。

HTTP 是⼀个在计算机世界⾥专⻔在「两点」之间「传输」⽂字、图⽚、⾳频、视频等「超⽂本」数据的「约定和规范」。

超⽂本传输协议,它可以拆成三个部分: 超⽂本 、传输 、协议

1. 「协议」

」字,代表的意思是必须有两个以上的参与者。例如三⽅协议⾥的参与者有三个:你、公司、学校三个;租房协议⾥的参与者有两个:你和房东。

」字,代表的意思是对参与者的⼀种⾏为约定和规范。例如三⽅协议⾥规定试⽤期期限、毁约⾦等;租房协议⾥规定租期期限、每⽉租⾦⾦额、违约如何处理等。

2. 「传输」

HTTP 协议是⼀个双向协议。很好理解,就是把⼀堆东⻄从 A 点搬到 B 点,或者从 B 点 搬到 A 点

数据虽然是在 A 和 B 之间传输,但允许中间有中转或接⼒

就好像第⼀排的同学想传递纸条给最后⼀排的同学,那么传递的过程中就需要经过好多个同学(中间⼈),这样的

传输⽅式就从「A < --- > B」,变成了「A <-> N <-> M <-> B」。只要不打扰基本的数据传输,就可以添加任意额外的东⻄。

3. 「超⽂本」

HTTP 传输的内容是「超⽂本」。

「超⽂本」:它就是超越了普通⽂本的⽂本,它是⽂字、图⽚、视频等的混合体,最关键有超链接,能从⼀个超⽂本跳转到另外⼀个超⽂本。

二、HTTPS 解决了 HTTP 的哪些问题?

HTTP 由于是明⽂传输,所以安全上存在以下三个⻛险:

1. 窃听⻛险,明文不加密发送报文,⽐如通信链路上可以获取通信内容,⽤户账号容易被盗。

2. 篡改⻛险,内容可能已遭篡(cuan)改,无法验证报文的完整性,⽐如强制植⼊垃圾⼴告等。

3. 冒充⻛险,不验证通信双方的身份,身份可能被伪装,⽐如冒充淘宝⽹站,⽤户钱财容易丢失。

三、HTTPS 是如何解决上面的三个风险的?

1) 混合加密的⽅式实现信息的机密性,解决了窃听的⻛险

HTTPS 采⽤的是对称加密⾮对称加密结合的「混合加密」⽅式:

. 在通信建⽴前采⽤⾮对称加密的⽅式,后续就不再使⽤⾮对称加密。

  1. A将公钥 key3 发送给B
  2. B将下一阶段加密/解密用的 key4' 放在报文中,并使用公钥 key3 对报文进行加密
  3. A使用私钥 key3' 解密报文,得到 key4'

. 在通信过程中全部使⽤对称加密的⽅式加密明⽂数据。

  1. A和B分别使用 key4' 和 key4对接收/发送的报文进行解密/加密

③. 采⽤「混合加密」的⽅式的原因:

  1. 对称加密只使⽤⼀个密钥,运算速度快,密钥必须保密,⽆法做到安全的密钥交换。
  2. ⾮对称加密使⽤两个密钥:公钥和私钥,公钥可以任意分发⽽私钥保密,解决了密钥交换问题但速度慢。

2) 摘要算法的⽅式来实现完整性,它能够为数据⽣成独⼀⽆⼆的「指纹」,指纹⽤于校验数据的完整性,解决了篡改的⻛险。指纹即摘要

客户端在发送明⽂之前会通过摘要算法算出明⽂的「指纹」,发送的时候把「指纹 + 明⽂」⼀同加密成密⽂后,发送给服务器,服务器解密后,⽤相同的摘要算法算出发送过来的明⽂,通过⽐较客户端携带的「指纹」和当前算出的「指纹」做⽐较,若「指纹」相同,说明数据是完整的。

3) 将服务器公钥放⼊到数字证书中,解决了冒充的⻛险。

借助第三⽅权威机构 CA (数字证书认证机构),将服务器公钥放在数字证书(由数字证书认证

机构颁发)中,只要证书是可信的,公钥就是可信的。

第一阶段的非对称加密中,服务器的公钥key3被包含在数字证书中,客户端收到后,使用CA的公钥,对证书进行解密,验证证书中的数字签名。

操作系统和浏览器会维护一个权威第三方认证机构的列表(包括他们的公钥)

若验证通过,则说明:

  • 颁发此证书的 是真实有效的数字证书认证机构(CA)
  • 该服务器的公钥是值得信赖的(因为CA为其做了背书)

 四、http与https的区别

1. http 是超文本传输协议,信息是明文传输,存在安全风险的问题。HTTPS 则解决 HTTP 不安全的缺陷,在TCP 和 HTTP 网络层之间加入了 SSL/TLS 安全协议,使得报文能够加密传输。

2. http 和 https 使用的是完全不同的连接方式,用的端口也不一样,HTTP 的端⼝号是 80,HTTPS 的端⼝号是 443。

3. HTTP 连接建⽴相对简单, TCP 三次握⼿之后便可进⾏ HTTP 的报⽂传输。⽽ HTTPS 在 TCP 三次握⼿之后,还需进⾏ SSL/TLS 的握⼿过程,才可进入加密报文传输。

4. HTTPS 协议需要向 CA(证书权威机构)申请数字证书,来保证服务器的身份是可信的。一般免费证书比较少,因而需要一定费用。

TLS 和 SSL 没有做区分,这两个需要区分吗?两者一样

SSL 是洋⽂ “Secure Sockets Layer 的缩写,中⽂叫做「安全套接层」。它是在上世纪 90 年代中期,由⽹景公司设计。

到了1999年,SSL 因为应⽤⼴泛,已经成为互联⽹上的事实标准。IETF 就在那年把 SSL 标准化。标准化之后的名

称改为 TLS(是 “Transport Layer Security” 的缩写),中⽂叫做 「传输层安全协议」。

HTTPS = HTTP + 加密 + 认证 + 完整性保护

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

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

相关文章

HTTP与HTTPS的区别,详细介绍

需要查看更多的计算机网络相关的知识&#xff1f;点击这里 目录 HTTP与HTTPS介绍 HTTPS和HTTP的主要区别 HTTPS的主干层次介绍 客户端在使用HTTPS方式与Web服务器通信时的步骤 CA证书的申请及其使用过程 SSL与TLS SSL/TLS历史 SSL/TLS协议的基本过程 SSL/TLS 密码套件…

C++ vector与map的结合运用

目录 vector和map的简单介绍&#xff1a; 今天我们用vector容器和map容器实现以下简单的功能&#xff1a; 案例描述&#xff1a; 图解: ​ 实现步骤&#xff1a; 代码实现&#xff1a; 运行结果&#xff1a; vector和map的简单介绍&#xff1a; map和vector都是C STL&…

系统漏洞利用与提权

任务二&#xff1a;系统漏洞利用与提权 任务环境说明&#xff1a; 服务器场景&#xff1a;PYsystem0033 服务器场景操作系统&#xff1a;Ubuntu 服务器场景用户名:未知 密码&#xff1a;未知 1.使用nmap扫描靶机系统&#xff0c;将靶机开放的端口号按从小到大的顺序作为F…

pycharm内置Git操作失败的原因

文章目录 问题简介解决方案DNS缓存机制知识的自我理解 问题简介 最近在pycharm中进行代码改动递交的时候&#xff0c;总是出现了连接超时或者推送被rejected的情况&#xff0c;本以为是开了代理导致的&#xff0c;但是关闭后还是推送失败&#xff0c;于是上网查了以后&#xf…

集群模式下,redis锁的问题,红锁

在使用redis来实现分布式锁的时候&#xff0c;如果redis是集群的&#xff0c;比如1主4从&#xff0c;这种主从模式就会存在延迟问题&#xff0c;导致加锁出现问题。 此时就应该使用红锁的方案&#xff0c;即在代码中不依赖于主从&#xff0c;将这5台机器视为平等的&#xff0c…

redis锁

用django-redis很容易实现redis分布式锁&#xff0c;但本文介绍用另外一种方式redis模块来实现redis锁—过期后自动解锁。 from celery_demo.celery import app import time from celery import Celery, platforms # from django.core.cache import cache import redisplatfor…

深入理解Redis分布式锁

背景 项目中有个场景是做数据分析&#xff0c;然后将目标数据保存在db,有个要求是将同类型的目标数据值保存一次&#xff0c;因此每次保存时需要判断之前是否已经存在了&#xff0c;由于qps较高&#xff0c;之前使用redis来缓存已经保存的数据&#xff0c;来抵挡对db的大部分流…

redis锁的几种实现

1. redis加锁分类 redis能用的的加锁命令分表是INCR、SETNX、SET 2. 第一种锁命令INCR 这种加锁的思路是&#xff0c; key 不存在&#xff0c;那么 key 的值会先被初始化为 0 &#xff0c;然后再执行 INCR 操作进行加一。 然后其它用户在执行 INCR 操作进行加一时&#xff0…

java redis锁_Java中Redis锁的实现

由于具体业务场景的需求,需要保证数据在分布式环境下的正确更新,所以研究了一下Java中分布式锁的实现。 Java分布式锁的实现方式主要有以下三种: 数据库实现的乐观锁 Redis实现的分布式锁 Zookeeper实现的分布式锁 其中,较常用的是前两种方式,但是数据库实现方式需要较多的…

设计模式之~工厂系列

目录 简单工厂模式 工厂方法模式 简单工厂 VS 工厂方法 抽象工厂模式&#xff1a; 拓展&#xff1a; 利用简单工厂模式优化抽象工厂 利用反射抽象工厂 进行优化 反射配置文件抽象工厂进行优化 简单工厂模式 优点&#xff1a;简单工厂模式的最大优点在于工厂类包含…

【无标题】win11打开VMware虚拟机蓝屏解决

win11打开VMware虚拟机蓝屏解决 win11打开虚拟机蓝屏&#xff01;&#xff01;&#xff01;解决方案&#xff1a;win11支持16.2以上版本&#xff0c;其他版本不兼容&#xff0c;可用文末的卸载工具卸载之前已安装版本&#xff08;深度卸载&#xff09;&#xff0c;然后下载16.2…

数字图像学笔记 —— 18. 图像抖动算法

文章目录 为什么需要图像抖动图像抖动算法实现的基本思路常见图像抖动算法实现Floyd-Steinberg 抖动算法Atkinson 抖动算法算法实现 为什么需要图像抖动 在数字图像中&#xff0c;为了表示数字图像的细节&#xff0c;像素的颜色深度信息最少也是8位&#xff0c;即 0 − 256 0…

vulhub-Jarbas(易)

打靶练习Jarbas 0x00 部署0x01 信息收集&#xff1a;端口扫描、服务发现0x02 路径爬取0x03 反弹shell0x04 内网信息收集0x05 crontab定时任务提权0x06 总结 0x00 部署 靶机&#xff1a;下载地址 宿主机&#xff1a;kali2021版本 0x01 信息收集&#xff1a;端口扫描、服务发现…

什么是先进存力?曙光存储:内铸数字底座,外成实践底气

5月26日&#xff0c;由DOIT联合中国电子学会共同举办的2023数据基础设施技术峰会在苏州举办。中科曙光存储产品事业部副总经理张新凤受邀参会&#xff0c;并在主论坛发表主题演讲&#xff0c;与数百位业内专业嘉宾伙伴共探存力发展未来。 什么样的存力能打造数字经济底座&#…

尚硅谷在线教育视频点播

文章目录 1. 开通阿里云视频点播服务2.阿里云点播SDK实现2.1上传视频到阿里云视频点播服务2.2整合阿里云上传视频的接口 3. 课程信息的完善&#xff08;为每个课程的小节添加视频&#xff09;3.1 添加上传视频3.2删除视频信息3.2.1后台3.2.2前端 1. 开通阿里云视频点播服务 选…

阿里云视频点播的使用

1.简介&#xff1a;视频点播&#xff08;ApsaraVideo for VoD&#xff09;是集音视频采集、编辑、上传、自动化转码处理、媒体资源管理、分发加速于一体的一站式音视频点播解决方案。 2.视频点播的使用&#xff1a; 2.1引入相关依赖&#xff1a;阿里云上有也可以进行直接使用 …

java red5 点播_树莓派实用RED5搭建流媒体服务器实现点播功能

1&#xff0c;搭建流媒体服务器一直是自己想玩的一个东西&#xff0c;在高中玩workerman框架时有人就做过nginx通过rtmp模块搭建流媒体服务器&#xff0c;nginx的特性就是高并发&#xff0c;轻量级&#xff0c;一般大型企业都会采用这个服务器&#xff0c;但是由于&#xff0c;…

Nginx 搭建RTMP视频点播 直播 HLS服务器

安装Nginx --下载nginx-rtmp-module模块 git clone https://github.com/arut/nginx-rtmp-module.git--安装依赖 yum install -y wget gcc gcc-c make pcre pcre-deve zilib zlib-devel openssl-devel--下载Nginx源码包并解压 wget http://nginx.org/download/nginx-1.18.0.tar…

阿里云视频点播

目录 1.控制台介绍 2.环境准备 3.视频上传 4.视频删除 5.获取播放地址 6.获取播放凭证 1.控制台介绍 存储小于50G免费的&#xff0c;转码、流量都是需要付费的 视频存储 需要配置域名 2.环境准备 需要拿到这个key和secret&#xff0c;配置在项目中 3.视频上传 /*** 上传…

陕西发布!陕西省重点实验室申报条件类别、认定程序要求

本文整理了陕西省重点实验室申报条件&#xff0c;认定材料等相关内容&#xff0c;感兴趣的朋友快跟小编一起来看看吧&#xff01; 一、总体思路 本次省重点实验室布局建设工作以填补我省优势学科领域下无省级及以上科学与工程研究类科技创新基地的空白为主,同时兼顾前沿、新兴、…