http和https的区别?

什么是 HTTP?

HTTP是一种互联网数据传输协议,用于在网络服务器和客户端之间进行数据传输。作为万维网的基础,HTTP协议允许网络浏览器向网络服务器发送请求,服务器则会返回响应。HTTP协议基于文本,因此传输的数据是人类可读的格式。

HTTP:超文本传输协议,是互联网应用最广泛的一种网络协议。设计的最初目的是为了提供一种发布和接收HTML页面的方法。是以明文的形式来传输的,所以就会存在一定的安全隐患(因为攻击者可以截取web服务器和网站相关的报文,就可以直接读懂其中的信息,因此HTTP协议不适合传输一些敏感的信息。

具体而言,HTTP协议是基于请求-响应模式运行的,在传输控制协议(TCP)之上进行传输。当客户端(通常是Web浏览器)向服务器发送请求时,它将发送HTTP请求消息。服务器将以HTTP响应消息的形式进行回应,其中包含请求类型、标头和正文等信息。通过这种方式,HTTP协议允许浏览器和服务器进行通信,并能够在互联网上传输文本、图像、视频和其他类型的数据。

什么是 HTTPS?

HTTPS 是 HTTP 的加密版本。它通过结合 HTTP 和安全套接字层 (SSL) 或传输层安全 (TLS) 协议来加密 Web 服务器和客户端之间传输的数据。HTTPS 加密用于保护敏感数据,例如密码、信用卡号和其他个人信息。

HTTPS 的工作原理与 HTTP 类似,主要区别在于服务器和客户端之间发送的数据是加密的。这种加密有助于防止未经授权访问敏感数据。

HTTPS:超文本传输安全协议,是一种透过计算机网路进行安全通信的传输协议。HTTPS经由HTTP进行通信,但利用SSL/TLS来加密数据包。HTTPS的开发目的,是为了提供网站服务器的安全认证,保护交换数据的隐私与完整性。

HTTP 和 HTTPS 的区别

与HTTP相比,HTTPS的工作原理类似,主要区别在于服务器和客户端之间发送的数据是加密的。这种加密有助于防止未经授权访问敏感数据。
在这里插入图片描述

HTTP和HTTPS的主要区别在于以下几个方面:

1、加密

加密是 HTTP 和 HTTPS 之间的主要区别之一。HTTPS 使用 SSL 或 TLS 来加密数据,使其比 HTTP 安全得多。当通过 HTTPS 传输时,数据在通过 Internet 发送之前被加密。这种加密有助于防止未经授权访问敏感数据,例如信用卡号和密码。

2、证书认证

证书认证是 HTTP 和 HTTPS 的另一个区别。当 Web 浏览器通过 HTTPS 连接到 Web 服务器时,服务器会向浏览器发送数字证书。该证书包含特定于服务器的信息,包括服务器的公钥。浏览器随后使用此证书与服务器建立安全连接。

3、端口号

HTTP 使用端口 80,而 HTTPS 使用端口 443。这意味着当您通过 HTTP 访问网站时,URL 以 开头http://,而通过 HTTPS 的 URL 以 开头https://。

4、表现

由于加密和解密数据的额外开销,HTTPS 通常比 HTTP 慢。然而,SSL 和 TLS 协议的进步显着降低了这种开销,使 HTTPS 比以前快得多。

为啥HTTPS成为新宠儿

为啥HTTPS已成为Web开发人员和用户的首选,原因如下:

1、安全性:

HTTPS使用加密技术来保护客户端和服务器之间的通信,保护用户数据的隐私和安全。

2、可信性:

HTTPS使用数字证书来验证服务器的身份,确保用户正在连接到正确的服务器。

3、改善排名:

Google已明确表示,使用HTTPS将成为搜索排名的一个因素。因此,使用HTTPS可以帮助提高网站的排名。

4、提供更好的用户体验:

由于HTTPS可以防止中间人攻击和欺骗,因此用户可以放心地浏览和交互,从而提供更好的用户体验。

结论:最后,HTTPS 正迅速成为 Web 开发人员和用户的首选协议。它提供比 HTTP 更高的安全性,使其成为发送敏感数据的网站的绝佳选择。虽然 HTTPS 通常比 HTTP 慢,但性能差异可以忽略不计,使其成为所有类型网站的可行选择。

作为开发人员,您必须了解 HTTP 和 HTTPS 之间的区别,并尽可能使用 HTTPS。通过使用 HTTPS,您可以帮助保护用户数据并与您的受众建立信任。

HTTP与HTTPS的原理

HTTP原理:

首先需要明白的就是客户端首先通过网络与服务器建立连接,这个连接是通过TCP来完成的,一般TCP连接的端口号是80。建立连接之后,客户机发送一个请求给服务器,请求的格式为:统一资源标识符(URI)、协议版本号,后边是MIME信息包括请求修饰符、客户机信息和许可内容。

服务端接到请求后,给予相应的相应信息,其格式为一个状态行,包括信息的协议版本号、一个成功或错误的代码,后边是MIME信息包括服务器信息、实体信息和可能的内容。

HTTPS原理

说到https,他和http最主要的区别操作就在于它在应用层和传输层之间加上了一个SSL安全协议的认证。其目的是为了保证数据在传输的过程中不会被第三方查看到。

HTTPS连接的一个过程

在这里插入图片描述

① 客户端的浏览器向服务器发送请求,并传送客户端 SSL 协议的版本号,加密算法的种类,产生的随机数,以及其他服务器和客户端之间通讯所需要的各种信息。

② 服务器向客户端传送 SSL 协议的版本号,加密算法的种类,随机数以及其他相关信息,同时服务器还将向客户端传送自己的证书。

③ 客户端利用服务器传过来的信息验证服务器的合法性,服务器的合法性包括:证书是否过期,发行服务器证书的 CA 是否可靠,发行者证书的公钥能否正确解开服务器证书的 “发行者的数字签名”,服务器证书上的域名是否和服务器的实际域名相匹配。如果合法性验证没有通过,通讯将断开;如果合法性验证通过,将继续进行第四步。

④ 用户端随机产生一个用于通讯的 “对称密码”,然后用服务器的公钥(服务器的公钥从步骤②中的服务器的证书中获得)对其加密,然后将加密后的“预主密码”传给服务器。

⑤ 如果服务器要求客户的身份认证(在握手过程中为可选),用户可以建立一个随机数然后对其进行数据签名,将这个含有签名的随机数和客户自己的证书以及加密过的密钥一起传给服务器。

⑥ 如果服务器要求客户的身份认证,服务器必须检验客户证书和签名随机数的合法性,具体的合法性验证过程包括:客户的证书使用日期是否有效,为客户提供证书的 CA 是否可靠,发行 CA 的公钥能否正确解开客户证书的发行 CA 的数字签名,检查客户的证书是否在证书废止列表(CRL)中。检验如果没有通过,通讯立刻中断;如果验证通过,服务器将用自己的私钥解开加密的私钥,然后执行一系列步骤来产生主通讯密码(客户端也将通过同样的方法产生相同的主通讯密码)。

⑦ 服务器和客户端用相同的对称加密密钥,对称密钥用于 SSL 协议的安全数据通讯的加解密通讯。同时在 SSL 通讯过程中还要完成数据通讯的完整性,防止数据通讯中的任何变化。

⑧ 客户端向服务器端发出信息,指明后面的数据通讯将使用的步骤 ⑦ 中的主密码为对称密钥,同时通知服务器客户端的握手过程结束。

⑨ 服务器向客户端发出信息,指明后面的数据通讯将使用的步骤 ⑦ 中的主密码为对称密钥,同时通知客户端服务器端的握手过程结束。

⑩ SSL 的握手部分结束,SSL 安全通道的数据通讯开始,客户和服务器开始使用相同的对称密钥进行数据通讯,同时进行通讯完整性的检验。

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

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

相关文章

HTTP:http上传文件的原理及java处理方法的介绍

为了说明原理&#xff0c;以下提供一个可以上传多个文件的例子&#xff0c;html页面代码如下&#xff1a; <!DOCTYPE html> <html> <head> <meta charset"UTF-8"> <title>http upload file</title> </head> <body>…

windows使用vim编辑文本powershell

windows使用vim编辑文本 1、安装 chocolatey 包 以管理员身份打开 PowerShell 进行安装 Set-ExecutionPolicy Bypass -Scope Process -Force; iex ((New-Object System.Net.WebClient).DownloadString(https://chocolatey.org/install.ps1))2、管理员身份打开 PowerShell 并使…

【element-ui】el-dialog改变宽度

dialog默认宽度为父元素的50%&#xff0c;这就导致在移动端会非常的窄&#xff0c;如图1&#xff0c;需要限定宽度。 解决方法&#xff1a;添加custom-class属性&#xff0c;然后在style中编写样式&#xff0c;注意&#xff0c;如果有scoped限定&#xff0c;需要加::v-deep &l…

MP中的字段还可以利用函数来查询拼接sql

//根据value查询GetMapping("getTest")public List<HashMap> getTest() {QueryWrapper<TTest> queryWrapper new QueryWrapper<>();queryWrapper.eq("substr(name,1,2)","99999");List<TTest> list1 testService.list…

聚观早报|OpenAI宣布推出企业版ChatGPT;苹果公司开设8家新店

【聚观365】8月30日消息 OpenAI宣布推出企业版ChatGPT 比亚迪上半年净利润109.5亿元 歌尔股份上半年净利润4.22亿元 一起教育科技Q2营收6925万元 苹果公司今年开设8家新店 OpenAI宣布推出企业版ChatGPT 据外媒报道&#xff0c;当地时间周一&#xff0c;美国人工智能研究…

基础论文学习(5)——MAE

MAE&#xff1a;Masked Autoencoders Are Scalable Vision Learners Self-Supervised Learning step1&#xff1a;先用无标签数据集&#xff0c;把参数从一张白纸训练到初步预训练模型&#xff0c;可以得到数据的 Visual Representationstep2&#xff1a;再从初步成型&#x…

群晖NAS:DSM7.1激活Advanced Media Extensions【自留记录】

群晖NAS&#xff1a;DSM7.1激活Advanced Media Extensions【自留记录】 本文仅半白群晖可用&#xff0c;不需要安装其他套件或者ssh修改什么 使用DS Video 网页播放视频时候&#xff0c;提示&#xff1a;【不支持当前所选音轨的文件格式&#xff0c; 因此无法播放视频。请尝试…

IDA Pro反汇编工具下载安装使用

一、前言 IDA Pro&#xff08;Interactive Disassembler Professional&#xff09;简称“IDA”&#xff0c;是Hex-Rays公司出品的一款交互式反汇编工具&#xff0c;是目前最棒的一个静态反编译软件&#xff0c;为众多0day世界的成员和ShellCode安全分析人士不可缺少的利器。ID…

【无线点对点网络时延分析和可视化】模拟无线点对点网络中的延迟以及物理层和数据链路层之间的相互作用(Matlab代码实现)

&#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️&#x1f4a5;&#x1f4a5; &#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜密&#xff0c;逻辑清晰&#xff0c;为了方便读者。 ⛳️座右铭&a…

Debian 30 周年,生日快乐!

导读近日是 Debian 日&#xff0c;也是由伊恩-默多克&#xff08;Ian Murdock&#xff09;创立的 Debian GNU/Linux 通用操作系统和社区支持的 Debian 项目 30 周年纪念日。 不管你信不信&#xff0c;从已故的伊恩-默多克于 1993 年 8 月 16 日宣布成立 Debian 项目&#xff0c…

如何用Python爬虫持续监控商品价格

目录 持续监控商品价格步骤 1. 选择合适的爬虫库&#xff1a; 2. 选择目标网站&#xff1a; 3. 编写爬虫代码&#xff1a; 4. 设定监控频率&#xff1a; 5. 存储和展示数据&#xff1a; 6. 设置报警机制&#xff1a; 7. 异常处理和稳定性考虑&#xff1a; 可能会遇到的…

GPT能否辅助数学学习

GPT4.0的数学能力怎么样&#xff1f;我们使用镜像站进行实验&#xff0c;通过不同水平的数学看看GPT4.0的数学能力得到进步没有。镜像站的地址我们放在了最后&#xff0c;各位读者也可以自行去测试。 笔者在ChatGPT镜像站进行测试&#xff0c;我们的实验是让GPT4.0自行出数学题…