当前位置: 首页 > news >正文

【HTTP】http与https

 http与https的关系

应用层协议:

http(HyperText Transfer Protocol)超文本传输协议;

https(Hypertext Transfer Protocol Secure)超文本传输安全协议;

传输层协议:TCP(Transmission Control Protocol)

http + 加密(SSL/TLS) + 认证(CA证书) + 完整性保护 = https

SSL/TLS:SSL/TLS是HTTP和TCP之间的中转协议,也是一个应用层协议。我们可以把ssl/tls理解为一个黑盒子,我们把数据丢给http,http把数据丢给ssl/tls,ssl/tls把数据加密后丢给tcp,这就是https。

http是明文传输,所以如果报文被劫持,劫持者完全可以读懂报文或修改报文,易被监听、伪装、篡改,是一种不安全的协议。而https是密文传输,它是由http+SSL的结合体,由之前http到tcp,改为了http到SSL到tcp。报文是经过加密的,所以更加安全。https使用需要CA证书,大部分都是付费使用的,http默认使用80端口,https默认使用443端口。

http和https的区别主要体现在以下几个方面:

  • 协议安全性:HTTPS是HTTP的安全版,它使用了SSL/TLS协议来加密数据传输,保证数据在传输过程中的安全性。而HTTP则没有这样的加密功能,数据在传输过程中可能被截获或被篡改。
  • 连接方式:HTTP和HTTPS使用的连接方式不同。HTTP使用的是明文传输,而HTTPS则通过SSL/TLS协议进行加密传输。这种加密方式可以保护数据在传输过程中的安全,防止数据被窃取或篡改。
  • 证书管理:HTTPS需要使用CA(证书颁发机构)颁发的证书来进行加密和解密操作,而HTTP则不需要证书。因此,在使用HTTPS时,需要配置证书,而HTTP则不需要。
  • 连接状态:HTTPS连接在数据传输过程中始终保持加密状态,即使用户与服务器之间的连接在传输过程中被截断,也不会影响数据的加密状态。而HTTP的连接是明文的,一旦被截断,数据就可能被窃取或篡改。
  • 端口号:HTTP和HTTPS使用的端口号不同。HTTP通常使用80端口,而HTTPS则使用443端口。这是通过TCP/IP协议对网络通信进行管理的一种约定。
  • 资源消耗:由于HTTPS使用了加密和解密操作,因此在数据传输过程中需要消耗更多的计算资源。相比之下,HTTP的资源消耗较小。
  • 兼容性:由于HTTPS需要使用CA证书,因此在某些情况下可能会出现兼容性问题。例如,某些操作系统或浏览器可能不支持某些类型的证书或SSL/TLS协议。相比之下,HTTP的兼容性较好,可以在各种设备和操作系统上使用。

影响http网络请求的主要因素

  • 带宽和延迟‌:带宽和延迟是影响HTTP网络请求的重要因素。带宽不足会导致数据传输速度慢,而延迟高则会导致请求响应时间长‌。
  • 服务器负载‌:服务器负载过高会导致处理请求的速度变慢,响应时间延长。如果服务器同时处理大量请求,可能会导致超时或响应延迟‌。
  • 网络状态‌:网络不稳定、网络延迟或中断都会导致HTTP请求失败或响应时间延长。此外,防火墙或路由器的配置错误也可能阻止HTTP请求的传输‌。
  • 客户端配置‌:客户端设备的性能、浏览器设置、超时时间设置等都会影响HTTP请求的成功率和响应时间。例如,客户端的超时时间设置过短,可能会导致请求在等待服务器响应时超时‌。
  • HTTP协议本身的问题‌:HTTP/1.0协议中,连接无法复用,每次请求都需要经历三次握手和慢启动,这在高延迟场景下影响较为明显。此外,HTTP头部冗余和不压缩也会导致通信效率低下‌。

优化http网络请求速度的方法

  • 使用持久连接‌:通过HTTP的keep-alive机制,可以在同一个TCP连接上发送多个HTTP请求,避免每次请求都要重新建立连接‌4。
  • DNS预解析‌:在页面加载过程中提前解析需要请求的域名,减少DNS解析时间‌4。
  • 进行预连接‌:提前建立与服务器的连接,减少握手过程的时间‌4。
  • 负载均衡‌:将请求分发到多个后端服务器,提高系统的并发处理能力和可靠性‌4。
  • CDN加速‌:将静态资源缓存到离用户最近的节点,加快内容传输速度‌4。

