私は本当にウェブを検索しますが、ウェブブラウザがh2c(TLSなしのhttp/2)をサポートしない理由を見つけることができません。任意のアイデア、感謝します。
Httpsを使用したhttp/2の説明では、ALPNを使用しています(これはh2と呼ばれます)。 http/2でhttpを使用する場合、ALPN(これはh2cと呼ばれます)は必要ありませんが、Webブラウザーではほとんどサポートされていません。なぜそうですか?
多くのリソースでは、信頼性は常に良好ですが、秘密性は必要ないと感じています(プライベートな実装もありますが、httpボディのデジタル署名は広くサポートされていません)。機密性が必要ない場合、h2cは本当に良いものです。
HTTP/2がHTTPSよりもはるかに優れており、扱いやすいという技術的な理由がいくつかあります。
Upgrade:
のような往復を失うことはありません。また、プレーンテキストHTTP/2で発生するPOSTでのアップグレードの問題もありません。Upgrade: h2c
headersをサポートせず、代わりに400エラーで応答します。一部の大規模なWebブラウザー開発チームが共有し、一部で作業しているWeb上のHTTPSのプッシュがあります。機能がHTTPSのみで実装されている場合、サイトおよびサービスがHTTPSに移行するもう1つの動機として機能するため、ボーナスと見なされます。そのため、一部のチームは、TLSなしでHTTP/2を機能させるために(もしあったとしても)非常に一生懸命試みたことはありません。
少なくとも1つのブラウザベンダーが、プレーンテキストHTTP(h2c)を介して行われるユーザーにHTTP/2を実装および提供する意向を早期に表明しました。上記のような技術的な障害のために、彼らは結局これを決してしませんでした。