2016-06-13 7 views
3

Ich versuche, http2 Umsetzung meines Dienstes zu machen. Ich habe Jetty 9 mit ALPN jar verwendet und den Code gemäß den Dokumentationen erstellt. Der Server wurde gestartet und ich kann auf die URL http://localhost:8443/myurl von Chrom Version 51 zugreifen. Ich benutze eine Chrome-Erweiterung HTTP2/SPDY-Indikator, um die HTTP2-Anfrage zu sehen und es zeigt die Anfrage ist http2. Als ich versuchte, einen Dienst aufzurufen, der Ajax über angularjs verwendet, kann ich den Erweiterungsbericht nicht sehen, dass HTTP2-Anruf gemacht wird.machen http2 Ajax Anruf von eckigen/Javascript-Anwendung

Ist es das Problem mit der Erweiterung, Ajax-Aufruf nicht zu erkennen. Oder muss ich manuell irgendwelche HTTP2 spezifischen Überschriften für http2 Anruf setzen, um aktiviert zu werden.

Jede Hilfe wird geschätzt.

Vielen Dank im Voraus.

Antwort

2

Die Chrome HTTP/2-Anzeigeerweiterung gibt an, ob das Dokument der höchsten Ebene über HTTP/2 heruntergeladen wurde.

XHR-Anrufe werden von dieser Nebenstelle nicht gemeldet.

Wenn Sie in Ihrem Chrome-Browser auf chrome: // net-internals/# http2 zugreifen, werden die aktiven HTTP/2-Verbindungen angezeigt. Klicken Sie auf die Verknüpfung für Ihre Domäne, um weitere Informationen zu erhalten, einschließlich XHR-Aufrufe .

Alternativ können Sie die serverseitige DEBUG-Protokollierung für HTTP/2 aktivieren, indem Sie die Kategorie org.eclipse.jetty.http2 für DEBUG aktivieren, und Sie sehen die XHR-Anrufe, die beim Server ankommen.

Sie müssen nichts Spezielles tun oder irgendwelche HTTP/2-Header bei Ihren XHR-Aufrufen (oder denen, die Angular für Sie erstellt) hinzufügen: Der Browser weiß, ob er HTTP/2 verwenden kann, und wenn er es kann werde es benutzen.

+0

Danke für die Unterstützung. Ich habe versucht, von eckigen js-Anwendung von Chrome https: // localhost: 8443/myurl, URL funktioniert gut mit http2-Unterstützung. Ich habe das cordova Projekt für ios erstellt und auf einem ipad mit ios Version 9.3 installiert. Ich erhalte die Ausnahme auf der Seite des Anlegestegs server.Verwendet von: 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] unter sun.security.ssl.ServerHandshaker.clientHello (ServerHandshaker.java: 805) ~ [na: 1.8.0_91] –

+0

Schwer zu sagen, was Sie tun ... Sie haben wahrscheinlich eine falsche Serverkonfiguration, oder der von Ihnen verwendete Client bietet nicht stark genug TLS-Verschlüsselungen, wie von HTTP/2 gefordert. – sbordet