awesome-repositories.com
Blog
awesome-repositories.com

Découvrez les meilleurs dépôts open-source grâce à notre recherche par IA.

ExplorerRecherches sélectionnéesAlternatives open sourceLogiciels auto-hébergésBlogPlan du site
ProjetÀ proposNotre méthodologiePresseServeur MCP
Mentions légalesConfidentialitéConditions d'utilisation
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
julienschmidt avatar

julienschmidt/httprouter

0
View on GitHub↗
17,121 stars·1,459 forks·Go·BSD-3-Clause·9 vuespkg.go.dev/github.com/julienschmidt/httprouter↗

Httprouter

httprouter is a high-performance HTTP request router for Go that maps incoming network requests to specific handler functions using a radix tree. It functions as a request dispatcher and path parameter parser, organizing URL paths in a tree structure to ensure efficient lookups.

The router specializes in capturing dynamic segments and catch-all wildcards from URL paths to pass directly into request handlers. It implements method-specific routing and automatically manages responses for unsupported HTTP methods.

The library covers broader capabilities including request normalization through trailing-slash redirects, static asset serving by mapping paths to the file system, and middleware integration for recovering from request panics.

Features

  • HTTP Routers - Implements a high-performance system for mapping network requests to handler functions based on URL patterns.
  • Radix Tree Routers - Uses a high-performance radix tree structure to map URL paths to handlers with constant-time lookup.
  • Path Variable Extractors - Maps requests to handlers using named parameters and catch-all wildcards within the URL path.
  • Resource Path Matching - Supports catch-all wildcard patterns to capture all remaining segments of a URL path.
  • HTTP Request Handlers - Efficiently routes URL paths to specific handler functions using a radix tree.
  • High-Performance HTTP Servers - Provides high-performance HTTP routing using a fast radix tree for low latency and high throughput.
  • Request Parameter Parsers - Extracts dynamic path segments and catch-all wildcards from URLs to pass as parameters to handlers.
  • RESTful API Frameworks - Maps dynamic URL segments and named parameters to controllers for building scalable REST API endpoints.
  • HTTP Routing - Maps incoming requests to specific handlers based on path matching and HTTP methods using a search tree.
  • Dynamic Segment Extraction - Captures dynamic path segments using named wildcards to pass specific values directly into request handlers.
  • Zero-Allocation Path Parsing - Parses path variables directly from the request URI slice to minimize memory allocations during routing.
  • Method-Specific Trees - Implements separate routing trees for each HTTP method to avoid unnecessary checks during path traversal.
  • Path Normalization - Redirects requests to correct URLs by removing trailing slashes and redundant path elements.
  • Request Middleware - Includes middleware for intercepting requests to handle panics and manage custom error responses.
  • URL Normalization Utilities - Redirects clients to correct paths by fixing trailing slashes and performing case-insensitive lookups.
  • URL Redirections - Automatically normalizes request paths by issuing redirects when trailing slash mismatches occur.
  • HTTP Routing - High-performance HTTP router.
  • Routage et middleware - High-performance request router that scales efficiently.
  • Web Frameworks - High-performance HTTP request router.

Historique des stars

Graphique de l'historique des stars pour julienschmidt/httprouterGraphique de l'historique des stars pour julienschmidt/httprouter

Recherche par IA

Explorez plus de dépôts awesome

Décrivez vos besoins en langage naturel — l'IA classe des milliers de projets open source sélectionnés par pertinence.

Start searching with AI

Alternatives open source à Httprouter

Projets open source similaires, classés selon le nombre de fonctionnalités partagées avec Httprouter.
  • gorilla/muxAvatar de gorilla

    gorilla/mux

    21,832Voir sur GitHub↗

    This project is a request router and web framework for the Go programming language. It provides a toolkit for matching incoming HTTP network requests to specific handler functions by evaluating criteria such as URL paths, request methods, headers, and hostnames. The framework distinguishes itself through its flexible matching capabilities, which include support for regular expressions and dynamic variable extraction from URL segments. It allows developers to organize routes into logical hierarchies, share common path prefixes, and maintain a central registry of named routes to facilitate prog

    Gogogolanggorilla
    Voir sur GitHub↗21,832
  • go-chi/chiAvatar de go-chi

    go-chi/chi

    22,418Voir sur GitHub↗

    Chi is a lightweight, idiomatic router and middleware framework for building web services in Go. It is designed to integrate directly with the standard library, providing a set of utilities for managing HTTP request routing, context propagation, and modular service composition. The project distinguishes itself through a radix-tree-based routing system that supports recursive nesting, allowing developers to mount independent sub-routers onto specific path prefixes. This hierarchical structure enables the creation of organized, modular applications where request handlers are grouped and managed

    Goapicontextgo
    Voir sur GitHub↗22,418
  • go-martini/martiniAvatar de go-martini

    go-martini/martini

    11,603Voir sur GitHub↗

    Martini is a web framework for the Go programming language that provides a toolkit for building web applications. It functions as a routing engine and an HTTP middleware pipeline to map network requests to specific handler functions. The framework is distinguished by its dependency injection system, which automatically resolves and provides requested service types as arguments to handler functions. This allows for the decoupling of business logic from infrastructure by matching requested types against a registry of available services. The project covers a broad range of web capabilities, inc

    Go
    Voir sur GitHub↗11,603
  • salvo-rs/salvoAvatar de salvo-rs

    salvo-rs/salvo

    4,376Voir sur 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
    Voir sur GitHub↗4,376
Voir les 30 alternatives à Httprouter→

Questions fréquentes

Que fait julienschmidt/httprouter ?

httprouter is a high-performance HTTP request router for Go that maps incoming network requests to specific handler functions using a radix tree. It functions as a request dispatcher and path parameter parser, organizing URL paths in a tree structure to ensure efficient lookups.

Quelles sont les fonctionnalités principales de julienschmidt/httprouter ?

Les fonctionnalités principales de julienschmidt/httprouter sont : HTTP Routers, Radix Tree Routers, Path Variable Extractors, Resource Path Matching, HTTP Request Handlers, High-Performance HTTP Servers, Request Parameter Parsers, RESTful API Frameworks.

Quelles sont les alternatives open-source à julienschmidt/httprouter ?

Les alternatives open-source à julienschmidt/httprouter incluent : gorilla/mux — This project is a request router and web framework for the Go programming language. It provides a toolkit for matching… go-chi/chi — Chi is a lightweight, idiomatic router and middleware framework for building web services in Go. It is designed to… go-martini/martini — Martini is a web framework for the Go programming language that provides a toolkit for building web applications. It… salvo-rs/salvo — Salvo is a comprehensive Rust web framework for building asynchronous HTTP servers and web applications. It features a… dodyg/practical-aspnetcore — This project is a comprehensive sample library and implementation guide for ASP.NET Core. It provides a collection of… revel/revel — Revel is a full-stack web framework and toolkit for building applications with the Go language. It implements a…