awesome-repositories.com
博客
MCP
awesome-repositories.com

通过 AI 驱动的搜索,发现最优秀的开源仓库。

探索精选搜索开源替代品自托管软件博客网站地图
项目关于排名机制媒体报道MCP 服务器
法律隐私政策服务条款
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
rack avatar

rack/rack

0
View on GitHub↗
5,124 星标·1,676 分支·Ruby·9 次浏览

Rack

Rack 是一个标准化 Ruby Web 服务器与框架之间通信的最小接口。它提供了一个 Web 应用接口和一个 Web 服务器接口,通过使用通用的环境哈希和标准化的响应元组,使 Ruby 应用能够在不同的服务器实现上运行。

该项目实现了模块化的 HTTP 中间件流水线,允许通过一系列可调用对象拦截和修改请求与响应。它支持底层连接管理,包括用于自定义协议处理的 TCP 连接劫持、协议升级信号以及双向数据流。

其功能范围扩展到请求和响应处理,包括二进制请求流读取和增量响应流式传输。它提供了用于会话管理、应用路径路由以及从本地文件系统交付静态文件的工具。为了质量保证,它还包括用于模拟 HTTP 流量和服务器环境的实用程序。

该项目包含一个用于启动兼容 Web 服务器以托管应用的命令行工具。

Features

  • Web Environment Interfaces - Provides a standardized environment hash to decouple web servers from application logic.
  • Web Server Interfaces - Provides a standardized interface that decouples Ruby web servers from the frameworks they host.
  • Binary Request Stream Interfaces - Enables access to raw HTTP request bodies via binary-mode input streams with buffered reads.
  • Response Tuple Specifications - Standardizes the server response as a simple array containing a status code, response headers, and a body.
  • HTTP Request and Response Handlers - Provides comprehensive tools for processing raw request streams and managing HTTP response delivery.
  • Request Interception Middleware - Implements a modular middleware pipeline to intercept and modify requests and responses.
  • HTTP Middleware Pipelines - Implements a modular pipeline of callable objects to intercept and modify HTTP requests and responses.
  • Ruby Web Server Interfaces - Standardizes how Ruby web servers and frameworks communicate via a common environment hash and response tuple.
  • Web Application Interfaces - Provides a specification that enables Ruby applications to run across different server implementations without modification.
  • Session Data Stores - Provides a standardized hash-like interface for storing and retrieving persistent user data across requests.
  • Response Body Streaming - Implements incremental response body delivery using a callable object that responds to each.
  • Response Body Callbacks - Handles two-way server-client communication by passing a callback as the response body.
  • Connection Hijacking - Allows taking direct control of raw TCP connections to bypass standard request-response cycles.
  • TCP Connection Hijacking - Allows direct control of raw TCP connections to bypass standard request-response cycles.
  • Application Instance Routing - Maps specific URL paths to different application instances within a single process.
  • Application Environment Mocking - Includes utilities to simulate the server environment and response tuples for application testing.
  • API Request Mocking - Simulates requests and responses in a testing environment to verify application behavior.
  • HTTP Traffic Simulation - Includes utilities to simulate HTTP requests and responses for testing application behavior.
  • Incremental Response Streaming - Provides the ability to stream HTTP response bodies incrementally to the client.
  • Multipart Form Parsing - Parses multipart/form-data requests to extract uploaded files and form fields.
  • Protocol Upgrades - Enables signaling the web server to upgrade the protocol via environment headers.
  • Filesystem Static File Servings - Delivers static files and directory indexes from the local filesystem to the client.
  • Static File Servers - Includes a built-in implementation for serving static files and directory indexes from the filesystem.

Star 历史

rack/rack 的 Star 历史图表rack/rack 的 Star 历史图表

AI 搜索

探索更多 awesome 仓库

用简单的语言描述您的需求 —— AI 将根据相关性为您从数千个精选开源项目中进行排序。

Start searching with AI

Rack 的开源替代方案

