Biblioteca de C++11 en un solo archivo de cabecera para crear servidores y clientes HTTP/HTTPS con E/S de sockets bloqueante.
valyala/fasthttp
Implementación rápida de servidor y cliente HTTP para Go, diseñada para cargas de alto rendimiento y pocas asignaciones de memoria.
- Estrellas
- 23,489
- Forks
- 1,883
- Issues abiertos
- 66
- Último commit
- anteayer
¿Qué es?
fasthttp es una implementación de HTTP para Go que ofrece API de servidor y cliente. Está diseñada para casos con un volumen muy alto de solicitudes, reutiliza objetos de solicitud y respuesta y evita asignaciones en las rutas críticas. Los benchmarks del README la comparan con net/http e indican que, en las configuraciones evaluadas, el servidor puede ser hasta unas 6 veces más rápido y el cliente, hasta unas 4 veces más rápido.
La API es intencionalmente distinta de net/http. Los handlers reciben un único argumento *RequestCtx y no hay ServeMux, por lo que el enrutamiento se delega a routers o frameworks de terceros, como Fiber. Se pueden escribir las cabeceras y el cuerpo de la respuesta en cualquier orden antes de que el handler termine. Para migrar código existente hay que adaptar los handlers y evitar referencias al contexto después de que el handler termine.
El README del proyecto recomienda net/http para la mayoría de las aplicaciones, porque es más fácil de usar, maneja más casos especiales de HTTP y admite HTTP/2. fasthttp es más adecuado para servicios que procesan miles de solicitudes pequeñas o medianas por segundo y necesitan una latencia baja y constante.
Funciones clave
- 01API de servidor y cliente con reutilización de objetos de solicitud y respuesta para reducir las asignaciones de memoria.
- 02Los handlers reciben un único RequestCtx, y las cabeceras y el cuerpo se pueden escribir en cualquier orden.
- 03Admite listeners reuseport y patrones de despliegue por núcleo para escalar en sistemas multinúcleo.
- 04Incluye utilidades para convertir handlers de net/http, servir archivos y gestionar timeouts.
- 05Según las preguntas frecuentes del README, requiere Go 1.26 o una versión posterior.
Casos de uso
- Gateways de API o proxies de alto rendimiento que gestionan grandes volúmenes de solicitudes pequeñas.
- Servicios de Go sensibles a la latencia en los que la presión por asignaciones de memoria es un cuello de botella medido.
- Servicios de edge que atienden muchas conexiones keep-alive desde un único servidor.
Inicio rápido
- 1
Instala la biblioteca con Go
go get -u github.com/valyala/fasthttp
Antes de usarlo
- fasthttp no sustituye directamente a net/http y su API es diferente.
- El README indica que net/http suele ser la mejor opción, salvo que necesites un rendimiento muy alto.
Temas
Preguntas frecuentes
- ¿Qué es fasthttp?
- Implementación rápida de servidor y cliente HTTP para Go, diseñada para cargas de alto rendimiento y pocas asignaciones de memoria. fasthttp es una implementación de HTTP para Go que ofrece API de servidor y cliente. Está diseñada para casos con un volumen muy alto de solicitudes, reutiliza objetos de solicitud y respuesta y evita asignaciones en las rutas críticas. Los benchmarks del README la comparan con net/http e indican que, en las configuraciones evaluadas, el servidor puede ser hasta unas 6 veces más rápido y el cliente, hasta unas 4 veces más rápido.
- ¿fasthttp es gratuito? ¿Qué licencia tiene?
- fasthttp es open source bajo la licencia MIT. Revisa los términos de la licencia antes de usarlo en productos comerciales.
- ¿fasthttp sigue mantenido?
- Mantenimiento activo. El último commit de fasthttp fue el 21 oct 2026.
- ¿Para qué puedo usar fasthttp?
- Gateways de API o proxies de alto rendimiento que gestionan grandes volúmenes de solicitudes pequeñas. Servicios de Go sensibles a la latencia en los que la presión por asignaciones de memoria es un cuello de botella medido. Servicios de edge que atienden muchas conexiones keep-alive desde un único servidor.
- ¿Cómo se instala fasthttp?
- Instala la biblioteca con Go: go get -u github.com/valyala/fasthttp
- ¿Dónde consigo fasthttp?
- El código fuente y las instrucciones de instalación están en GitHub: https://github.com/valyala/fasthttp
Resumen generado por IA a partir del README del proyecto. Las estadísticas de GitHub se actualizan a diario.
Proyectos relacionados
Una biblioteca HTTP de Python sencilla y elegante para enviar solicitudes HTTP/1.1 con sesiones, cookies, autenticación y compatibilidad con JSON.
Servidor web de alto rendimiento, proxy inverso, balanceador de carga, API gateway y caché de contenido escrito en C.
Un framework HTTP de alto rendimiento para Go con una API similar a Martini, diseñado para REST APIs, aplicaciones web y microservicios.
Cliente HTTP con seguridad de tipos para Android y Java que convierte métodos de interfaz anotados en llamadas de red.
Ecosistema open source para el desarrollo de APIs que permite enviar solicitudes REST, GraphQL, WebSocket, SSE, Socket.IO y MQTT desde aplicaciones web, de escritorio y CLI.