2016-06-13 6 views
3

私は自分のサービスをhttp2で実装しようとしています。 Jetty 9をALPN jarと一緒に使用し、ドキュメントごとにコードを作成しました。サーバーが始まったので、chromeバージョン51からurl http://localhost:8443/myurlにアクセスできます。HTTP2リクエストを見るためにchrome extension HTTP2/SPDYインジケータを使用しています。リクエストがhttp2であることを示しています。 angularjsを使ってAjaxを使ってサービスを呼び出そうとしたとき、HTTP2呼び出しが行われたという拡張レポートを見ることができません。角度/ javascriptアプリケーションからhttp2 ajaxコールを作成しています

拡張機能がAjax呼び出しを検出できないという問題はありますか?または、http2コールが有効になるためには、手動でHTTP2固有のヘッダーを手動で設定する必要があります。

助けてください。

ありがとうございます。

答えて

2

Chrome HTTP/2インジケータ拡張は、トップレベルのドキュメントがHTTP/2を使用してダウンロードされたかどうかを報告します。

XHRコールは、その内線番号によって報告されません。

Chromeブラウザでchrome:// net-internals /#http2を参照すると、HTTP/2接続が有効であることがわかり、ドメインのものをクリックすると、XHR呼び出し。

org.eclipse.jetty.http2カテゴリをDEBUGにすると、HTTP/2のサーバー側DEBUGログを有効にすることができます。これにより、XHR呼び出しがサーバーに到着することがわかります。

XHRコール(またはAngularがあなたのために作るもの)にHTTP/2ヘッダを追加する必要はありません。ブラウザはHTTP/2を使用できるかどうかを知っていますそれを使用します。

+0

ありがとうございます。私はChromeのhttps:// localhost:8443/myurlからの角度jsアプリケーションから試しました.URLはhttp2サポートでうまく動作しています。私はios用のcordovaプロジェクトを作成し、iosバージョン9.3を使用してipadにインストールしました。私はjettyサーバー側で例外以下になります。原因:java.lang.IllegalStateException:null at org.eclipse.jetty.alpn.server。 ALPNServerConnection.select(ALPNServerConnection.java:87)〜[jetty-alpn-server-9.3.8.v20160314.jar!/:9.3.8.v20160314] at sun.security.ssl.ServerHandshaker.clientHello(ServerHandshaker.java: 805)〜[na:1.8.0_91] –

+0

あなたがしていることを言うのは難しいでしょう...おそらくサーバー構成が間違っているか、使用しているクライアントがHTTP/2で要求されているような十分なTLS暗号を提供していません。 – sbordet

関連する問題