首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

2023 年值得关注的 6 个 Rust web开发框架

Hyper 可以用作: 用于与 Web 服务通信的客户端。 用于构建这些 Web 服务的服务器。 极快的响应速度 具有高并发性和非阻塞套接字。 支持 HTTP/1 和 HTTP/2。..., err); } }); } } 任何使用 rust API 框架的开发人员都需要了解 Hyper。它具有许多功能,并且易于使用。...Actix Web 基于 Rust Actor Model。它是一个用 Rust 编写的高性能 Web 框架,具有一组用于构建 Web 应用程序的强大功能。...和 Brotli 压缩 服务器发送的事件 (SSE) 由于它建立在 hyper 和 Tokio - 一个异步 Rust 运行时之上,因此您可以自动获得: HTTP/1 和 HTTP/2 支持 异步功能...Axum 的灵感来自 Erlang 编程语言,为开发人员提供了高效的并发性,非常适合开发实时 Web 应用程序、微服务和低延迟系统。Axum 是一个专注于人体工程学和模块化的 Web 应用程序框架。

10K51

【2023 Week-2】Rust视界周刊 | Google 官宣在 Chromium 项目中支持使用 Rust

作为这项工作的一部分,我们最近发现并披露了流行的 Rust 项目(例如Axum[9]、Salvo[10]和conduit-hyper[11] )中的多个漏洞,这些漏洞源于相同的根本原因——在使用 Hyper...这是原文中的开篇,清楚地写道:“漏洞是属于一些较为流行的 Rust 项目(例如Axum[12]、Salvo[13]和conduit-hyper[14] ),这些漏洞源于相同的根本原因——在使用 Hyper...Veryl可以在代码中使用SystemVerilog的module/interface/struct/enum,反之亦然。 现代编程语言默认具有 linter、格式化程序和语言服务器等开发支持工具。...该团队表示,他们使用基于 10 量子位量子计算机的混合系统破解了 48 位 RSA,如果他们能够访问至少具有 372 量子位的量子计算机,则可以对 2048 位做同样的事情。...科学家们表示,他们的方法可用于使用 372 量子位量子计算机来破解高级 2048 位 RSA 加密,这将具有重大的安全隐患。

