ruby-on-rails rack http2

ruby on rails - Soporte HTTP/2 en Rack/Rails



ruby-on-rails http2 (2)

A partir de abril de 2018, Rails v5.2.0 ahora incluye HTTP / 2 Early Hints para enviar activos antes de la solicitud principal (envío de activos):

https://weblog.rubyonrails.org/2018/4/9/Rails-5-2-0-final/

Nota: todavía necesitará una versión de Puma que tome el --early-hints al inicio (por ejemplo, v3.11.4).

HTTP / 2 es lanzado y soportado por todos los principales navegadores . Hay implementaciones de envío en los principales servidores web como Apache y nginx .

Pero para nosotros los rubistas, las opciones actualmente son bastante limitadas, parece. Érase una vez (diciembre de 2014), Aaron Patterson estaba explorando ideas para admitir HTTP / 2 en Rack 2.0, pero eso aún no se ha materializado. También ha publicado algunas ideas con posibilidades para Puma y WEBrick . Eso es todo lo que he logrado encontrar.

Mi pregunta es, en términos generales: si estoy interesado en usar HTTP / 2 en una aplicación Rails, ¿qué opciones existen, qué funciones de HTTP / 2 incluyen, y están listas para la producción?


Si quiere afirmar que admite HTTP / 2 por su propio bien, simplemente puede ejecutar NGinX con HTTP / 2 y usar un backend de Ruby, aproximadamente de la forma habitual ( https://www.nginx.com/blog/how-nginx-plans-to-support-http2/ ). Sin embargo, eso no le proporcionará características específicas de HTTP / 2, como enviar activos del servidor sin una solicitud del cliente.

Creo que le proporcionará la característica HTTP / 2 básica que le interesa, múltiples solicitudes por conexión (sin inicio lento) y muxing en una conexión (no necesita conexiones múltiples).

Así que eso es bueno.