什么是HTTP? HTTP 和 HTTPS 的区别?

本文涉及的产品
密钥管理服务KMS,1000个密钥,100个凭据,1个月
简介: 什么是HTTP? HTTP 和 HTTPS 的区别?

一、HTTP (HyperText Transfer Protocol),即超⽂本运输协议,是实现⽹络通信的⼀种规范


dcd74ddaf166b27c77083f46ff385d13_1891421a8cfa42ec97f3ef794ddb8835.png


在计算机和⽹络世界有,存在不同的协议,如⼴播协议、寻址协议、路由协议等等…

⽽ HTTP 是⼀个传输协议,即将数据由A传到B或将B传输到A,并且 A 与 B 之间能够存放很多第三⽅,


如: A<=>X<=>Y<=>Z<=>B


传输的数据并不是计算机底层中的⼆进制包,⽽是完整的、有意义的数据,如HTML ⽂件, 图⽚⽂件, 查询结果等超⽂本,能够被上层应⽤识别

在实际应⽤中, HTTP 常被⽤于在 Web 浏览器和⽹站服务器之间传递信息,以明⽂⽅式发送内容,不提供任何⽅式的数据加密

特点如下:


⽀持客户/服务器模式

简单快速:客户向服务器请求服务时,只需传送请求⽅法和路径。由于HTTP协议简单,使得HTTP服务器的程序规模⼩,因⽽通信速度很快

灵活:HTTP允许传输任意类型的数据对象。正在传输的类型由Content-Type加以标记

⽆连接:⽆连接的含义是限制每次连接只处理⼀个请求。服务器处理完客户的请求,并收到客户的应答后,即断开连接。采⽤这种⽅式可以节省传输时间

⽆状态:HTTP协议⽆法根据之前的状态进⾏本次的请求处理


⼆、HTTPS


在上述介绍 HTTP 中,了解到 HTTP 传递信息是以明⽂的形式发送内容,这并不安全。

⽽ HTTPS 出现正是为了解决 HTTP 不安全的特性

为了保证这些隐私数据能加密传输,让 HTTP 运⾏安全的 SSL/TLS 协议上,即 HTTPS = HTTP +SSL/TLS,通过 SSL 证书来验证服务器的身份,并为浏览器和服务器之间的通信进⾏加密

SSL 协议位于 TCP/IP 协议与各种应⽤层协议之间,浏览器和服务器在使⽤ SSL 建⽴连接时需要选择⼀组恰当的加密算法来实现安全通信,为数据通讯提供安全⽀持


d50ed5773e1d7c0d031d76604d625390_17227d657b294b12933cd1f03618c673.png


流程图如下所示:


4c56190844f14f97810127bdf6e0ba6b_dc650ec1bfff414d979367679b200550.png


⾸先客户端通过URL访问服务器建⽴SSL连接

服务端收到客户端请求后,会将⽹站⽀持的证书信息(证书中包含公钥)传送⼀份给客户端

客户端的服务器开始协商SSL连接的安全等级,也就是信息加密的等级

客户端的浏览器根据双⽅同意的安全等级,建⽴会话密钥,然后利⽤⽹站的公钥将会话密钥加密,并传送给⽹站

服务器利⽤⾃⼰的私钥解密出会话密钥

服务器利⽤会话密钥加密与客户端之间的通信


三、区别


HTTPS是HTTP协议的安全版本,HTTP协议的数据传输是明⽂的,是不安全的,HTTPS使⽤了SSL/TLS协议进⾏了加密处理,相对更安全

HTTP 和 HTTPS 使⽤连接⽅式不同,默认端⼝也不⼀样,HTTP是80,HTTPS是443

HTTPS 由于需要设计加密以及多次握⼿,性能⽅⾯不如 HTTP

HTTPS需要SSL,SSL 证书需要钱,功能越强⼤的证书费⽤越⾼


