А какие версии HTTP поддерживают ваши nodejs-приложения?

Моя цель - предложение широкого ассортимента товаров и услуг на постоянно высоком качестве обслуживания по самым выгодным ценам.

Прежде чем перейти к статье, хочу вам представить, экономическую онлайн игру Brave Knights, в которой вы можете играть и зарабатывать. Регистируйтесь, играйте и зарабатывайте!

При анализе откликов на свою статью "HTTP/1 и HTTP/2 сервера на nodejs" пришёл к выводу, что поддержка версии HTTP/2 в настоящее время в nodejs-приложениях находится в этакой суперпозиции: с одной стороны http2-библиотека nodejs позволяет без проблем использовать HTTP/2 в своих приложениях, с другой - наиболее популярный web-сервер (express) до сих пор нативно не поддерживает HTTP/2, а другие популярные web-сервера (koa, hapi) требуют от разработчика дополнительно кодирования для работы с HTTP/2:

const http2 = require('http2');
const Koa = require('koa');
const app = new Koa();
http2.createServer(options, app.callback());

То есть, поддержка HTTP/2 есть, но не похоже, что она сильно используется.

В фокусе моих интересов на данный момент находятся Progressive Web Applications. Такие приложения в принципе не работают без шифрования трафика (http), им обязательно нужен https. Современные браузеры поддерживают HTTPS на базе HTTP/2 - с этим проблем нет. Проблема в том, что современные браузеры не поддерживают HTTP/2 без HTTPS. Для production-режима, само собой, нужно получать сертификат, подписанный доверенным центром сертификации. А что делать разработчикам или тестировщикам? В данной ситуации логично использовать HTTP/1.1 (если только ваше приложение не завязано на функционал, присущий только HTTP/2 - как Server Push, и ваше приложение в принципе может работать без шифрования, например - не использует service worker). А возможен ещё вариант, когда ваше приложение находится в "безопасной среде" и ему не нужно шифрование, а вот HTTP/2 наоборот может быть полезным (приложение за прокси сервером в виде nginx или микросервис с которым общаются другие микросервисы).

Итого, я считаю, что современные web-приложения общего назначения должы иметь возможность работать и по HTTP/1.1, и по HTTP/2, в зависимости от конфигурации стартовых параметров, но мне кажется, что в реальности дело обстоит несколько иначе. Что HTTP/2 в nodejs-приложениях распространён куда меньше, чем принято считать.

Прошу коллег, которые имеют отношение к разработке web-прложений в nodejs ответить на вопрос, вынесенный в заголовок публикации.

Спасибо за участие в опросе.

Только зарегистрированные пользователи могут участвовать в опросе. Войдите, пожалуйста.
Какие версии HTTP поддерживают ваши nodejs-приложения?
0% обе версии — и HTTP/1.1, и HTTP/2, в зависимости от потребностей; 0
33.33% сейчас используется только HTTP/1.1, но в планах использовать также и HTTP/2; 1
0% не вижу смысла в использовании HTTP/2, мне хватает возможностей HTTP/1.1; 0
0% не вижу смысла в использовании HTTP/1.1, все уже давно поддерживают HTTP/2; 0
0% используется сторонний npm-пакет (express, koa, hapi, ...), вот какая версия там есть, такая и в приложении; 0
66.67% вообще не вижу смысла беспокоиться по поводу версии HTTP; 2
Проголосовали 3 пользователя. Воздержавшихся нет.
Источник: https://habr.com/ru/post/596377/


Интересные статьи

Интересные статьи

Недавно в своей работе начал практиковаться с Hadoop, Spark и Hive от Apache на примере организации распределенного хранилища данных в крупном и сложном проекте. Так как я хорошо дружу с Linux и вселе...
Эта статья — о выборе устройств для гостиничного номера. О телефонах для сотрудников отелей и IP-АТС для гостиниц читайте в других материалах. Не секрет, что большинство постояльцев в ...
Этим летом на GDC старший VFX-артист Remedy Йоханнес Рихтер рассказал о том, как реализовано процедурное разрушение в последней игре студии — мистическом экшене Control. В своей лекции...
Еще в 2016 году мы в Buffer перешли на Kubernetes, и сейчас около 60 нод (на AWS) и 1500 контейнеров трудятся на нашем k8s-кластере под управлением kops. Тем не менее, на микросервисы...
Сергей Куксенко — перформанс-инженер, видевший Java еще версии 1.0. За это время успел поучаствовать в разработке мобильных, клиентских, серверных приложений и виртуальных машин. Производительн...