相似的开源项目,按与 Rack 的功能重合度排序。
  • aws/aws-sdk-phpaws 的头像

    aws/aws-sdk-php

    6,191在 GitHub 上查看↗

    The AWS SDK for PHP is a software development kit that provides HTTP client classes for every supported Amazon Web Service, enabling PHP applications to send authenticated requests and receive structured, typed response objects. It includes a credential resolution chain that automatically locates credentials from environment variables, instance profiles, or configuration files, and supports promise-based asynchronous execution for running multiple API calls concurrently to improve throughput. The SDK distinguishes itself through a middleware pipeline architecture that allows interception and

    PHP
    在 GitHub 上查看↗6,191
  • oakserver/oakoakserver 的头像

    oakserver/oak

    5,408在 GitHub 上查看↗

    Oak is a cross-runtime HTTP middleware framework and web server designed to operate across Deno, Node.js, Bun, and Cloudflare Workers. It provides a unified system for building APIs and web servers using a sequential chain of middleware functions and a hierarchical routing engine that maps URL paths to handlers via a nested tree structure. The framework includes a runtime-agnostic serverless adapter that translates diverse cloud provider events into a standard request and response interface. It also features a dedicated WebSocket server implementation for bidirectional real-time communication

    TypeScript
    在 GitHub 上查看↗5,408
  • http-rs/tidehttp-rs 的头像

    http-rs/tide

    5,099在 GitHub 上查看↗

    Tide is an asynchronous web server framework and HTTP toolkit for the Rust programming language. It provides a system for building high-concurrency network applications and REST APIs using non-blocking I/O and asynchronous runtimes. The framework is centered around a middleware-based request pipeline, allowing developers to intercept and process HTTP requests and responses through pluggable logic layers. It supports a hierarchical route tree to organize endpoints into nested groups that share common path prefixes and scoped middleware. Capability areas include real-time communication via Web

    Rust
    在 GitHub 上查看↗5,099
  • elysiajs/elysiaelysiajs 的头像

    elysiajs/elysia

    18,531在 GitHub 上查看↗

    Elysia is a high-performance TypeScript web framework designed for building type-safe backend services. It provides a modular, plugin-based architecture that allows developers to compose server logic, middleware, and validation schemas into scalable application instances. By leveraging native web standards, the framework ensures portability across diverse JavaScript runtimes, including Node.js, Deno, and various edge computing environments. The framework distinguishes itself through its focus on end-to-end type safety, automatically synchronizing request and response definitions between the s

    TypeScriptbunframeworkhttp
    在 GitHub 上查看↗18,531
查看 Rack 的所有 30 个替代方案→

常见问题解答

rack/rack 是做什么的?

Rack 是一个标准化 Ruby Web 服务器与框架之间通信的最小接口。它提供了一个 Web 应用接口和一个 Web 服务器接口,通过使用通用的环境哈希和标准化的响应元组,使 Ruby 应用能够在不同的服务器实现上运行。

rack/rack 的主要功能有哪些?

rack/rack 的主要功能包括:Web Environment Interfaces, Web Server Interfaces, Binary Request Stream Interfaces, Response Tuple Specifications, HTTP Request and Response Handlers, Request Interception Middleware, HTTP Middleware Pipelines, Ruby Web Server Interfaces。

rack/rack 有哪些开源替代品?

rack/rack 的开源替代品包括: aws/aws-sdk-php — The AWS SDK for PHP is a software development kit that provides HTTP client classes for every supported Amazon Web… oakserver/oak — Oak is a cross-runtime HTTP middleware framework and web server designed to operate across Deno, Node.js, Bun, and… http-rs/tide — Tide is an asynchronous web server framework and HTTP toolkit for the Rust programming language. It provides a system… elysiajs/elysia — Elysia is a high-performance TypeScript web framework designed for building type-safe backend services. It provides a… emicklei/go-restful — go-restful is a framework for building RESTful web services in Go. It functions as a toolkit for managing API… elbywan/wretch — Wretch is a chainable HTTP client library and Fetch API wrapper designed to simplify network request configuration,…