什么是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 证书需要钱,功能越强⼤的证书费⽤越⾼


目录
相关文章
|
2月前
|
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
460 68
(已解决)Linux环境—bash: wget: command not found; Docker pull报错Error response from daemon: Get https://registry-1.docker.io/v2/: net/http: request canceled
|
4天前
|
缓存 安全 网络安全
代理协议解析:如何根据需求选择HTTP、HTTPS或SOCKS5?
本文详细介绍了HTTP、HTTPS和SOCKS5三种代理协议的特点、优缺点以及适用场景。通过对比和分析,可以根据具体需求选择最合适的代理协议。希望本文能帮助您更好地理解和应用代理协议,提高网络应用的安全性和性能。
31 17
|
14天前
|
网络协议 安全 网络安全
Introduction to the HTTP and HTTPS Protocol
HTTP protocol is the foundation of the Internet, and HTTPS is the secure version of HTTP. HTTP is an application layer protocol based on TCP/IP protocol. It does not involve packet (packet) transmission, mainly specifying the communication format between the client and the server, and the default po
62 25
|
1月前
|
安全 搜索推荐 网络安全
HTTPS与HTTP:区别及安全性对比
HTTP和HTTPS是现代网络通信中的两种重要协议。HTTP为明文传输,简单但不安全;HTTPS基于HTTP并通过SSL/TLS加密,确保数据安全性和完整性,防止劫持和篡改。HTTPS还提供身份验证,保护用户隐私并防止中间人攻击。尽管HTTPS有额外的性能开销和配置成本,但在涉及敏感信息的场景中,如在线支付和用户登录,其安全性优势至关重要。搜索引擎也更青睐HTTPS网站,有助于提升SEO排名。综上,HTTPS已成为大多数网站的必然选择,以保障用户数据安全和合规性。
61 1
|
3月前
单模和多模光纤电缆的区别 原文出自[易百教程] 转载请保留原文链接: https://www.yiibai.com/geek/330968
光纤电缆是基于光可以通过全内反射被限制在弯曲的玻璃棒内这一理念。
82 25
单模和多模光纤电缆的区别 原文出自[易百教程] 转载请保留原文链接: https://www.yiibai.com/geek/330968
|
2月前
|
应用服务中间件 Linux 网络安全
nginx安装部署ssl证书,同时支持http与https方式访问
为了使HTTP服务支持HTTPS访问,需生成并安装SSL证书,并确保Nginx支持SSL模块。首先,在`/usr/local/nginx`目录下生成RSA密钥、证书申请文件及自签名证书。接着,确认Nginx已安装SSL模块,若未安装则重新编译Nginx加入该模块。最后,编辑`nginx.conf`配置文件,启用并配置HTTPS服务器部分,指定证书路径和监听端口(如20000),保存后重启Nginx完成部署。
680 7
|
2月前
|
安全 算法 网络安全
HTTP和HTTPS的区别
本文介绍HTTP与HTTPS的区别、HTTPS链接建立过程及常见加密算法。HTTP为明文传输,易被窃听;HTTPS通过SSL/TLS协议加密,确保数据安全。HTTPS使用端口443,提供认证机制。文中还详细讲解了对称加密(如AES、DES)和非对称加密(如RSA、ECC)算法的特点及应用场景。
|
3月前
|
存储 XML 自然语言处理
信息检索和信息提取的区别 原文出自[易百教程] 转载请保留原文链接: https://www.yiibai.com/geek/331046
提取的意思是 “取出”,检索的意思是 “取回”。信息检索是返回与用户特定查询或兴趣领域相关的信息。而信息提取则更多地是从一组文档或信息中提取一般知识(或关系)。信息提取是获取数据并从中提取结构化信息的标准过程,以便将其用于各种目的,其中一个目的可能是搜索引擎。
121 24
|
3月前
|
Web App开发 Linux 应用服务中间件
【DrissionPage】Linux上如何将https改为http
通过上述步骤,可以在Linux上将DrissionPage从HTTPS改为HTTP。关键在于修改DrissionPage配置、代码中的HTTPS设置、URL以及Web服务器配置,确保所有部分都正确使用HTTP协议。通过合理配置和测试,能够确保系统在HTTP环境下稳定运行。
90 1
|
3月前
|
前端开发 JavaScript 数据库
https页面加载http资源的解决方法
https页面加载http资源的解决方法
93 5