19 repository-uri
Improves data transmission speed and responsiveness by enabling modern protocol features for communication between server and client.
Distinguishing note: Focuses on protocol-level support, distinct from specific features like asset pushing.
Explore 19 awesome GitHub repositories matching networking & communication · HTTP/2 Protocol Implementations. Refine with filters or upvote what's useful.
OkHttp is an HTTP client for the JVM and Android that enables network communication via synchronous and asynchronous requests. It provides a core identity as a comprehensive networking toolkit featuring a WebSocket client for bidirectional data synchronization, a TLS security toolkit for encrypted communication, and a programmable HTTP mock server for simulating backend responses. The project distinguishes itself through a specialized security and performance architecture. It implements mutual TLS, certificate pinning, and DNS over HTTPS to secure data in transit, while utilizing connection p
Implements distinct logic for HTTP/1.1, HTTP/2, and WebSockets to handle specific protocol framing.
Echo is a high-performance, lightweight web framework for Go designed for building scalable RESTful APIs and web services. It provides a centralized environment for mapping network requests to handler functions, utilizing a fast radix-tree routing engine to ensure efficient request dispatching. The framework is built around a modular, middleware-centric pipeline that allows developers to execute reusable logic for cross-cutting concerns like authentication, logging, and security across the entire application. What distinguishes Echo is its focus on developer productivity through structured da
Improves data transmission speed and responsiveness by enabling modern protocol features for communication between server and client.
Fasthttp is a high-performance networking framework for Go, designed to maximize throughput and minimize memory overhead in demanding web applications. It functions as a specialized HTTP server and client library that prioritizes efficient resource management, allowing developers to build scalable services capable of handling massive concurrent traffic with minimal garbage collection pressure. The library distinguishes itself through a focus on zero-allocation processing and low-level optimization. It achieves this by recycling temporary request and response objects through managed pools and
Implements modern protocol features to improve performance and concurrency for network communication.
grpc-go is a Go language implementation of the gRPC framework, providing a remote procedure call library for high-performance service communication. It uses the HTTP/2 protocol to execute functions on remote servers as if they were local methods and utilizes protobuf service bindings to generate type-safe client and server code. The project features a bidirectional streaming transport that supports asynchronous, full-duplex message streams between clients and servers. This networking layer allows for various communication patterns, including client-to-server and server-to-client streaming, to
Implements a communication system using HTTP/2 to execute functions on remote servers as if they were local methods.
Excelize is a library for reading and writing spreadsheet files in the Office Open XML format. It provides a comprehensive suite of tools for programmatically creating, modifying, and analyzing workbooks, worksheets, and cell data, ensuring compatibility across various office software suites through structured XML serialization. The library distinguishes itself with a built-in formula calculation engine that evaluates complex mathematical and logical expressions directly against workbook data. It also features a memory-mapped streaming architecture, which allows for the efficient processing o
Configures web servers to utilize modern network protocols for reduced latency.
Superagent is an isomorphic JavaScript HTTP client for sending network requests and processing responses across both Node.js and web browser environments. It provides a fluent request builder that uses a chainable interface to construct complex network requests with custom headers, query strings, and bodies. The library functions as a runtime-agnostic request adapter, allowing a single codebase to work consistently across different environments. It includes specialized capabilities such as an HTTP/2 client for forcing the HTTP/2 protocol and a Node.js agent for managing Unix socket connection
Includes a specialized client capable of forcing the HTTP/2 protocol for high-performance communication.
Hyper is a low-level networking library designed for building high-performance HTTP clients and servers. It provides a foundational toolkit for creating network services that leverage asynchronous execution and memory-safe data handling, supporting both HTTP/1 and HTTP/2 protocols. The library distinguishes itself through a protocol-agnostic architecture that separates transport logic from HTTP semantics. It utilizes a service-trait abstraction to decouple network logic from the underlying transport, enabling developers to inject custom middleware for request interception and response transfo
Implements a high-concurrency networking stack supporting modern HTTP/1 and HTTP/2 standards.
Quarkus is a Kubernetes-native Java framework designed for building high-performance, memory-efficient applications. It utilizes ahead-of-time native compilation to transform Java code into standalone, optimized binaries that eliminate the need for a virtual machine, enabling rapid startup and reduced memory consumption. By performing code augmentation during the build phase, it shifts heavy processing tasks away from runtime, ensuring that applications are optimized for cloud-native environments. The framework distinguishes itself through a unified approach to reactive and imperative program
Supports HTTP/2 protocol features including automatic cleartext upgrades and configurable stream limits.
This project is a comprehensive Python network request framework designed for both synchronous and asynchronous HTTP communication. It provides a high-performance client capable of executing non-blocking requests within event-driven applications, while also supporting standard blocking calls for simpler scripts. The library is built to operate natively across diverse asynchronous runtimes, automatically detecting and utilizing the underlying event loop for concurrency. What distinguishes this library is its modular architecture, which decouples request construction from network execution thro
Implements binary-formatted transport with request multiplexing and header compression to improve network efficiency.
Dio is a cross-platform HTTP client for Dart designed to manage network requests and data communication across mobile and desktop applications. It provides a comprehensive framework for executing standard web operations while handling complex tasks such as request lifecycles, connection security, and global configuration. The library distinguishes itself through an extensible architecture that allows developers to hook into the request and response pipeline. By utilizing interceptors and custom network adapters, users can modify traffic, perform authentication, and swap underlying networking
Improves data transfer efficiency by enabling modern HTTP/2 protocol features.
gRPC Java is a library for building distributed systems that enables client and server applications to interact through remote procedure calls. It uses protocol buffers to define service interfaces and exchange structured data, providing a framework for connecting microservices across different environments. The framework utilizes an asynchronous networking foundation to manage concurrent connections and relies on a multiplexed binary protocol to facilitate efficient data exchange. It supports pluggable transport interceptors, allowing for the injection of custom logic into the request-respon
Implements HTTP/2 multiplexed binary protocols for efficient data exchange between services.
h2o is a high-performance content delivery server and HTTP/3 web server. It functions as a network gateway and reverse proxy that forwards client requests to upstream servers to manage traffic flow and load. The project distinguishes itself as a protocol fuzzing tool, utilizing a testing framework to execute automated stress tests against network protocols to identify memory leaks and crashes. The server provides capabilities for secure web traffic management through encrypted data transmission and high-performance web serving across HTTP/1, HTTP/2, and HTTP/3. It includes tools for server r
Handles HTTP/1, HTTP/2, and HTTP/3 requests through a shared internal representation for protocol-agnostic processing.
Gunicorn is a production-grade WSGI HTTP server designed for deploying Python web applications. It functions as a process manager that utilizes a pre-fork worker model, where a master process initializes the application and spawns multiple child processes to handle incoming requests in parallel. This architecture ensures high performance and stability by isolating application execution within persistent worker processes. The server distinguishes itself through its flexible concurrency models and robust process lifecycle management. It supports interchangeable worker types, including synchrono
The server improves resource loading and connection efficiency by utilizing modern features like HTTP/2 multiplexing and HTTP 103 Early Hints for faster client interactions.
node-crawler is a programmable web crawler for Node.js that manages request queues and automates data extraction. It functions as a rate-limited HTTP client and a headless HTML parser, providing the infrastructure to visit large sets of URLs asynchronously while preventing duplicate processing through task deduplication. The project distinguishes itself through a proxy rotation manager that cycles user agents and proxy servers to bypass access restrictions. It utilizes the HTTP/2 protocol to improve request performance and server compatibility during large-scale scraping operations. The syst
Supports both HTTP/1.1 and HTTP/2 protocols to optimize connection performance and ensure server compatibility.
nghttp2 este o suită de biblioteci C de nivel scăzut și instrumente concepute pentru implementarea protocolului HTTP/2. Oferă o implementare eficientă din punct de vedere al memoriei a logicii de bază a protocolului, inclusiv framing, multiplexarea fluxurilor și controlul fluxului. Proiectul include o bibliotecă dedicată pentru compresia și decompresia header-elor HPACK pentru a reduce lățimea de bandă a rețelei. Oferă, de asemenea, un set de instrumente pentru analizarea traficului de rețea și benchmarking-ul performanței serverului, inclusiv măsurători de debit și latență. Capabilitățile sale mai largi acoperă implementarea protocolului și gestionarea traficului, inclusiv negocierea conexiunii ALPN, prioritizarea cererilor și validarea componentelor header-ului. Biblioteca suportă extensii de protocol personalizate printr-un sistem de evenimente bazat pe callback și include utilitare pentru gestionarea memoriei și traducerea codurilor de eroare. Proiectul include suport pentru build și scripturi de configurare pentru cross-compilarea binarilor pentru platforma Android.
Provides a low-level C implementation of the HTTP/2 protocol, including framing, multiplexing, and flow control.
Acest proiect este un parser de user agent PHP și un detector de dispozitive mobile. Analizează șirurile de user agent HTTP pentru a identifica browserul web al vizitatorului, sistemul de operare și tipul de dispozitiv. Biblioteca oferă o integrare dedicată pentru framework-ul web Laravel. Distinge între telefoane mobile, tablete și computere desktop, identificând în același timp roboții web și numele specifice ale crawlerelor motoarelor de căutare. Capabilitățile instrumentului includ extragerea limbilor preferate din headerele cererii și verificarea proprietăților specifice ale user agent-ului. Utilizează potrivirea tiparelor prin expresii regulate și maparea statică a datelor pentru a clasifica clienții și a localiza conținutul.
Identifies if a request comes from a web robot and retrieves the specific name of the search engine crawler.
Acest proiect este o colecție de fișiere de configurare și scripturi care servesc drept blocator de boți și middleware de securitate pentru Nginx. Funcționează ca un manager automat de blocklist care filtrează user-agent-urile și adresele IP malițioase pentru a atenua scanările de vulnerabilități, atacurile de tip brute-force asupra autentificării și atacurile DDoS. Sistemul se distinge prin automatizarea mentenanței regulilor de securitate, descărcarea definițiilor actualizate de boți și reîncărcarea serverului conform unui program. Include, de asemenea, un filtru de spam pentru motoarele de căutare, capabil să genereze fișiere robots.txt și liste de link-uri de tip disavow pentru a preveni indexarea site-ului de către domenii malițioase. Software-ul acoperă o gamă largă de capabilități de gestionare a traficului și control al accesului, inclusiv rate limiting, filtrare bazată pe referrer și drop-ul conexiunilor. Se integrează cu Fail2Ban pentru banarea IP-urilor bazată pe log-uri și oferă whitelisting de IP-uri pentru a asigura accesibilitatea serviciilor legitime. Instalarea suportă căi personalizate pentru servere cu structuri de directoare non-standard.
Blocks requests from bots masquerading as legitimate search crawlers to prevent ghost spam.
Acest proiect este un scraper web pentru Sina Weibo și un pipeline de date pentru social media, conceput pentru a extrage profiluri de utilizatori, postări, comentarii și active multimedia. Acesta funcționează ca un crawler de date containerizat care automatizează colectarea și stocarea locală a conținutului de social media și a metricilor de engagement. Sistemul include un strat de procesare care utilizează modele de limbaj mari (LLM) pentru a analiza textul extras, generând rezumate și analize de sentiment. Se diferențiază printr-un model de container gata de deployment, care dispune de o interfață HTTP pentru gestionarea sarcinilor de extracție și monitorizarea progresului joburilor. Crawler-ul acoperă o gamă largă de capabilități, inclusiv monitorizarea social media prin actualizări incrementale programate, arhivarea activelor multimedia pe discuri locale și exportul de date în formate multiple către fișiere plate sau baze de date. De asemenea, captează interacțiuni sociale detaliate, cum ar fi comentariile de prim nivel și repostările.
Provides a deployment-ready containerized crawler with an HTTP interface for task management.
This project provides the formal network protocol standards and technical specifications for HTTP/2. It defines the requirements for binary framing structures, the HPACK compression standard for header fields, and the general behaviors necessary to ensure consistent data exchange and interoperability between network clients and servers. The specification covers the mechanisms for binary frame multiplexing and the HPACK standard to reduce network bandwidth and latency. It details the rules for session establishment, including connection preface handshaking and protocol negotiation. The projec
Provides the complete technical specification for implementing the HTTP/2 protocol.