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.

Obsługa przeglądarki 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?

Author: Peter Mortensen, 2019-01-08

6 answers

Możesz to sprawdzić w: Chrome Dev Tool (F12) → SiećProtokół .

Powie Ci używany protokół i domenę każdego transferu.

Chrome Dev Tool (F12) - > Sieć - > Protokół

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" .

 96
Author: Juanma Menendez,
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
....
 43
Author: blueray,
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.

Większość większych stron internetowych (np. Twitter, Facebook, Amazon, Stack Overflow) korzysta z HTTP/2 teraz.
 30
Author: Barry Pollard,
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.

Tutaj wpisz opis obrazka

 9
Author: live-love,
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.

 4
Author: Markus Dresch,
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.

 2
Author: Software Developer,
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