HTTP Proxy Translating HTTP/2 to HTTP/1 for Legacy Server Compatibility

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The transition from HTTP/1.x to HTTP/2 is hindered by the lack of backward compatibility, requiring millions of servers and billions of clients to update, with web server upgrades lagging behind browser updates, necessitating a solution to translate between HTTP/2 and HTTP/1 messages.

Innovation Solution

An HTTP proxy system translates HTTP/2 request and response messages into HTTP/1 format for communication with HTTP/1-only servers, enabling HTTP/2 clients to access these servers by converting messages using techniques like header compression and frame manipulation.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If HTTP/2 is adopted to improve network performance and efficiency, then speed and productivity are improved, but device complexity and adaptability worsen due to lack of backward compatibility with HTTP/1.x servers

Engineering Contradiction:
Improvenetwork performanceVSAvoidbackward compatibility
Core Design Contradiction:
ProductivityVSAdaptability or versatility

Solution Approach 1:

An HTTP proxy is introduced as an intermediary component between HTTP/2 clients and HTTP/1.x servers. The proxy translates HTTP/2 requests into HTTP/1.x requests and translates HTTP/1.x responses into HTTP/2 responses, enabling compatibility without requiring server upgrades. This mediator resolves the contradiction by allowing HTTP/2 performance benefits while maintaining support for legacy servers.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Speed

If HTTP/2 binary framing layer is implemented to achieve multiplexed streams and header compression, then speed and energy efficiency are improved, but device complexity increases due to new protocol requirements

Engineering Contradiction:
Improveconnection efficiencyVSAvoidprotocol implementation complexity
Core Design Contradiction:
SpeedVSDevice complexity

Solution Approach 1:

The HTTP proxy serves as a translation layer that handles the complexity of HTTP/2 binary framing, header compression (HPACK), and stream multiplexing. Clients only need to implement HTTP/2 to the proxy, while the proxy manages the complexity of translating to simple HTTP/1.x text format for legacy servers, reducing client-side implementation complexity.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The proxy maintains separate protocol stacks and message formats for HTTP/2 and HTTP/1.x, copying and translating between them. This allows the system to leverage HTTP/2's efficient binary format and compression where supported, while maintaining simple text-based HTTP/1.x compatibility with legacy servers.

Inventive Principle:
Principle #26Copying

Data Source

PatentUS10122816B2HTTP proxy
Publication Date: 2018.11.06 FORTINET INC
  • US10122816B2 patent drawing
  • US10122816B2 patent drawing
  • US10122816B2 patent drawing

AI summary

Systems and methods for translating between an older version of HTTP and a newer version of HTTP are provided. According to an embodiment, a first request message, compliant with the newer version and directed to a server that supports the older version but does not support the newer version, is received by the proxy from a client that supports the newer version. A second request message, compliant with the older version, is created by the proxy by translating the first request message. The second request message is sent to the server by the proxy. A first response message, compliant with the older version and directed to the client, is received by the proxy from the server. A second response message, compliant with the newer version, is created by the proxy by translating the first response message. The second response message is sent to the client by the proxy.