【Http和Https区别】

概念:

一、Http协议

HTTP(超文本传输协议)是一种用于传输超媒体文档(如HTML)的应用层协议,主要用于Web浏览器和服务器之间的通信。http也是客户端和服务器之间请求与响应的标准协议,客户端通常是浏览器,服务器则是托管网站的设备。

1、工作原理

请求:客户端向服务器发送HTTP请求,包含方法(如GET、POST)、URL、协议版本、请求头和可选的消息体。
响应:服务器返回HTTP响应,包含状态码(如200、404)、响应头和消息体(如HTML内容)。

2、特点

无状态:每个请求独立,服务器不保留之前的请求信息。
可扩展:通过请求头和响应头支持多种功能。
灵活:可传输HTML、JSON、XML等多种数据类型。

简要理解什么是HTTP?

HTTP(超文本传输协议)就像没有封口的快递信封

  • 明文传输:快递单内容谁都能看(数据不加密)
  • 快速送货:不检查快递员身份(无身份验证)
  • 门牌号80:默认送到80号仓库(端口80)

二、Https协议

HTTPS(超文本传输安全协议)是HTTP的安全版本,通过TLS/SSL加密数据传输,确保通信的隐私和完整性。HTTPS在HTTP基础上加入TLS/SSL加密层,保护数据在传输过程中不被窃取或篡改。

1、工作原理

加密:使用TLS/SSL加密数据,防止中间人攻击。
证书:服务器提供数字证书,由受信任的证书颁发机构(CA)签发,验证服务器身份。
握手:客户端与服务器通过TLS握手建立安全连接,协商加密算法和密钥。

2、特点

安全性:加密数据,防止窃听和篡改。
身份验证:数字证书确保客户端与合法服务器通信。
数据完整性:防止数据在传输中被篡改。

简要理解什么是HTTPS?

HTTPS = HTTP + 防弹玻璃(SSL/TLS加密)

  • 加密快递单:用密码书写内容(数据加密)
  • 身份检查:核对快递公司执照(CA证书)
  • 专用通道443:走VIP运输通道(端口443)

三、区别

http和https有一些核心的区别。比如最重要的安全性,和端口等等。
1、安全性
HTTP:
数据以明文形式传输,容易被中间人攻击。
例如:如果你在HTTP网站上输入密码,黑客可以通过网络工具轻松获取你的密码。
HTTPS:
数据通过TLS/SSL加密,即使被截获,也无法解密。
例如:在HTTPS网站上输入密码,即使黑客截获了数据,也只能看到乱码。
2、协议与端口
HTTP:
基于TCP协议,默认使用端口80。
例如:访问http://abc.com时,实际访问的是http://abc.com:80。
HTTPS:
基于TLS/SSL协议,默认使用端口443。
例如:访问https://abc.com时,实际访问的是https://abc.com:443。
3、身份验证
HTTP:
没有身份验证机制,无法确认服务器是否合法。
例如:你访问一个HTTP网站,无法确定它是否是钓鱼网站。
HTTPS:
使用数字证书验证服务器身份。证书由受信任的证书颁发机构(CA)签发。
例如:访问https://abc.com时,浏览器会检查证书是否有效,确保你访问的是真正的abc.com。
4、数据完整性
HTTP:
不保证数据完整性,数据可能在传输过程中被篡改。
例如:有些无聊的人可以修改HTTP网站返回的内容,插入恶意代码。
HTTPS:
通过加密和消息认证码(MAC)确保数据完整性,防止篡改。
例如:HTTPS网站返回的内容如果被篡改,浏览器会检测到并警告用户。
5、性能
HTTP:
没有加密开销,传输速度较快。
例如:加载一个HTTP网站时,速度通常比HTTPS快。
HTTPS:
由于加密和解密过程,会增加一定的性能开销。
例如:加载一个HTTPS网站时,速度可能稍慢,但现在的硬件已经减少挺多这种差距了。

四、总结

