2016-04-29 5 views
2

Gibt es einen Befehl oder einen Dienst, der mir sagen wird, ob meine Websites über HTTP oder HTTP/2 bedient werden.Woher weiß ich, ob meine Website über HTTP oder HTTP/2 bedient wird?

Ich habe dieses Tool gefunden: HTTP/2 Test | A simple HTTP/2.0 test tool, aber es sagt mir nur, ob meine Website HTTP/2 unterstützt, aber nicht, ob es bereits HTTP/2 verwendet.

Dies ist auch diese Chrome-Erweiterung: HTTP/2 and SPDY indicator, die mir sagt, dass HTTP/2 bereits auf meiner Website aktiviert ist, aber soweit ich weiß, unterstützt meine Version von Apache nicht einmal es.

Gibt es eine Möglichkeit, sicher zu wissen? Vielen Dank!

+0

'mod_http2' ist in Version 2.4.17 von Apache und höher verfügbar. Sie müssen das neueste OpenSSL 1.0.2 (besser das neueste OpenSSL 1.0.2h und sehr bald 1.1.0) verwenden. Sie werden mehr Details [hier] (https://icing.github.io/mod_h2/howto.html) finden. Warum sehen Sie ein Problem bei der Aktualisierung Ihres Webservers auf die neueste Version 2.4.20? Erwarten Sie Kompatibilitätsprobleme in Ihrer Software? Sie können IE Developer Tools oder Chrome Developer Tools verwenden (man macht nur die "Protocol" -Spalte sichtbar), löschen Sie den Cache (wichtig !!!) und HTTP2 oder h2 in der Netzwerk-Trace zu sehen. Sie können das gleiche zuerst auf cdnjs.com testen – Oleg

+0

Danke, @Oleg. Ich habe in 'mod_http2' nachgeschaut, und ich wollte es installieren, aber ich laufe CentOS, und seine neueste vor-gepackte Version von Apache ist 2.4.6 (das, wie Sie sagten," mod_http2 "nicht unterstützt). Ich denke, die einzige Möglichkeit, auf Version 2.4.17 zu aktualisieren, besteht darin, Apache von Grund auf neu zu kompilieren, aber ich bin mir nicht sicher, ob ich das machen möchte. Ich muss vielleicht warten, bis CentOS ein Update veröffentlicht. – Vadim

+0

Gern geschehen! Ich benutze CentOS nicht, aber es scheint, dass man die Quellen wirklich kompilieren sollte: siehe [hier] (https://httpd.apache.org/docs/2.4/platform/rpm.html). Wahrscheinlich ist es einfach. Ich habe keine Erfahrung. In jedem Fall wird HTTP/2 Ihre Website in etwa 30% beschleunigen. Außerdem können Sie JavaScript-Module ohne Merge verwenden, da das Laden vieler kleiner Dateien sehr schnell unter HTTP/2 erfolgt. Sie können den Webserver so konfigurieren, dass er die kleinste Datei (jQuery usw.) mit 1 Jahr langem Cache lädt. Der Benutzer lädt solche Dateien normalerweise nur einmal. Ich meine, HTTP/2 ist wirklich wichtig Funktion, die ich Ihnen empfehlen – Oleg

Antwort

2

Apache muss es nicht unterstützen. Die Chrome-Erweiterung liest die HTTP-Header, um dies zu ermitteln.

Eine andere Methode ist einfach auf der Registerkarte Netzwerk> Kopfzeilen> Response-Header> Quelltext in Chrome oder Firefox zu sehen. Dort sind die Header zu sehen. Es sollte "HTTP/2" oder eine Art lesen, an die ich mich momentan nicht erinnern kann.

Am einfachsten: Sie können curl -I <your site> verwenden, die die HTTP-Antwort als erste Zeile setzen wird.

HTTP/2.0 200 
server:nginx 
date:Fri, 29 Apr 2016 14:31:40 GMT 
content-type:text/html; charset=utf-8 
content-length:7629 
last-modified:Thu, 07 Apr 2016 02:41:08 GMT 
.... 
+0

Danke, @Rob! Die Curl-Option funktioniert wunderbar! – Vadim

0

Für Menschen Nginx verwenden, können Sie das Zugriffsprotokoll anzeigen können, die in der Regel bei /var/log/nginx/access.log befindet und suchen Sie nach Zeilen wie

167.220.232.9 - - [12/Feb/2018:15:09:04 +0800] "GET/HTTP/2.0" 200 2546 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36 Edge/16.16299" 
Verwandte Themen