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

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

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

ring-clojure/ring

0
View on GitHub↗
3,880 星标·527 分支·Clojure·MIT·1 次浏览

Ring

Ring is a Clojure HTTP web library that represents requests and responses as immutable data structures. It provides a functional framework for web development, treating HTTP traffic as standardized maps to decouple application logic from specific server implementations.

The project features a middleware framework for composing reusable functional layers to handle cross-cutting concerns such as authentication and logging. It includes a server adapter system that translates raw traffic into request maps, as well as a dedicated integration layer for upgrading standard HTTP connections to bidirectional WebSockets.

Ring supports deployment across various environments through Java and Jakarta servlet adapters and embedded web server wrappers. Additional capabilities include asynchronous request processing via callbacks, session management using cookies, static resource serving, and dynamic namespace reloading for development.

Features

  • Map-Based Request Representations - Represents HTTP traffic as immutable data maps to decouple application logic from specific server implementations.
  • Clojure - Provides a functional framework for building web applications in Clojure using immutable data structures.
  • HTTP Server Abstractions - Provides a standardized abstraction for HTTP requests and responses that allows handlers to remain portable across different server implementations.
  • Higher-Order Function Wrapping - Wraps handlers in higher-order functions to add shared behavior and augment functionality across the application.
  • Server Traffic Adapters - Translates raw socket traffic and servlet requests into standardized maps for consumption by application handlers.
  • Clojure HTTP Libraries - Represents HTTP requests and responses as immutable data structures for functional web development in Clojure.
  • HTTP Handler Adapters - Connects handlers to server implementations via adapters that translate raw traffic into request and response maps.
  • HTTP Middleware Pipelines - Implements a middleware framework for composing reusable functional layers to handle cross-cutting concerns like authentication and logging.
  • Ordered Middleware Pipelines - Uses a middleware pipeline to wrap request handlers in nested functions for cross-cutting concerns like logging and authentication.
  • Rapid Iteration Workflows - Supports dynamic namespace reloading to allow developers to see code changes instantly without restarting the server.
  • Servlet Adaptation - Connects application logic to Java or Jakarta servlet containers for deployment on enterprise application servers.
  • Servlet Adapters - Translates standardized Clojure request handlers into formats compatible with Java and Jakarta servlet containers.
  • Servlet Interface Bridges - Wraps functional handlers in a Java class that implements the servlet specification for deployment in traditional containers.
  • Servlet Specification Adapters - Converts request handlers into standard Java or Jakarta Servlets for deployment on compatible application servers.
  • WebSocket Protocol Upgrades - Implements the mechanism for upgrading standard HTTP connections to the WebSocket protocol for full-duplex communication.
  • WebSocket Connection Management - Manages the lifecycle of bidirectional socket communication and handles the upgrade from HTTP.
  • Session Cookie Tracking - Tracks user sessions across requests using cookies and manages temporary data via a short-term flash store.
  • Server-Side Session Management - Tracks user identity across multiple HTTP requests by mapping cookie identifiers to server-side data stores.
  • Async Response Callbacks - Processes requests using deferred callbacks to prevent thread blocking during long-running operations or I/O.
  • Asynchronous Request Processing - Processes requests using callbacks for responses and exceptions to maintain server responsiveness during external I/O.
  • Embedded Web Servers - Integrates a lightweight web server directly into the application process to handle HTTP traffic.
  • HTTP Header and Cookie Management - Automatically calculates and manages outgoing HTTP headers including content length and cache control.
  • Real-Time Communication - Upgrades standard HTTP connections to bidirectional WebSockets for real-time, full-duplex communication.
  • Request Body Parsing - Extracts data from query strings, encoded bodies, and multipart requests into structured maps.
  • Static Asset Serving - Delivers files and assets from a directory or classpath to clients using appropriate HTTP headers.
  • HTTP Clients and Servers - Standard HTTP server abstraction for Clojure.

Star 历史

ring-clojure/ring 的 Star 历史图表ring-clojure/ring 的 Star 历史图表

AI 搜索

探索更多 awesome 仓库

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

Start searching with AI

