Jak sprawdzić, czy strona internetowa obsługuje protokół HTTP/2
Jest wiele tematów dotyczących protokołu HTTP/2, ale zastanawiam się, czy istnieje działająca strona internetowa z tym protokołem.
Tzn.
Możemy zdecydować się na użycie http://
LUB https://
, ale jak możemy napisać żądanie HTTP/2?
Zdaję sobie sprawę, że ten protokół zależy od możliwości serwera, ale nie mogę znaleźć sposobu, aby sprawdzić, czy strona internetowa, np. google.com
, ma włączoną obsługę HTTP/2.
Jak widzę na tym zdjęciu, wszystkie nowoczesne przeglądarki obsługują ten protokół. Nie widziałem żadnego linku, który mógłby wyglądać jak protokół nowej generacji.
Czy korzystamy z protokołu HTTP / 2 bez wiedzy, czy to tylko bajka?
6 answers
Możesz to sprawdzić w: Chrome Dev Tool (F12) → Sieć → Protokół .
Powie Ci używany protokół i domenę każdego transferu.
Legenda
Http / 1.1 = HTTP/1.1
h2 = HTTP / 2
Uwaga: Jeśli nie widzisz kolumny Protocol, kliknij prawym przyciskiem myszy dowolny nagłówek i sprawdź etykietę "Protocol" .
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2020-12-07 07:52:51
Możesz użyć polecenia curl
, aby dowiedzieć się, czy dana strona internetowa obsługuje protokół HTTP/2, czy nie. W poniższym przykładzie po prostu zastąp https://www.cloudflare.com/
adresem URL, który chcesz sprawdzić pod kątem obsługi HTTP/2:
% curl -vso /dev/null --http2 https://www.cloudflare.com/
Jeśli widzisz offering h2
wśród wiadomości wyjściowych, oznacza to, że podany adres URL obsługuje HTTP/2. Na przykład:
....
* ALPN, offering h2
* ALPN, offering http/1.1
....
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2020-12-06 16:32:47
HTTP/2 wykorzystuje ponownie Schematy http:// i https:// zamiast używać nowych.
Wszystkie przeglądarki obsługują tylko HTTP / 2 przez https://, a częścią negocjacji SSL / TLS jest informowanie, czy obie strony obsługują HTTP / 2 i czy chcą z niego korzystać (używając rozszerzenia do SSL/TLS o nazwie ALPN).
Zaletą tego jest to, że możesz po prostu połączyć się ze stroną internetową i jeśli twoja przeglądarka ją obsługuje, automatycznie negocjuje HTTP / 2, a jeśli nie, automatycznie spadnie do HTTP / 1.1.
Aby przetestować obsługę HTTP/2, możesz użyć przeglądarki zgodnie z sugestiami Markusa (pamiętaj, aby dodać kolumnę Protocol do karty Network w Chrome na przykład).
Lub możesz użyć testera online, takiego jak https://tools.keycdn.com/http2-test
Lub możesz użyć narzędzia wiersza poleceń, takiego jak openssl (zakładając, że zostało zbudowane z obsługą ALPN): openssl s_client -alpn h2 -connect www.example.com:443 -status
.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2019-02-03 23:47:57
Otwórz Dev Tools w Chrome za pomocą F12 . Następnie przejdź do zakładki Network .
Kliknij prawym przyciskiem myszy Wiersz, wybierz opcje nagłówka , a następnie wybierz Protokół z menu.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2020-12-07 08:06:54
Otwórz Narzędzia programistyczne przeglądarki i przełącz się na kartę Sieć. Tam zobaczysz h2 jeśli HTTP/2 jest dostępny.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2020-12-07 07:41:21
Możesz również użyć fajnego rozszerzenia Chrome / Firefox o nazwie Wskaźnik HTTP / 2 i SPDY aby sprawdzić protokół strony internetowej.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2020-12-07 08:05:33