【计算机网络】带你一文搞懂Http和Https的关系和区别!(最强详解!!)

news2025/1/21 13:02:27

目录

首先来讨论一下Http和Https的背景

基本概念

一、HTTP协议:

二、HTTPS协议:

区别

工作原理

HTTP工作原理

Https工作原理

HTTPS优缺点

优点:

缺点:

HTTP请求消息和响应消息

响应消息

进行TLS握手时的通俗的解释!! 


首先来讨论一下Http和Https的背景

        Http协议(超文本传输协议)被用作Web浏览器和网站服务器之间传递信息,Http协议以明文发送内容,不提供任何形式的数据加密,如果攻击者截取了Web浏览器和网站服务器之间的传输报文,就可以直接获取到信息,因此,Http不适用于传入一些敏感信息(密码,支付信息等内容)    

        为了解决HTTP协议的安全性缺陷,出现了超文本传输安全协议HTTPS。HTTPS在HTTP的基础上引入了SSL(Secure Sockets Layer)协议或其继任者TLS(Transport Layer Security)协议,以提供更安全的数据传输。

        在HTTPS中,SSL/TLS协议通过使用数字证书来验证服务器的身份,并确保通信的加密性和完整性。数字证书由受信任的第三方机构(如证书颁发机构)颁发,其中包含了服务器的公钥和其他相关信息。

基本概念

一、HTTP协议:

  1. 定义:HTTP(超文本传输协议)是一种用于在网络上传输数据的协议。
  2. 请求-响应模型:HTTP协议采用请求-响应模型,客户端发送请求,服务器返回响应。
  3. 数据传输:HTTP用于传输超文本内容,可以包含文本、图像、视频等多种形式的数据。
  4. 目标:HTTP的目标是使网络传输更高效,并能控制文档的显示顺序。

二、HTTPS协议:

  1. 定义:HTTPS(超文本传输安全协议)是在HTTP基础上引入了SSL或TLS协议,提供更安全的数据传输。
  2. 加密和身份认证:HTTPS使用加密和身份认证机制,保证数据在传输过程中的安全性。
  3. 建立连接:浏览器向服务器发送连接请求,服务器返回数字证书,浏览器验证证书的合法性,建立安全通道。
  4. 作用:HTTPS的作用主要体现在保障数据传输的安全性和确认网站真实性两方面。

区别

  1. 安全性:HTTPS通过使用SSL(Secure Sockets Layer)或TLS(Transport Layer Security)协议对传输的数据进行加密,使得数据在传输过程中不容易被窃听或篡改。而HTTP是明文传输,数据未经过加密,容易被攻击者截获并查看或篡改,安全性相对较差。

  2. 证书认证:为了确保连接的安全性和网站真实性,HTTPS需要服务器使用数字证书来进行身份认证。这些证书由权威的CA(Certificate Authority,数字证书认证机构)颁发,用于证明服务器的身份。而HTTP无需进行证书认证,任何人都可以建立一个HTTP服务器。

  3. 端口和连接方式:HTTP使用80端口进行通信,而HTTPS使用443端口。此外,HTTP使用简单的TCP连接来传输数据,而HTTPS在建立连接时需要进行SSL/TLS握手过程,需要额外的通信开销,因此比HTTP稍微慢一些。

  4. 性能和资源消耗:由于HTTPS需要进行加密和解密操作,以及证书认证等复杂过程,相较于HTTP而言,HTTPS在性能方面会稍微有所下降,并且需要更多的服务器资源进行处理。

工作原理

HTTP工作原理

  1. 客户端与服务器建立连接:客户端(通常是浏览器)向服务器发送连接请求。这个连接是通过TCP(传输控制协议)来实现的,一般使用的默认端口号是80。

  2. 客户端发送请求:客户端向服务器发送一个请求,请求包括以下信息:

    • 统一资源标识符(URL):指定请求的资源路径和参数。
    • 协议版本号:指示客户端所使用的HTTP协议版本。
    • 请求修饰符:例如GET、POST等,用于指定请求的类型和操作。
    • 客户端信息:包括浏览器类型、操作系统等。
    • 许可内容:用于验证客户端对资源的访问权限。
  3. 服务器接受请求并返回响应:服务器接收到请求后,会根据请求的内容进行相应的处理。服务器会返回一个响应,响应的格式包括以下信息:

    • 状态行:包含协议版本号和一个用于表示请求成功或错误的状态码。
    • 服务器信息:包括服务器类型、版本号等。
    • 实体信息:请求的资源内容。
    • 可能的内容:响应中可能还包含其他的附加内容,如Cookie等。
  4. 客户端与服务器关闭连接:在完成请求和响应后,客户端和服务器会断开连接,释放资源。