Ring 的开源替代方案

相似的开源项目,按与 Ring 的功能重合度排序。
  • salvo-rs/salvosalvo-rs 的头像

    salvo-rs/salvo

    4,376在 GitHub 上查看↗

    Salvo is a comprehensive Rust web framework for building asynchronous HTTP servers and web applications. It features a hierarchical web router that uses a tree-based structure to map requests to handlers and an asynchronous middleware pipeline based on the onion model for request and response pre- and post-processing. The framework is distinguished by its native support for modern network protocols, including a QUIC-based HTTP/3 implementation alongside HTTP/1 and HTTP/2. It includes an integrated OpenAPI documentation generator that extracts schemas directly from handler signatures to produc

    Rustasyncframeworkhttp-server
    在 GitHub 上查看↗4,376
  • pylons/pyramidPylons 的头像

    Pylons/pyramid

    4,086在 GitHub 上查看↗

    Pyramid is a Python web framework and WSGI toolkit designed for building web applications. It functions as a URL routing engine that maps incoming HTTP requests to specific view callables using both pattern-based routing and hierarchical resource tree traversal. The framework is distinguished by its hybrid dispatch system, allowing developers to combine regular expression URL matching with the ability to resolve requests by navigating a tree of nested objects. It implements a flexible component architecture that supports application registry management, deferred configuration execution, and t

    Pythonpylonspyramidpython
    在 GitHub 上查看↗4,086
  • h3js/h3h3js 的头像

    h3js/h3

    5,353在 GitHub 上查看↗

    Hono is a minimal JavaScript HTTP framework designed for building web servers across multiple runtimes, including Node.js, edge runtimes, and serverless platforms. It functions as a cross-runtime web server and a web standard API wrapper, normalizing various runtime request and response objects into standard Web API signatures. The project serves as an HTTP middleware orchestrator and request handler, utilizing a middleware-based request pipeline and hierarchical route mounting to create modular server structures. It distinguishes itself through a runtime-agnostic event wrapper that ensures c

    TypeScript
    在 GitHub 上查看↗5,353
  • vibora-io/viboravibora-io 的头像

    vibora-io/vibora

    5,592在 GitHub 上查看↗

    Vibora is an asynchronous Python web framework and built-in HTTP server designed for building high-performance web applications. It utilizes an asynchronous event loop and coroutines to process network requests and serve responses without requiring external server wrappers. The project features a high-performance asynchronous schema validator for request integrity, a non-blocking template engine with support for hot-reloading, and a WebSocket communication server for bidirectional real-time data exchange. The framework covers a broad range of capabilities, including modular route management

    Pythonasyncclientframework
    在 GitHub 上查看↗5,592
查看 Ring 的所有 30 个替代方案→

常见问题解答

ring-clojure/ring 是做什么的?

Ring is a Clojure HTTP web library that represents requests and responses as immutable data structures. It provides a functional framework for web development, treating HTTP traffic as standardized maps to decouple application logic from specific server implementations.

ring-clojure/ring 的主要功能有哪些?

ring-clojure/ring 的主要功能包括:Map-Based Request Representations, Clojure, HTTP Server Abstractions, Higher-Order Function Wrapping, Server Traffic Adapters, Clojure HTTP Libraries, HTTP Handler Adapters, HTTP Middleware Pipelines。

ring-clojure/ring 有哪些开源替代品?

ring-clojure/ring 的开源替代品包括: salvo-rs/salvo — Salvo is a comprehensive Rust web framework for building asynchronous HTTP servers and web applications. It features a… pylons/pyramid — Pyramid is a Python web framework and WSGI toolkit designed for building web applications. It functions as a URL… h3js/h3 — Hono is a minimal JavaScript HTTP framework designed for building web servers across multiple runtimes, including… vibora-io/vibora — Vibora is an asynchronous Python web framework and built-in HTTP server designed for building high-performance web… hhxsv5/laravel-s — This project is a high-performance PHP application server designed to keep applications resident in memory,… middleapi/orpc — orpc is a contract-first API development framework for TypeScript that starts with a shared contract definition and…