Могу ли я говорить по HTTP/2 через STDIN/STDOUT?

Могу ли я говорить по HTTP/2 через STDIN/STDOUT? Если да, то как я могу это сделать и каковы будут ограничения?

1 ответ

Решение

Строго говоря, HTTP/2 по определению требует TCP-соединения:

HTTP/2-соединение - это протокол прикладного уровня, работающий поверх TCP-соединения ([TCP]). Клиент является инициатором TCP-соединения.

HTTP/2 использует те же схемы URI "http" и "https", которые используются в HTTP/1.1. HTTP/2 использует те же номера портов по умолчанию: 80 для URI "http" и 443 для URI "https". В результате реализации, обрабатывающие запросы для URI целевых ресурсов, таких как http://example.org/foo или https://example.com/bar, должны сначала определить, является ли вышестоящий сервер (непосредственный узел, которому клиент желает установить соединение) поддерживает HTTP/2

При этом вы, вероятно, могли бы адаптировать протокол для любого произвольного транспорта (например, конвейера), но, насколько я знаю, в настоящее время нет программного обеспечения, которое бы работало таким образом. Если бы такие библиотеки существовали, я бы ожидал увидеть их в тестовых наборах для библиотек HTTP/2. Вот сайт, содержащий список тестовых приложений HTTP/2. Возможно, один из них может иметь режим, аналогичный тому, что вы ищете.

Что касается преимуществ и ограничений, так как HTTP/2 не был разработан для такого использования, я не уверен, что в любом случае есть много преимуществ. Основное ограничение то же самое: большинство программ не смогут работать с конвейерами.

Другие вопросы по тегам