Https工作原理

(1)客户端向服务端443端口发起HTTPS请求。该请求中携带了客户端支持的加密算法和哈希算法;
(2)服务端收到请求,选择浏览器支持的加密算法和哈希算法
(3)服务端将算法和数字证书发送给客户端。该证书包含了用于认证目的的服务器标识,可以是向某个可靠机构申请的,也可以是自制的;
(4)客户端对服务器端的证书进行验证,这一部分是浏览器内置的TLS完成的,具体步骤如下:

  • 首先浏览器会从内置的证书中搜索,找到该证书对应的机构,如果查到了对应的机构,则取出该机构颁发的公钥;如果没有找到,此时浏览器就会提示用户该证书不是由权威机构颁发,是不可信任的。
  • 然后用机构的证书公钥解密,得到证书的内容和证书签名,内容包括网站的网址、网站的公钥、证书的有效期等。浏览器会先验证签名的合法性,签名通过后,浏览器验证证书记录的网址是否和当前网址是一致的,不一致会提示用户。如果网址一致会检查证书有效期,证书过期了也会提示用户。这些都通过认证时,浏览器就可以安全使用证书中的网站公钥了。
  • 服务器生成一个随机密码串pre_master_secret,并使用服务器的公钥对其进行加密。

(5)客户端将加密的随机密码串传送给服务端。
(6)服务器用自己的私钥解密得到随机密码串(私钥),然后通过该随机密码串把网页内容进行对称加密,并传输给浏览器。
(7)浏览器用之前生成的私钥解密算法获取网页内容

HTTPS优缺点

优点:

  1. 安全认证:使用HTTPS可以确保你连接的是正确的网站,避免被钓鱼网站欺骗。
  2. 数据加密:HTTPS通过加密技术保护数据,使得传输过程中的信息无法被窃取或篡改,确保数据的安全性。
  3. 防止中间人攻击:HTTPS ers大大增加了黑客进行中间人攻击的难度。

缺点:

  1. 速度稍慢:相比HTTP,HTTPS会导致页面加载时间延长,并增加一些额外的处理开销。
  2. 无法阻止所有攻击:HTTPS不能完全防止各种类型的攻击,如黑客攻击、拒绝服务攻击等。
  3. SSL证书问题:SSL证书的信用链体系存在安全风险,特别是在某些国家可以控制CA根证书的情况下。
  4. 成本问题:购买和维护SSL证书需要一定费用,对于个人网站或小型网站来说可能并不划算。
  5. IP绑定限制:每个SSL证书通常只能绑定到一个IP上,无法在同一IP上绑定多个域名。

HTTP请求消息和响应消息

在HTTP请求和响应的过程中传递的数据块就叫HTTP消息,包括要传送的数据和一些附加信息,并且要遵守规定好的格式。

请求消息


请求消息是指客户端向服务器端发送请求时所携带的数据块。

请求方式用来规定客户端与服务器端联系的类型。

HTTP协议中客户端8种请求方式如下:

响应消息

响应消息是指服务器端向客户端进行响应请求时所携带的数据块。

在响应消息中,对于客户端的每一次请求,服务器端都要给予响应,在响应的时候我们可以通过状态码告诉客户端此次请求是成功还是失败。

状态代码由3位数字组成,表示请求是否被理解或被满足。HTTP响应状态码的第一个数字定义了响应的类别,后面两位没有具体的分类,第1位数字有5种可能的取值:
1**:请求已接收,需要继续处理。
2**:请求已成功被服务器接收、理解并接受。
3**:为完成请求,客户端需进一步细化请求。
4**:客户端的请求有错误。
5**:服务器端出现错误。