1.5K50
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Hyper 存在漏洞,Rust 项目易受拒绝服务攻击

    作者 | 褚杏娟 近日,安全研究人员最近发现并披露了流行的 Rust 项目(例如 Axum、Salvo 和 conduit-hyper )中的多个漏洞,产生这些漏洞的根源是没有在使用 Hyper 库时对...Hyper 是一个非常流行的低级 HTTP 库,用 Rust 编写。...该库不是功能齐全的 HTTP 服务器或客户端,但它包含了用于响应请求、解析请求主体和生成正确 HTTP 响应的方法,因此可以用作实现这些功能的“构建块”,是 Rust 最流行的 HTTP 库之一。...安全公司 JFrog 发现,包含 Hyper 的项目(如 Axum、Salvo 和 conduit-hyper)容易受到为利用这些漏洞而精心设计的 HTTP 请求引起的拒绝服务 (DoS) 攻击。...在 2014 年和 2015 年,Hyper 的开发人员修复了因接收到过大请求标头而导致的 DoS 漏洞。

    74030

    你应该知晓的Rust Web 框架

    ❝要相信信念的力量 ❞ 大家好,我是「柒八九」。 前言 在之前的用 Rust 搭建 React Server Components 的 Web 服务器我们利用了Axum构建了RSC的服务器。...Axum Axum[1] 是 Rust 生态系统中具有特殊地位的 Web 应用程序框架(从下载量就可见端倪)。...Axum 不仅使用 Tokio 作为其异步运行时,还与 Tokio 生态系统的其他库集成,利用 Hyper[3] 作为其 HTTP 服务器和 Tower[4] 作为中间件。...通过这样做,我们能够重用 Tokio 生态系统中现有的库和工具。 Axum 「不依赖于宏」,而是利用 Rust 的类型系统提供安全且人性化的 API。...Warp 与 Axum 有一些共同的特点:它构建在 Tokio 和 Hyper 之上,并利用了 Tower 中间件。然而,它在方法上有很大的不同。

    2.9K22

    用Rust搭建React Server Components 的Web服务器

    下图是用简单的命令,构建了一个服务器。 更详细的介绍,可以参考tokio.rs 官网[1] Axum.rs Axum.rs(通常简称为Axum)是一个用于构建异步Rust应用程序的Web框架。...「异步和性能」: Axum.rs是一个异步的Web框架,它利用Rust的async/await语法来编写「非阻塞的Web应用程序」。...「基于Actix和Hyper」: Axum.rs构建在Actix和Hyper之上,这两个项目都是Rust生态系统中非常受欢迎的Web框架和HTTP库。...它继承了Actix的优秀特性,如Actor模型和中间件支持,以及Hyper的高性能HTTP请求处理能力。...构建服务器 让我们使用Axum作为应用框架构建一个最简单的Web服务器 首先,我们先在Cargo.toml中引入axum和tokio。这两具体干啥的,我们在前面介绍了,这里就不过赘述了。

    52430

    Rust:axum学习笔记(4) 上传文件

    接上一篇继续,上传文件是 web开发中的常用功能,本文将演示axum如何实现图片上传(注:其它类型的文件原理相同),一般来说要考虑以下几个因素: 1. 文件上传的大小限制 2....max_value() { ext_name = &content_type[index + 1..]; } //最终保存在服务器上的文件名...("{}", "没有上传文件或文件格式不对"); //当上传的文件类型不对时,下面的重定向有时候会失败(感觉是axum的bug) return redirect(format!...max_value() { ext_name = &content_type[index + 1..]; } //最终保存在服务器上的文件名...("{}", "没有上传文件或文件格式不对"); //当上传的文件类型不对时,下面的重定向有时候会失败(感觉是axum的bug) return redirect(format!

    2.5K21

    【辟谣】hyper 存在拒绝服务漏洞 ??? Rust 项目易受 DoS 攻击???真相在这里

    当然,这篇文章来自于国外,原文是 JFrog (JFrog是 Rust基金会白金成员)官方博客发布的名为“使用 Rust 流行的 Hyper 包时注意 DoS” 的文章。...“JFrog 安全研究团队不断在流行的开源项目中寻找新的和以前未知的漏洞和安全问题,以帮助改善他们的安全状况并保护更广泛的软件供应链。...作为这项工作的一部分,我们最近发现并披露了流行的 Rust 项目(例如Axum、Salvo和conduit-hyper )中的多个漏洞,这些漏洞源于相同的根本原因——在使用 Hyper 库时忘记对 HTTP...这是原文中的开篇,清楚地写道:“漏洞是属于一些较为流行的 Rust 项目(例如Axum、Salvo和conduit-hyper ),这些漏洞源于相同的根本原因——在使用 Hyper 库时忘记对 HTTP...小结 综上所述,hyper 本身并不存在 DoS 漏洞。我们在使用 Rust 开发程序的时候,不要盲目地认为 Rust 是 百分百安全的。

    56320

    Rust Web 开发之Axum使用手册

    前言 之前,我们在很多文章都提到过Rust Web框架。 其中有一个Rust Web框架的出现频率都很高 -- 那就是axum[1]。...其余代码 } 我们需要提供自己的 Postgres[8] 实例,无论是在本地计算机上本地安装,还是通过 Docker 设置或者其他方式。...axum::body::Body 不再重新导出 hyper::body::Body,而是自己的类型 - 这意味着它不再是泛型的,并且 Request 类型将始终使用 axum::body::Body。...Axum 本身没有提供这方面的功能;然而,它具有与 tower-http相同的功能,后者提供了为我们自己的静态文件提供服务的方式,无论我们是运行SPA,还是使用 Next.js 等框架生成的静态文件,又或者是简单的...maud[15] (在用 Rust 搭建 React Server Components 的 Web 服务器[16] 之类的轻量级 JavaScript 库相结合,以加快投产速度。

    3.2K11

    两张图展示当前 Rust Web 生态

    今天画了两张图,来展示一下当前 Rust Web 生态。 tokio 生态 由图可见,tokio 生态目前在网络服务和Web 开发方面基本的核心组件都已齐全。...使用了统一 的 Service 和 Layer 抽象标准,方便大家来繁荣生态 复用 tokio / hyper/ tonic 生态 axum 的路由机制并没有使用像 rocket那样的属性宏,而是提供了简单的...总之,一句话,Axum 在我看来,是 Rust 在 Web 开发领域的一个里程碑,它强势带动了 tokio/tower 生态。虽然现在还不太成熟,但潜力很大。...这是actix-web和其他框架的主要区别。Axum则是完全利用tokio。actix-web 的中间件也借鉴了 Tower Service,但它并不像 tower 那么通用。...rocket 的优势在于完善的 API,尤其是处理表单非常完善。中间件不同于其他框架,为了达到安全和正确的目标,rocket对中间件有了较强的约束,并不能像 Axum 那样自由地实现中间件。

    2K30

    【2023 Week-3】Rust视界周刊 | 你“不应该”使用 Rust 的十大理由

    当 Rust 团队对 Rust 编译器或标准库进行更改时,他们通常会使用`crater run`[2]命令,他们会编译每个已经发布的 Rust 项目,看看它们是否引入了性能回归,这占用了大量宝贵的计算资源...众所周知,无可争辩的事实是,所有语言都存在漏洞,但这通常需要时间。较新的语言具有较少的漏洞,因为它们还没有经过时间的考验。...VMware Lab 的 Wasm Workers 服务器支持 Rust workers rust-workers[29] 会被编译为 WASM 模块。...astra: 构建于 hyper 之上的阻塞式 HTTP 服务器 astra[42] 是构建于 hyper 之上的阻塞式 HTTP 服务器。...],Reddit 相关讨论[55] Rust 运算符重载的六件有趣的事情[56] 来自 Rails 开发者的 Rust web 实践(基于 Axum)[57] 我希望我早点学过的 Rust 概念[58]

    1.7K30

    【Rust 日报】2022-04-10 适用于Rust的异步CQL驱动

    但是,引用计数器仅用于已停用的对象,从而避免了传统引用计数方案带来的高开销,其中每次内存访问都需要修改共享内存。...它是一种可执行的字节码语言,旨在提供安全和可验证的面向事务的计算。该语言具有强大的类型系统,具有线性资源类型,运行时检查和形式验证。...此外,Rust 服务器端的可用选项有所增加。...随着像 tower 这样的项目为客户端 / 服务器提供可重用的构建块,像 axum 这样的 Web 服务器出现了,它允许快速组合 Web 应用程序而无需太多模板。...在本教程中,作者将使用 Rust 作为前后端的默认配置,这适用于使用 WASM/JS 进行渲染和路由的典型单页应用。服务器选择了 axum,前端选择了 yew,其他选择也应该类似。

    91630

    2025年AI智能体元年:这些编程语言让你走在风口浪尖

    应用层数据查询与处理 SQL 原因:标准的关系型数据库查询语言,在数据存储与处理中具有普遍性 2. 模型开发层 模型开发层的核心任务包括推理优化、数据集工程和模型构建与训练。...模型服务部署 Rust(Axum) + C++(gRPC) 原因:高性能服务端与跨平台通信协议 Go(Triton Inference Server) 原因:模型服务编排的最佳实践语言 3.4....监控告警系统 Go(Prometheus) + Rust(OpenTelemetry) 原因:需要处理高并发指标收集和零拷贝数据传输 4. 工具集成 什么是AI智能体所调用的工具?...Java/Kotlin 适用工具:企业级后台服务、安卓应用、大数据处理 用例:Hadoop/Spark数据分析管道、Android自动化代理、高吞吐量中间件。...Clojure 适用工具:数据密集型应用、并发流程 用例:实时流数据处理(如金融交易)、规则引擎、高扩展性数据管道。

    49621

    替代 Redis 和 Memcached:25 倍吞吐量! | 开源日报 No.213

    与传统的内存数据存储相比,Dragonfly 提供了 25 倍的吞吐量、更高的缓存命中率和更低尾部延迟,并且可以在相同大小工作负载下节省高达 80% 的资源。...具有 Web UI 和 OpenAI 兼容的 RESTful API 的分布式多模型服务系统。 提供了大规模真实世界 LLM 对话数据集 LMSYS-Chat-1M 以及其他相关数据集。...tokio-rs/axumhttps://github.com/tokio-rs/axum Stars: 15.4k License: NOASSERTION axum 是一个使用 Tokio、Tower...和 Hyper 构建的人体工程学和模块化的 Web 框架。...axum 不具备自己的中间件系统,而是使用 tower::Service,从而获得超时控制、追踪、压缩等功能,并能与使用 hyper 或 tonic 编写的应用程序共享中间件。

    28310

    用 AWS Smithy 构建下一代 API 服务

    API 定义构建出 Rust 服务器和客户端,python/typescript/swift 客户端的过程。...使用 Smithy 生成的服务器代码 Smithy 官方支持 rust / typescript 的服务器代码生成,但这里我们只介绍 Rust。...感谢 Rust 生态下的 tower 生态和 hyper 生态(它们衍生出 tower-http,axum,tonic 等一系列优秀的 crate),smithy-rs 也将它们作为构建服务端 SDK...甚至,你可以把 Smithy 生成的 server SDK 作为一个 Route Service 添加到 axum 的一个子路由中,实现 website 和 REST API 共用同一个服务器的功能。...说句题外话,我觉得 Rust 下的 web 框架,如果现在还没有构建在 tower 和 hyper 生态下,那么是不值得学习和使用的。它们会慢慢凋零,无论它曾经有多大的用户群体。

    75110
    领券