2015-10-16 1 views
15

HTTP/2 est publié et pris en charge par all major browsers. Il existe des implémentations expédiées dans les principaux serveurs Web tels que Apache et nginx. Mais pour nous Rubisistes, les choix sont actuellement assez limités, semble-t-il. Il était une fois (décembre 2014), Aaron Patterson était exploring ideas pour soutenir HTTP/2 dans Rack 2.0, mais cela ne s'est pas encore matérialisé. Il a également posté quelques idées avec des possibilités pour Puma et WEBrick. C'est tout ce que j'ai réussi à trouver. Ma question est, de façon générale: si je suis intéressé par l'utilisation de HTTP/2 dans une application Rails, quelles options existent, quelles fonctions de HTTP/2 incluent-elles, et sont-elles toutes prêtes pour la production?Prise en charge de HTTP/2 dans Rack/Rails

Répondre

7

Si vous voulez prétendre prendre en charge HTTP/2 en tant que tel, vous pouvez simplement exécuter NGinX avec HTTP/2 et utiliser un backend Ruby, à peu près comme d'habitude (https://www.nginx.com/blog/how-nginx-plans-to-support-http2/). Cela ne vous donnera pas de fonctionnalités spécifiques à HTTP/2, comme pousser des ressources du serveur sans une demande de client, cependant.

je crois qu'il va vous donnera la fonction HTTP/2 de base que vous aimez, plusieurs demandes par connexion (sans démarrage lent) et muxing sur une connexion (ne pas avoir besoin de plusieurs connexions.)

Alors c'est gentil.

+0

Merci pour la réponse. Je vais l'accepter pour l'instant, mais j'aimerais entendre d'autres options - y compris (bien sûr) quelque chose qui fonctionnerait sur Heroku, si possible. Si la mémoire est bonne, il est possible d'exécuter nginx sur Heroku, mais cela ne me permet pas d'utiliser Heroku, car je dois soudainement me préoccuper beaucoup plus de la configuration et du déploiement. – ivanreese

+1

HTTP2 apportera un nouvel ensemble de pratiques architecturales qui devront être évaluées et mises en œuvre. Disons la mise en cache: vous voudriez arrêter de faire de la concaténation ... –

+1

Utiliser Cloudflare vous procurera automatiquement les mêmes avantages que ceux mentionnés ci-dessus avec nginx, et vous pouvez vous asseoir devant Heroku. Il prend même en charge le push serveur, mais pas particulièrement bien en combinaison avec Rails. – Jason