HTTP 与 HTTPS 区别

本文涉及的产品
密钥管理服务KMS,1000个密钥,100个凭据,1个月
简介: HTTP 超文本传输协议 ,应用层协议。主要用于 Web 上传输超媒体文本的底层协议,经常在浏览器和服务器之间传递数据。通信就是以纯文本的形式进行。

HTTP
基础
HTTP 超文本传输协议 ,应用层协议。主要用于 Web 上传输超媒体文本的底层协议,经常在浏览器和服务器之间传递数据。通信就是以纯文本的形式进行。

HTTP 是无状态
无状态是 HTTP 协议对客户端请求状态没有进行存储,比如每次请求都需要重新登录
1 (5).jpeg

HTTP 是无连接
无连接主要是限制每次连接只处理一个请求。每次请求都是客户发起请求,服务端响应请求,然后就断开连接。这期间就是通过三次握手建立连接,四次挥手断开连接。每次请求即便是多次请求并请求同一个资源,服务端都无法判断是否是相同请求,都需要重新响应请求。

所以,为了解决客户端和服务端保持会话连接,通过 cookie 和 session 来记录 http 状态。

HTTP 的其他特点是简单快速,只需传送方法和路径就可以向服务端进行请求;还有支持传输任意类型的数据对象。

HTTPS
基础
https 是 http 的“升级”版本:

HTTPS = HTTP+ SSL/TLS 复制代码

SSL 是安全层,TLS 是传输层安全,是SSL 的继承。使用SSL或TLS 可确保传输数据的安全性。

使用 HTTP 可能看到传输数据是: “这是明文信息”

使用 HTTPS 可能看到: “283hd9saj9cdsncihquhs99ndso”

HTTPS 传输的不再是文本,而是二进制流,使得传输更高效,且加密处理更加安全。

HTTPS 的工作流程
1、客户端请求 HTTPS 请求并连接到服务器的 443 端口,此过程和请求 HTTP 请求一样,进行三次握手;

2、服务端向客户端发送数字证书,其中包含公钥、证书颁发者、到期日期

现比较流行的加解密码对,即公钥和私钥。公钥用于加密,私钥用于解密。所以服务端会保留私钥,然后发送公钥给客户端。

3、客户端收到证书,会验证证书的有效性。验证通过后会生成一个随机的 pre-master key。再将密钥通过接收到的公钥加密然后发送给服务端

4、服务端接收后使用私钥进行解密得到 pre-master key

5、获得 pre-master key 后,服务器和客户端可以使用主密钥进行通信。

HTTP 与 HTTPS 区别
所以在回答 HTTP 与 HTTPS 的区别的问题,可以从下面几个方面进行回答:

加密: HTTPS 是 HTTP 协议的更加安全的版本,通过使用SSL/TLS进行加密传输的数据;

连接方式: HTTP(三次握手)和 HTTPS (三次握手+数字证书)连接方式不一样;

端口: HTTP 默认的端口是 80和 HTTPS 默认端口是 443
HTTP2 是什么?
HTTP/2 超文本传输协议第2版,是 HTTP/1.x 的扩展。所以 HTTP/2没有改动HTTP的应用语义,仍然使用HTTP的请求方法、状态码和头字段等规则。

它主要修改了HTTP的报文传输格式,通过引入二进制分帧层实现性能的提升。

现有很多主流浏览器的 HTTPS/2 的实现都是基于SSL/TLS的,所以基于 SSL/TLS 的 HTTP/2 连接建立过程和 HTTPS 差不多。在建立连接过程中会携带标识期望使用 HTTP/2 协议,服务端同样方式回应。

相关文章
|
2月前
|
前端开发 JavaScript 安全
前端性能调优:HTTP/2与HTTPS在Web加速中的应用
【10月更文挑战第27天】本文介绍了HTTP/2和HTTPS在前端性能调优中的应用。通过多路复用、服务器推送和头部压缩等特性,HTTP/2显著提升了Web性能。同时,HTTPS确保了数据传输的安全性。文章提供了示例代码,展示了如何使用Node.js创建一个HTTP/2服务器。
69 3
|
2月前
单模和多模光纤电缆的区别 原文出自[易百教程] 转载请保留原文链接: https://www.yiibai.com/geek/330968
光纤电缆是基于光可以通过全内反射被限制在弯曲的玻璃棒内这一理念。
66 25
单模和多模光纤电缆的区别 原文出自[易百教程] 转载请保留原文链接: https://www.yiibai.com/geek/330968
|
10天前
|
应用服务中间件 Linux 网络安全
nginx安装部署ssl证书,同时支持http与https方式访问
为了使HTTP服务支持HTTPS访问,需生成并安装SSL证书,并确保Nginx支持SSL模块。首先,在`/usr/local/nginx`目录下生成RSA密钥、证书申请文件及自签名证书。接着,确认Nginx已安装SSL模块,若未安装则重新编译Nginx加入该模块。最后,编辑`nginx.conf`配置文件,启用并配置HTTPS服务器部分,指定证书路径和监听端口(如20000),保存后重启Nginx完成部署。
192 7
|
13天前
|
安全 算法 网络安全
HTTP和HTTPS的区别
本文介绍HTTP与HTTPS的区别、HTTPS链接建立过程及常见加密算法。HTTP为明文传输,易被窃听;HTTPS通过SSL/TLS协议加密,确保数据安全。HTTPS使用端口443,提供认证机制。文中还详细讲解了对称加密(如AES、DES)和非对称加密(如RSA、ECC)算法的特点及应用场景。
|
2月前
|
存储 XML 自然语言处理
信息检索和信息提取的区别 原文出自[易百教程] 转载请保留原文链接: https://www.yiibai.com/geek/331046
提取的意思是 “取出”,检索的意思是 “取回”。信息检索是返回与用户特定查询或兴趣领域相关的信息。而信息提取则更多地是从一组文档或信息中提取一般知识(或关系)。信息提取是获取数据并从中提取结构化信息的标准过程,以便将其用于各种目的,其中一个目的可能是搜索引擎。
79 24
|
2月前
|
Web App开发 Linux 应用服务中间件
【DrissionPage】Linux上如何将https改为http
通过上述步骤,可以在Linux上将DrissionPage从HTTPS改为HTTP。关键在于修改DrissionPage配置、代码中的HTTPS设置、URL以及Web服务器配置,确保所有部分都正确使用HTTP协议。通过合理配置和测试,能够确保系统在HTTP环境下稳定运行。
45 1
|
2月前
|
缓存 安全 网络安全
HTTP/2与HTTPS在Web加速中的应用
HTTP/2与HTTPS在Web加速中的应用
|
19天前
|
安全 网络安全 数据安全/隐私保护
第六问:http和https区别与联系
HTTP 和 HTTPS 是现代网络通信中的两种重要协议。HTTP 是明文传输协议,无加密功能;HTTPS 在 HTTP 基础上加入 SSL/TLS 加密层,提供数据加密、身份验证和数据完整性保障。HTTP 适用于非敏感信息传输,如新闻网站;HTTPS 适用于在线支付、账户登录等需要保护用户数据的场景。
30 0
|
2月前
|
前端开发 JavaScript 数据库
https页面加载http资源的解决方法
https页面加载http资源的解决方法
62 5
|
2月前
|
传感器 缓存 网络协议
CoAP 协议与 HTTP 协议的区别
CoAP(Constrained Application Protocol)协议是为资源受限的设备设计的轻量级协议,适用于物联网场景。相比HTTP,CoAP具有低功耗、低带宽占用和简单易实现的特点,支持多播通信和无连接的交互模式。