目录
相关文章
|
1月前
|
前端开发 JavaScript 安全
前端性能调优:HTTP/2与HTTPS在Web加速中的应用
【10月更文挑战第27天】本文介绍了HTTP/2和HTTPS在前端性能调优中的应用。通过多路复用、服务器推送和头部压缩等特性,HTTP/2显著提升了Web性能。同时,HTTPS确保了数据传输的安全性。文章提供了示例代码,展示了如何使用Node.js创建一个HTTP/2服务器。
58 3
|
1天前
|
Ubuntu Linux Shell
(已解决)Linux环境—bash: wget: command not found; Docker pull报错Error response from daemon: Get https://registry-1.docker.io/v2/: net/http: request canceled
(已成功解决)Linux环境报错—bash: wget: command not found;常见Linux发行版本,Linux中yum、rpm、apt-get、wget的区别;Docker pull报错Error response from daemon: Get https://registry-1.docker.io/v2/: net/http: request canceled
|
22天前
单模和多模光纤电缆的区别 原文出自[易百教程] 转载请保留原文链接: https://www.yiibai.com/geek/330968
光纤电缆是基于光可以通过全内反射被限制在弯曲的玻璃棒内这一理念。
56 25
单模和多模光纤电缆的区别 原文出自[易百教程] 转载请保留原文链接: https://www.yiibai.com/geek/330968
|
22天前
|
存储 XML 自然语言处理
信息检索和信息提取的区别 原文出自[易百教程] 转载请保留原文链接: https://www.yiibai.com/geek/331046
提取的意思是 “取出”,检索的意思是 “取回”。信息检索是返回与用户特定查询或兴趣领域相关的信息。而信息提取则更多地是从一组文档或信息中提取一般知识(或关系)。信息提取是获取数据并从中提取结构化信息的标准过程,以便将其用于各种目的,其中一个目的可能是搜索引擎。
63 24
|
24天前
|
Web App开发 Linux 应用服务中间件
【DrissionPage】Linux上如何将https改为http
通过上述步骤,可以在Linux上将DrissionPage从HTTPS改为HTTP。关键在于修改DrissionPage配置、代码中的HTTPS设置、URL以及Web服务器配置,确保所有部分都正确使用HTTP协议。通过合理配置和测试,能够确保系统在HTTP环境下稳定运行。
30 1
|
1月前
|
缓存 安全 网络安全
HTTP/2与HTTPS在Web加速中的应用
HTTP/2与HTTPS在Web加速中的应用
|
5天前
|
安全 网络安全 数据安全/隐私保护
第六问:http和https区别与联系
HTTP 和 HTTPS 是现代网络通信中的两种重要协议。HTTP 是明文传输协议,无加密功能;HTTPS 在 HTTP 基础上加入 SSL/TLS 加密层,提供数据加密、身份验证和数据完整性保障。HTTP 适用于非敏感信息传输,如新闻网站;HTTPS 适用于在线支付、账户登录等需要保护用户数据的场景。
18 0
|
1月前
|
前端开发 JavaScript 数据库
https页面加载http资源的解决方法
https页面加载http资源的解决方法
58 5
|
1月前
|
传感器 缓存 网络协议
CoAP 协议与 HTTP 协议的区别
CoAP(Constrained Application Protocol)协议是为资源受限的设备设计的轻量级协议,适用于物联网场景。相比HTTP,CoAP具有低功耗、低带宽占用和简单易实现的特点,支持多播通信和无连接的交互模式。
|
1月前
|
存储 缓存 网络协议
计算机网络常见面试题(二):浏览器中输入URL返回页面过程、HTTP协议特点,GET、POST的区别,Cookie与Session
计算机网络常见面试题(二):浏览器中输入URL返回页面过程、HTTP协议特点、状态码、报文格式,GET、POST的区别,DNS的解析过程、数字证书、Cookie与Session,对称加密和非对称加密
下一篇
DataWorks