HTTP协议常见的状态码

文章内容参考(http与https概述_https和http csdn_橘猫吃不胖~的博客-CSDN博客)  

进行TLS握手时的通俗的解释!! 

  1. 客户端向服务器发送连接请求。
  2. 服务器回应客户端,并将包含自己的公钥的数字证书发送给客户端。这相当于服务器提供了一个锁。
  3. 客户端收到服务器的数字证书后,首先验证该证书的有效性和真实性。这是为了确保客户端正在与合法的服务器通信。
  4. 客户端生成一个临时密钥(预主密钥),就像是制作一把用于保护数据的安全锁的钥匙。
  5. 客户端使用服务器提供的公钥(锁)来锁住这个临时密钥,相当于在钥匙上加上了一个锁。然后,客户端将这个加锁的临时密钥发送回服务器。
  6. 服务器收到加密的临时密钥后,使用自己的私钥(只有服务器知道的钥匙)来解锁这个加密的临时密钥。这就相当于服务器使用自己的私钥解开了锁,并得到了原始的临时密钥。
  7. 现在,客户端和服务器都拥有相同的临时密钥,它们可以使用这个临时密钥进行后续的通信。这个临时密钥就像是客户端和服务器之间共享的钥匙,用于加密和解密数据。

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

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

相关文章

智能安全帽~生命体征检测与危险气体检测一体化集成设计还是蓝牙无线外挂式方式好?

生命体征(心率、血氧等)检测&上报平台,危险气体采集&上报平台,是智能安全帽产品中常见的两种选配件,它们的实现有两种典型的模式: 1)将传感器集成到主板上,做成一体化的智能…

RabbitMQ工作模式-工作队列

官网关于工作模式的解释地址:https://www.rabbitmq.com/getstarted.html Work Queue(工作队列) 生产者发消息,启动多个消费者来消费消息,每个消费者仅消费部分消息,可达到负载均衡的效果。 创建生产者 i…

java错误解决方案百科

一、业务开发缺陷 ① 工期紧、逻辑复杂,开发人员会更多地考虑主流程逻辑的正确实现,忽略非主流程逻辑,或保障、补偿、一致性逻辑的实现; ② 往往缺乏详细的设计、监控和容量规划的闭环,结果就是随着业务发展出现各种各…

NSS [羊城杯 2020]easyser

NSS [羊城杯 2020]easyser 开题。很容易让人觉得环境坏了。 不要慌,无从下手时。看源码、扫目录、抓包。一套操作下来,发现几个可以下手的路由。 /index.php /robots.txt 访问 /star1.php,一说到百度,就猜测是否存在SSRF。 源码中…

【LeetCode-面试经典150题-day18】