http状态码

  • 1xx:指示信息--表示请求已接收,继续处理;
  • 2xx:成功--请求已被接受;
  • 3xx:重定向--要完成请求必须进行更进一步的操作;
  • 4xx:客户端错误--请求有语法错误或请求无法实现;
  • 5xx:服务端错误--服务器未能实现合法的请求;
  • 200:请求被正常处理;
  • 206:客户端之请求资源一部分,服务器只对请求的部分资源执行GET方法,相应报文通过Content-Range指定范围的资源;
  • 301:永久性重定向;
  • 302:临时重定向;
  • 303:希望客户端在请求一个url的时候,通过get方法重定向到另一个url上;
  • 304:发送附带条件的请求时,条件不满足时返回,与重定向无关;
  • 307:临时重定向,强制使用post方法;
  • 400:请求报文语法错误,服务器无法识别;
  • 401:请求需要验证;
  • 403:请求的对应资源禁止被访问;
  • 404:服务器无法找到对应资源;
  • 500:服务器内部错误;
  • 503:服务器正忙;

http1、2、3

协议概述
HTTP1.0短链接,一次数据通信,结束后就断开
HTTP1.1长连接,连接可以复用,按资源顺序复用
HTTP2并发请求,增加http头部压缩,可设置优先级,服务端可主动推送资源
HTTP3采用quic协议基于UDP,在0-RTT(一次TCP就是一个RTT)中完成加密与传输,解决了队头阻塞问题,减少了连接建立和恢复的延迟

相关文章:

【HTTP】http与https

