Hello Rick,
TL/DR; It doesn't make any noticeable difference in terms of speed or subjective user experience.
I've just tried it -- our application "dashboard" mashup loads on average within 5.25s with HTTP/1.1 and 5.27 with HTTP/2 (average over 10 executions). The same with the Composer, which in my case loads within 3.10 seconds, with <5% random difference between two protocols.
To test it I have two nginx running side-by-side on different ports. The only difference is "http2" bit in the config:
worker_processes 1;
events {
worker_connections 1024;
}
http {
server {
listen 443 ssl http2;
server_name localhost;
ssl_certificate ../cert/localhost.crt;
ssl_certificate_key ../cert/localhost.key;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers HIGH:!aNULL:!MD5;
location /Thingworx {
proxy_pass http://127.0.0.1:8080/Thingworx;
proxy_http_version 1.1;
}
}
}
Note that you have to use SSL/TLS, otherwise it won't work. I use the latest version of Chrome and measure performance using Chrome DevTools. ThingWorx 8.5.3-b123 on localhost.
I'm attaching the screenshot which demonstrates the difference between the two, where it's easy to see how HTTP/2 multiplexes requests. Thanks to HTTP headers compression HTTP/2 saves 3KB on 472KB download for Composer, so less than 1% saving in terms of traffic.
Regards,
Constantine