目录 17.电话号码的字母组合 77.组合 46.全排列 52.N皇后Ⅱ 17.电话号码的字母组合 题意: 给定一个仅包含数字 2-9 的字符串,返回所有它能表示的字母组合。答案可以按 任意顺序 返回。 给出数字到字母的映射如下(与电话按键相同&#xf…

Python(Web时代)—— Django数据库(多表)

两表联查 常见的两表关系: 一对多:ForeignKey 举例:一个学生对应多个地址 一般通过外键实现 需要在“多”的那个模型中使用ForeignKey 使用on_delete指定级联删除策略: CASCADE:当父表数据删除时,相对…

xml和json互转工具类

分享一个json与xml互转的工具类&#xff0c;非常好用 一、maven依赖 <!-->json 和 xm 互转</!--><dependency><groupId>org.dom4j</groupId><artifactId>dom4j</artifactId><version>2.1.3</version></dependency&g…

网工内推 | 技术支持工程师,最高40k,CCNP、CISP认证优先

01 卓望公司 招聘岗位&#xff1a;高级技术支持工程师 职责描述&#xff1a; 1、负责网络安全防护类产品技术支持工作&#xff0c;包括但不限于&#xff1a;抗DDoS&#xff0c;云WAF&#xff0c;漏洞扫描等。 2、负责网络安全防护类产品安装、配置、升级和系统加固等维护支撑工…

软考知识汇总--操作系统

操作系统 1 操作系统层次结构图 2 进程管理 2.1 程序与进程 2.1.1 顺序执行 PV操作

【业务功能篇90】微服务-springcloud-检索服务-ElasticSearch实战运用-DSL语句

商城检索服务 1.检索页面的搭建 商品检索页面我们放在search服务中处理&#xff0c;首页我们需要在mall-search服务中支持Thymeleaf。添加对应的依赖 <!-- 添加Thymeleaf的依赖 --><dependency><groupId>org.springframework.boot</groupId><artifa…

设计模式行为型-状态模式

文章目录 简介状态模式基础定义状态接口或抽象类实现具体状态类 上下文类与状态转换上下文类的定义和作用状态转换及触发条件 状态模式的优势与适用性优点一&#xff1a;可维护的代码优点二&#xff1a;清晰的状态管理适用场景一&#xff1a;对象拥有多个状态适用场景二&#x…

分享一个非常有趣的纯css杂志封面折叠效果

&#x1f60a;博主&#xff1a;小猫娃来啦 &#x1f60a;文章核心&#xff1a;有趣的纯css杂志封面折叠效果 文章目录 效果出处效果HTMLCSS 效果出处 这个css杂志封面折叠效果非常有趣&#xff0c;我就转载加以记录。 效果来源于&#xff1a;码上掘金Mad Magazine 效果 HTML…

硬件系统工程师宝典(38)-----常用接口之视频接口的电路设计

各位同学大家好&#xff0c;欢迎继续做客电子工程学习圈&#xff0c;今天我们继续来讲这本书&#xff0c;硬件系统工程师宝典。 上篇我们介绍了一些常用的接口带EMC保护的电路设计&#xff0c;有AC24V、AC110~220V、AV接口、CAN接口、DC12V、DC24V、DC48V接口。今天我们来讲一…

vulhub之MinIO信息泄露漏洞(CVE-2023-28432)

文章目录 0x01 前言0x02 漏洞描述0x03 影响范围0x04 漏洞复现1.启动环境2.查看端口3.构造POC 0x05 修复建议 0x01 前言 本次测试仅供学习使用&#xff0c;如若非法他用&#xff0c;与本文作者无关&#xff0c;需自行负责&#xff01;&#xff01;&#xff01; 0x02 漏洞描述 …

攻防世界-web-fakebook

1. 题目描述 打开链接&#xff0c;这样一个界面 貌似没啥特殊的。。。没关系&#xff0c;我们每个页面都点击一下 login页面&#xff1a;一个简单的登录页面 join界面&#xff1a;不出意外&#xff0c;这应该是一个注册界面 目前&#xff0c;我们什么都不做&#xff0c;能获…

文本匹配实战系列

引言 本系列文章开始介绍深度学习在文本匹配领域的应用&#xff0c;并且会尝试得到各种模型在给定的数据集上的表现。 深度文本匹配发展比较久&#xff0c;积累了很多文本匹配方法。也有很多的分类方式&#xff0c;一种分类方式是表示型和交互型。 表示型方法 表示型(repre…

上海亚商投顾:沪指缩量震荡 数据要素概念午后爆发

上海亚商投顾前言&#xff1a;无惧大盘涨跌&#xff0c;解密龙虎榜资金&#xff0c;跟踪一线游资和机构资金动向&#xff0c;识别短期热点和强势个股。 市场情绪 沪指今日延续反弹&#xff0c;深成指、创业板指盘中涨超1%&#xff0c;随后上演冲高回落走势。数据要素概念午后爆…

universal robot 机械臂 官方基本教程

https://academy.universal-robots.cn/modules/e-Series-core-track/Chinese/module3/story_html5.html?courseId2166&languageChinese 教程1 控制箱内部 包含&#xff1a; 主机板&#xff0c;SD卡&#xff0c;和安全控制板 安全控制板负责所有控制信息&#xff0c;包括…

Android需要掌握的shell脚本基础

linux中sh是链接到bash上的&#xff0c;所以sh与bash在功能上是没有区别的&#xff0c;相当于bash解析器是sh的增强版本&#xff0c;所以安卓开发者可以在 git bash中 测试脚本 1&#xff0c;shell脚本运行与输出指令 $ cat test.sh echo 测试 【输出】$ /bin/bash test.…