http与https的关系 应用层协议: http(HyperText Transfer Protocol)超文本传输协议; https(Hypertext Transfer Protocol Secure)超文本传输安全协议; 传输层协议:TCP(Tr…...

【Git多人开发与协作之团队的环境搭建】

Git多人开发与协作之团队的环境搭建 新的改变1. Git 的用途2. 分支的概念与类型3. HEAD 和分支指针如何查看 HEAD 指向的位置: 4. 常见的 Git 操作5. 常见问题与解决方法总结GitHub 项目获取实操在新电脑上运行 Git1. 安装 Git2. 配置用户名和邮箱3.配置 Git 和 SSH…...

java基础概念36:正则表达式1

一、正则表达式的作用 作用一:校验字符串是否满足规则;作用二:在一段文本中查找满足要求的内容。——爬虫 二、正则表达式 2-1、字符类 示例: public static void main(String[] args) {System.out.println("a".matc…...

java实现小程序接口返回Base64图片

文章目录 引言I java 接口返回Base64图片接口设计获取验证码图片-base64字符串获取验证码图片-二进制流arraybufferII 小程序端代码过期代码: 显示文件流图片(arraybuffer)知识扩展:微信小程序下载后端返回的文件流引言 场景: 图形验证码 背景: 接口返回arraybuffer的格式…...

网络编程并发服务器的应用

作业2:完成局域网CS模型,局域网内一个服务器,多个客户端连接一个服务器,完成局域网聊天(select函数,poll函数,完成TCP并发服务器)。 poll函数应用: 服务器部分代码&…...

数据结构——停车场管理问题

目录 1、问题描述2、逐步分析1)涉及操作2)代码实现 3、代码整合 1、问题描述 1、题目 设停车场内只有一个可停放n辆汽车的狭长通道,且只有一个大门可供汽车进出。汽车在停车场内按车辆到达时间的先后顺序,依次由北向南排列&#x…...

道品智能科技移动式水肥一体机:农业灌溉施肥的革新之选

在现代农业的发展进程中,科技的力量正日益凸显。其中,移动式水肥一体机以其独特的可移动性、智能化以及实现水肥一体化的卓越性能,成为了农业领域的一颗璀璨新星。它不仅改变了传统的农业灌溉施肥方式,更为农业生产带来了高效、精…...

AI实习--常用的Linux命令

一、基础命令 1. 切换到根目录。 cd ~ 2. 返回上一级目录。 cd .. 3. 查看当前目录下包括哪些文件和文件夹。 ls 4. 查看当前路径。 pwd 5. 将文件或文件夹剪切到目标目录下。 mv 文件所在路径 目标路径 6. 查看文本文件内容。 cat 文本文件名 7. 创建文件或文件夹…...

Python学习指南 + 谷歌浏览器如何安装插件

找往期文章包括但不限于本期文章中不懂的知识点: 个人主页:我要学编程(ಥ_ಥ)-CSDN博客 所属专栏: Python 目录 前言 Python 官方文档的使用 谷歌浏览器中如何安装插件 前言 在学习Python时,我们可能会出现这样的困惑&#x…...

研0找实习【学nlp】15---我的后续,总结(暂时性完结)

当下进展成果: nlptransformerpytorchhuggingfacebert简历环境配置表情识别文本分类 断更了快1个月,2个礼拜找实习,1个礼拜伤心,1个礼拜想我要干什么…… 承认自己的才疏学浅,了解了leetcode,和老师商量了…...

kylin麒麟银河桌面版操作系统安装部署

本文主要描述kylin麒麟银河桌面版操作系统的安装,该操作系统的安装源文件可以从kylin麒麟银河官方网站上下载,商业版本需要申请试用,开源版本可以直接下载使用。 如上所示,x86芯片处理器架构的请下载INTEL版本,华为海思…...

MyBatis插件原理及应用

&#x1f3ae; 作者主页&#xff1a;点击 &#x1f381; 完整专栏和代码&#xff1a;点击 &#x1f3e1; 博客主页&#xff1a;点击 文章目录 介绍<plugins>标签解析拦截器链的工作原理插件的应用场景MyBatis插件应用的四个组件InterceptorChain和Interceptor MyBatis框架…...

[M最短路] lc743. 网络延迟时间(spfa最短路+单源最短路)

文章目录 1. 题目来源2. 题目解析 1. 题目来源 链接&#xff1a;743. 网络延迟时间 相关链接&#xff1a; [图最短路模板] 五大最短路常用模板) 2. 题目解析 怎么讲呢&#xff0c;挺抽象的…很久没写最短路算法了。反正也是写出来了&#xff0c;但脱离了模板&#xff0c;把…...

MySQL 中的锁

MySQL 中的锁&#xff1a;全面解析与应用指南 在 MySQL 数据库的复杂世界里&#xff0c;锁是确保数据一致性、完整性以及并发控制的关键机制。无论是简单的小型应用还是复杂的企业级系统&#xff0c;深入理解 MySQL 中的锁对于优化数据库性能、避免数据冲突和错误都具有至关重要…...

【动手学电机驱动】STM32-FOC(8)MCSDK Profiler 电机参数辨识

STM32-FOC&#xff08;1&#xff09;STM32 电机控制的软件开发环境 STM32-FOC&#xff08;2&#xff09;STM32 导入和创建项目 STM32-FOC&#xff08;3&#xff09;STM32 三路互补 PWM 输出 STM32-FOC&#xff08;4&#xff09;IHM03 电机控制套件介绍 STM32-FOC&#xff08;5&…...

【C++11】尽显锋芒

(续) 一、可变参数模板 C11支持可变参数模板&#xff0c;也就是说支持可变数量参数的函数模板和类模板&#xff0c;可变数目的参数被称 为参数包&#xff0c;存在两种参数包&#xff1a;模板参数包&#xff0c;表示零或多个模板参数&#xff1b;函数参数包&#xff1a;表示零…...

掌握控制流的艺术:Go语言中的if、for和switch语句

标题:掌握控制流的艺术:Go语言中的if、for和switch语句 在Go语言的编程世界中,控制流语句是构建程序逻辑的基石。if语句、for循环和switch语句是我们最常用的控制流工具,它们让我们能够根据不同的条件执行不同的代码块。本文将深入探讨这些语句的使用方法、技术细节和实际…...

飞书会话消息左右排列

飞书会话消息左右排列 1. 飞书登录后&#xff0c;点击头像&#xff0c;弹出菜单有个按钮设置 2. 3....

.net 支持跨平台(桌面)系列技术汇总

1. 首先微软老大哥的.net core 。 .NET Core 是微软开发的一个跨平台、高性能的开源框架&#xff0c;用于构建云和互联网连接的新型应用。 它允许开发者在 Windows、macOS 和 Linux 上使用喜爱的开发工具进行开发&#xff0c;并支持部署到云或本地环境。 .NET Core 是对 .NET …...

springboot 静态资源访问

最近在学习springboot&#xff0c;在学习中一个静态资源访问&#xff0c;难道了我三天&#xff0c;在网上找了很多的资料&#xff0c;又是配置&#xff0c;又是重写WebMvcConfigurationSupport&#xff0c;因为以前没有接触&#xff0c;本来很简单的事情走了很多弯路&#xff0…...

龙虎榜——20250610

上证指数放量收阴线&#xff0c;个股多数下跌&#xff0c;盘中受消息影响大幅波动。 深证指数放量收阴线形成顶分型&#xff0c;指数短线有调整的需求&#xff0c;大概需要一两天。 2025年6月10日龙虎榜行业方向分析 1. 金融科技 代表标的&#xff1a;御银股份、雄帝科技 驱动…...

测试微信模版消息推送

进入“开发接口管理”--“公众平台测试账号”&#xff0c;无需申请公众账号、可在测试账号中体验并测试微信公众平台所有高级接口。 获取access_token: 自定义模版消息&#xff1a; 关注测试号&#xff1a;扫二维码关注测试号。 发送模版消息&#xff1a; import requests da…...

mongodb源码分析session执行handleRequest命令find过程

mongo/transport/service_state_machine.cpp已经分析startSession创建ASIOSession过程&#xff0c;并且验证connection是否超过限制ASIOSession和connection是循环接受客户端命令&#xff0c;把数据流转换成Message&#xff0c;状态转变流程是&#xff1a;State::Created 》 St…...

STM32标准库-DMA直接存储器存取

文章目录 一、DMA1.1简介1.2存储器映像1.3DMA框图1.4DMA基本结构1.5DMA请求1.6数据宽度与对齐1.7数据转运DMA1.8ADC扫描模式DMA 二、数据转运DMA2.1接线图2.2代码2.3相关API 一、DMA 1.1简介 DMA&#xff08;Direct Memory Access&#xff09;直接存储器存取 DMA可以提供外设…...

五年级数学知识边界总结思考-下册

目录 一、背景二、过程1.观察物体小学五年级下册“观察物体”知识点详解&#xff1a;由来、作用与意义**一、知识点核心内容****二、知识点的由来&#xff1a;从生活实践到数学抽象****三、知识的作用&#xff1a;解决实际问题的工具****四、学习的意义&#xff1a;培养核心素养…...

linux arm系统烧录

1、打开瑞芯微程序 2、按住linux arm 的 recover按键 插入电源 3、当瑞芯微检测到有设备 4、松开recover按键 5、选择升级固件 6、点击固件选择本地刷机的linux arm 镜像 7、点击升级 &#xff08;忘了有没有这步了 估计有&#xff09; 刷机程序 和 镜像 就不提供了。要刷的时…...

06 Deep learning神经网络编程基础 激活函数 --吴恩达

深度学习激活函数详解 一、核心作用 引入非线性:使神经网络可学习复杂模式控制输出范围:如Sigmoid将输出限制在(0,1)梯度传递:影响反向传播的稳定性二、常见类型及数学表达 Sigmoid σ ( x ) = 1 1 +...

全面解析各类VPN技术:GRE、IPsec、L2TP、SSL与MPLS VPN对比

目录 引言 VPN技术概述 GRE VPN 3.1 GRE封装结构 3.2 GRE的应用场景 GRE over IPsec 4.1 GRE over IPsec封装结构 4.2 为什么使用GRE over IPsec&#xff1f; IPsec VPN 5.1 IPsec传输模式&#xff08;Transport Mode&#xff09; 5.2 IPsec隧道模式&#xff08;Tunne…...

AI+无人机如何守护濒危物种?YOLOv8实现95%精准识别

【导读】 野生动物监测在理解和保护生态系统中发挥着至关重要的作用。然而&#xff0c;传统的野生动物观察方法往往耗时耗力、成本高昂且范围有限。无人机的出现为野生动物监测提供了有前景的替代方案&#xff0c;能够实现大范围覆盖并远程采集数据。尽管具备这些优势&#xf…...

【JVM】Java虚拟机(二)——垃圾回收

目录 一、如何判断对象可以回收 &#xff08;一&#xff09;引用计数法 &#xff08;二&#xff09;可达性分析算法 二、垃圾回收算法 &#xff08;一&#xff09;标记清除 &#xff08;二&#xff09;标记整理 &#xff08;三&#xff09;复制 &#xff08;四&#xff…...