HTTP是Web通信的基础协议,但因其不安全性,已逐渐被HTTPS取代。HTTPS通过加密和身份验证,确保数据传输的安全性和完整性,是现代Web的标配。无论是为了保护用户隐私,还是提升网站的可信度,HTTPS都是不可或缺的。

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

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

相关文章

Unity Shader 学习13:屏幕后处理 - 使用高斯模糊的Bloom辉光效果

目录 一、基本的后处理流程 - 以将画面转化为灰度图为例 1. C#调用shader 2. Shader实现效果 二、Bloom辉光效果 1. 主要变量 2. Shader效果 (1)提取较亮区域 - pass1 (2)高斯模糊 - pass2&3 (3&#xff…

【R语言】dplyr包经典函数summarise函数

dplyr包经典函数summarise函数,后面改名乘reframe函数了,但是summarise仍然适用 这个函数的返回结果是一个新的数据框,下面讲一下几种常见用法 示例数据为R自带的数据集mtcars 1.不分组 mtcars %>%summarise(mean mean(disp), n n()…

使用DeepSeek/ChatGPT等AI工具辅助编写wireshark过滤器

随着deepseek,chatgpt等大模型的能力越来越强大,本文将介绍借助deepseek,chatgpt等大模型工具,通过编写提示词,辅助生成全面的Wireshark显示过滤器的能力。 每一种协议的字段众多,流量分析的需求多种多样,…

vscode设置自动换行

vscode设置自动换行 方法 方法 点击文件->首选项->设置。搜索word wrap -> 选择 on 。 搜索Word Wrap,并把选项改为on。

QT 中的元对象系统(一):元对象和元数据

目录 1.为什么需要元系统 2.元数据 3.模拟元对象系统 3.1.元对象声明 3.2.对C扩展 3.3初始化元对象 3.4.使用元对象 4.QT的元系统 4.1.元对象系统基于QObject类、Q_OBJECT宏、元对象编译器MOC实现 4.2.元对象系统的功能 4.3.Q_PROPERTY()的使用 4.4.Q_INVOKABLE使用…

Pytorch实现之浑浊水下图像增强

简介 简介:这也是一篇非常适合GAN小白们上手的架构文章!提出了一种基于GAN的水下图像增强网络。这种网络与其他架构类似,生成器是卷积+激活函数+归一化+残差结构的组成,鉴别器是卷积+激活函数+归一化以及全连接层。损失函数是常用的均方误差、感知损失和对抗损失三部分。 …

TCPDF 任意文件读取漏洞:隐藏在 PDF 生成背后的危险

在网络安全的世界里,漏洞就像隐藏在黑暗中的“定时炸弹”,稍有不慎就会引发灾难性的后果。今天,我们要聊的是一个与 PDF 生成相关的漏洞——TCPDF 任意文件读取漏洞。这个漏洞可能让攻击者轻松读取服务器上的敏感文件,甚至获取整个…

【Git】六、企业级开发模型

文章目录 Ⅰ. 前言Ⅱ. 系统开发环境Ⅲ. Git 分支设计规范master分支release分支develop分支feature分支hotfix分支 Ⅰ. 前言 ​ 我们知道,一个软件从零开始到最终交付,大概包括以下几个阶段:规划、编码、构建、测试、发布、部署和维护。 ​…

Kafka可视化工具EFAK(Kafka-eagle)安装部署

Kafka Eagle是什么? Kafka Eagle是一款用于监控和管理Apache Kafka的开源系统,它提供了完善的管理页面,例如Broker详情、性能指标趋势、Topic集合、消费者信息等。 源代码地址:https://github.com/smartloli/kafka-eagle 前置条件…

C++:dfs,bfs各两则

1.木棒 167. 木棒 - AcWing题库 乔治拿来一组等长的木棒,将它们随机地砍断,使得每一节木棍的长度都不超过 5050 个长度单位。 然后他又想把这些木棍恢复到为裁截前的状态,但忘记了初始时有多少木棒以及木棒的初始长度。 请你设计一个程序…

电子商务网站租用香港服务器的好处有哪些?

电子商务网站租用香港服务器的好处主要包括: 香港服务器提供高速的网络连接,国内访问速度优势明显,满足企业内部数据传输和远程办公需求。拥有国际出口带宽优势,实现与全球各地的高速连接,对跨国业务和海外市场拓展至关…

stm32108键C-B全调性_动态可视化乐谱钢琴

108键全调性钢琴 一 基本介绍1 项目简介2 实现方式3 项目构成 二 实现过程0 前置基本外设驱动1 声音控制2 乐谱录入&基础乐理3 点阵屏谱点动态刷新4 项目交互控制5 录入新曲子过程 三 展示,与链接视频地址1 主要功能函数一览2 下载链接3 视频效果 一 基本介绍 …

【p-camera-h5】 一款开箱即用的H5相机插件,支持拍照、录像、动态水印与样式高度定制化。

【开源推荐】p-camera-h5:一款轻量级H5相机插件开发实践 一、插件背景 在Web开发中,原生摄像头功能的集成往往面临以下痛点: 浏览器兼容性问题视频流与水印叠加实现复杂移动端适配困难功能定制成本高 为此,p-camera-h5 —— 一…

交叉编译curl(OpenSSL)移植ARM详细步骤

运行配置脚本 使用 Configure 脚本配置 OpenSSL,指定目标平台和安装路径: curl downloads 各个版本 Old 1.1.1 Releases | OpenSSL Library 各个版本 从 OpenSSL 官网下载源码包 tar -xzf openssl-1.1.1b.tar.gz cd openssl-1.1.1b/运行配置脚本 使…

大语言模型中的 Token如何理解?

在大语言模型中,Token 是文本处理的基本单元,类似于“文字块”,模型通过将文本分割成Token来理解和生成内容。举一个形象一点的例子,可以理解为 AI 处理文字时的“最小积木块”。就像搭乐高时,每块积木是基础单位一样&…

表单制作代码,登录动画背景前端模板

炫酷动效登录页 引言 在网页设计中,按钮是用户交互的重要元素之一。一个炫酷的按钮特效不仅能提升用户体验,还能为网页增添独特的视觉吸引力。今天,我们将通过CSS来实现一个“表单制作代码,登录动画背景前端模板”。该素材呈现了数据符号排版显示出人形的动画效果,新颖有…

1分钟用DeepSeek编写一个PDF转Word软件

一、引言 如今,在线工具的普及让PDF转Word成为了一个常见需求,常见的pdf转word工具有收费的wps,免费的有pdfgear,见下文: PDFgear:一款免费的PDF编辑、格式转化软件-CSDN博客 还有网上在线的免费pdf转word工具smallp…

【找工作】C++和算法复习(自用)

文章目录 C头文件自定义排序函数stl 算法数据结构树状数组 数学字符串manacherkmp 自用随便记录 C 排序 stl 头文件 全能头文件&#xff1a; #include<bits/stdc.h>自定义排序函数 bool compare(const int &odd1,const int &odd2) {return odd1>odd2; }…

请谈谈 React 中的状态管理,如何使用 Context API 和 Redux 进行状态管理?

一、Context API 深度应用 1. 核心实现原理 通过createContext创建上下文对象&#xff0c;使用Provider组件包裹需要共享状态的组件树&#xff0c;子组件通过useContext Hook或Consumer组件消费数据。 代码示例&#xff08;主题切换场景&#xff09;&#xff1a; // 创建上…

kotlin的Int类型调用toString()会导致空指针吗

DeepSeek R1 思考 38 秒 思考过程 用户的问题是关于Kotlin中Int类型调用toString()是否会导致空指针异常。首先&#xff0c;我需要回忆Kotlin的基本类型系统。Kotlin中的Int属于基本数据类型&#xff0c;但它在语言层面被表示为非空类型。也就是说&#xff0c;Int变量本身不能…