Possible to support only HTTP/2 for "http" URIs? "https" URIs?

*Is it possible to support just HTTP/2 for "http" URIs?*

For example, consider the scenario where a server only wants to support clear-text HTTP version 2 (h2c) i.e. not allow/parse HTTP/1.x requests.



I believe it has the two following options, but please correct me if I am wrong.



a. "Upgrade"

If a HTTP/1.x request arrives _with_ an "Upgrade: h2c" header, do the following: Send "101 switching protocols".  Immediately send RST_STREAM/REFUSED_STREAM on stream 1 and _hope_ the client re-sends the request as an h2c request.



b. "Alt-Svc"

If a HTTP/1.x request arrives _without_ an "Upgrade: h2c" header, do the following: Send a "505 HTTP Version Not Supported" with an Alt-Svc header e.g. "Alt-Svc: h2c=82". It's up to the client to switch to h2c at the specified port.





*Is it possible to support just HTTP/2 for "https" URIs?*

I believe it's possible to support only HTTP version 2 (h2) by simply only negotiating for "h2" and rejecting all other requests.





This email message is intended only for the use of the named recipient. Information contained in this email message and its attachments may be privileged, confidential and protected from disclosure. If you are not the intended recipient, please do not read, copy, use or disclose this communication to others. Also please notify the sender by replying to this message and then delete it from your system.

Received on Wednesday, 16 July 2014 08:46:31 UTC