HTTP/2 Support

As of IPWorks 2016 HTTP/2 is supported on most platforms. Requests may be made to SSL-enabled HTTP/2 capable servers just as they are made to HTTP/1.1 capable servers.

Enabling HTTP/2 Support

To enable HTTP/2 set the HTTPVersion property of the HTTP component to "2.0". For instance:

HTTP.HTTPVersion = "2.0";

For components that use HTTP but do not expose HTTPVersion as a top level property, set the HTTPVersion configuration setting. For instance:

WebUpload.Config("HTTPVersion=2.0");

Operational Notes

When using HTTP/2 only secure (TLS/SSL) connections are currently supported. Attempting to use a plaintext URL with HTTP/2 will result in an error.

If the server does not support HTTP/2 the component will automatically use HTTP/1.1 instead. This is done in order to provide compatibility without the need for any additional settings. To see which version was used check NegotiatedHTTPVersion after calling a method. The AllowHTTPFallback setting controls whether this behavior is allowed (default) or disallowed.

In Java and .NET HTTP/2 is supported on all platforms. In All other languages HTTP/2 is only supported in Windows 8.1/Windows Server 2012 R2 or later. HTTP/2 is not currently supported on macOS or Unix/Linux.

We appreciate your feedback.  If you have any questions, comments, or suggestions about this article please contact our support team at kb@nsoftware.com.