Logo pl.nowadaytechnol.com

Co To Jest HTTP / 2 I Do Czego Służy?

Spisu treści:

Co To Jest HTTP / 2 I Do Czego Służy?
Co To Jest HTTP / 2 I Do Czego Służy?

Wideo: Co To Jest HTTP / 2 I Do Czego Służy?

Wideo: Co To Jest HTTP / 2 I Do Czego Służy?
Wideo: How HTTP/2 Works, Performance, Pros & Cons and More 2024, Marsz
Anonim

W ciągu ostatnich 20 lat sieć WWW uległa dramatycznej ewolucji. Wszystkie ulepszone technologie internetowe wymagają lepszych i szybszych rozwiązań i protokołów do komunikacji i przesyłania plików niż obecne (HTTP), które osiągają swoje technologiczne ograniczenia.

Image
Image

Co to jest HTTP / 2?

HTTP / 2 to najnowsza wersja Hypertext Protokół transportu (HTTP) - podstawowy protokół używany w sieci WWW. Początkowo został zatwierdzony w lutym 2015 r. To prawie 20 lat po pierwotnym HTTP. Protokół HTTP / 2 skraca czas ładowania i zapewnia znaczną poprawę komunikacji między serwerami i przeglądarkami. Większość przeglądarek dodała już protokół HTTP / 2 i nie zmieniło to wielu rzeczy z punktu widzenia użytkowników. To jest główny powód, dla którego wielu z nas jeszcze o tym nie czytało ani nie słyszało.

Co robi HTTP / 2?

Jako następca HTTP, Protokół HTTP / 2 skupia się na poprawie wszystkich cech protokołu. Aby zachować kompatybilność wsteczną ze starszym protokołem, zachowuje większość funkcji protokołu HTTP. Jednak wprowadza pewne drastyczne ulepszenia.

Zarówno HTTP, jak i HTTP / 2 definiują:

  • Jakie działania muszą wykonać przeglądarki internetowe i serwery w odpowiedzi na różne polecenia.
  • Jak każda informacja jest przesyłana z jednego komputera do drugiego przez Internet.
  • Sposób tworzenia, formatowania i przesyłania wiadomości.

Innymi słowy, protokoły HTTP i HTTP / 2 wyznaczają standardy dostarczania treści internetowych do komputera, z tą różnicą, że HTTP / 2 sprawia, że wszystko działa szybciej niż jego poprzednik. Tutaj możesz zobaczyć szczegółowo, co robi HTTP / 2.

Strumienie multipleksowane

Dwukierunkowe serie ramek w formacie tekstowym przesyłane przez protokół HTTP / 2 między jednym serwerem a klientem nazywane są „strumieniami”. HTTP może przesyłać w danej chwili tylko jeden z tych „strumieni”. Po wysłaniu strumienia następuje opóźnienie czasowe między transmisją następnego strumienia.

Protokół HTTP / 2 ustanawia nową binarną warstwę ramek, która bezpośrednio rozwiązuje problem z przesyłaniem „strumieni” jeden po drugim. Umożliwia klientom i serwerom rozbicie ładunku HTTP / 2 na małe, niezależne i łatwe w zarządzaniu sekwencje ramek z przeplotem. Wszystkie te informacje są ponownie składane, gdy tylko zostaną odebrane na drugim końcu. Protokół ten umożliwia wymianę wielu współbieżnie otwartych i niezależnych dwukierunkowych sekwencji bez opóźnień między kolejnymi strumieniami.

Korzyści:

  • Równoległe multipleksowane żądania i odpowiedzi nie blokują się nawzajem.
  • pojedyncze połączenie TCP może zapewnić efektywne wykorzystanie zasobów sieciowych, nawet podczas przesyłania wielu strumieni danych.
  • Szybsza wydajność sieci, mniejsze opóźnienia i lepsze wyniki wyszukiwania.
  • Zmniejszone nakłady inwestycyjne i koszty operacyjne związane z obsługą zasobów sieciowych i IT.
Image
Image

Serwer HTTP / 2 wypychanie i wypychanie pamięci podręcznej

To to funkcja, która umożliwia serwerom wysyłanie dodatkowych informacji przechowywanych w pamięci podręcznej do klientów. Te informacje nie są wymagane, ale są przewidywane w przyszłych żądaniach. Jeśli klient zażąda jednego zasobu i wiadomo, że inny zasób B jest powiązany z żądanym, serwer może wypchnąć B wraz z, zamiast czekać na kolejne żądanie klienta. Następnie klient zapisuje wypchnięty zasób B do pamięci podręcznej do wykorzystania w przyszłości. Ta funkcja oszczędza cały proces w obie strony na żądanie-odpowiedź i zmniejsza opóźnienia w sieci. Firma Google pierwotnie wprowadziła Server Push w protokole SPDY.

Kolejnym ulepszeniem protokołu HTTP / 2 jest wypychanie pamięci podręcznej. To proaktywnie aktualizuje lub unieważnia pamięć podręczną klienta. Daje to serwerom możliwość identyfikowania możliwych do przekazania zasobów, których klienci w rzeczywistości nie chcą.

Korzyści:

  • Klienci mogą odrzucić wypchnięte zasoby, aby utrzymać wydajne repozytorium zasobów buforowanych (lub nawet całkowicie wyłączyć wypychanie serwera).
  • Klienci mogą ograniczyć liczbę wypychanych strumieni jednocześnie multipleksowanych.
  • Serwery mogą nadawać priorytety przekazanym zasobom. Ma to kluczowe znaczenie dla różnicy wydajności między HTTP / 2 i
  • Serwery mogą multipleksować wypychane zasoby wraz z żądanymi przez klienta informacjami w ramach tego samego połączenia TCP.
  • Klienci mogą korzystać z zasobów pamięci podręcznej na różnych stronach.
  • Klienci zapisują wypchnięte zasoby w pamięci podręcznej.

Protokoły binarne

HTTP / 2 ma znacznie ulepszone możliwości podczas przekształcania protokołu tekstowego na protokół binarny. Podczas gdy protokół HTTP był używany do przetwarzania poleceń tekstowych w celu wykonywania cykli żądanie-odpowiedź, protokół HTTP / 2 opiera się na poleceniach binarnych. To skraca czas (do 1s i 0s) wykonywania tych samych zadań.

Przeglądarki obsługujące protokół HTTP / 2 konwertują polecenia tekstowe na kod binarny przed przesłaniem go przez sieć. Jednak binarna warstwa ramek nie jest wstecznie zgodna z serwerami i klientami

Korzyści:

  • Zapobieganie problemom bezpieczeństwa związanym z tekstową naturą protokołu HTTP (np. Atakom polegającym na dzieleniu odpowiedzi).
  • Włącza funkcje HTTP / 2, takie jak kompresja, priorytetyzacja, multipleksowanie, efektywna obsługa TLS i kontrola przepływu.
  • Kompaktowa reprezentacja poleceń umożliwiająca łatwiejsze wdrażanie i przetwarzanie.
  • Solidne i efektywne przetwarzanie danych między klientami a serwerami.
  • Zwiększona przepustowość i mniejsze opóźnienia w sieci.
  • Mniejsze szanse na błędy w porównaniu z protokołem
  • Wysoce wydajne wykorzystanie zasobów sieciowych.
  • Niskie obciążenie podczas analizowania danych.
  • Mniejszy zasięg sieci.
Image
Image

Priorytetyzacja strumienia

Protokół HTTP / 2 umożliwia klientom określanie preferencji dotyczących określonych strumieni danych. Serwery nie są zobowiązane do przestrzegania instrukcji tych klientów, ale ten mechanizm umożliwia serwerom optymalizację alokacji zasobów sieciowych w oparciu o wymagania użytkowników

Priorytetyzacja strumienia działa z wagą i zależnościami przypisanymi do każdego strumienia. Pomimo faktu, że wszystkie strumienie są z natury zależne od siebie, z wyjątkiem tego, że mają przypisaną wagę od 1 do 256. Mechanizmy ustalania priorytetów strumieni są nadal przedmiotem dyskusji. Jednak połączenie priorytetów strumieni z możliwością przetwarzania wielu strumieni danych w ramach jednego połączenia TCP przez HTTP / 2 może prowadzić do jednoczesnego nadejścia żądań serwera o różnym priorytecie.

Korzyści:

  • Zmniejszono negatywne skutki obaw związanych z opóźnieniami w sieci.
  • Ulepszone wrażenia użytkownika i szybkość wczytywania strony.
  • Optymalizacja komunikacji danych między serwerami a klientami.
  • Wysoce efektywne wykorzystanie zasobów sieciowych.
  • Skrócony czas dostarczenia żądań dotyczących treści podstawowych.

Stateful Header Compression

Gdy użytkownicy przeglądają bogate w multimedia witryny internetowe przy użyciu protokołu HTTP, klienci wypychają wiele niemal identycznych ramek nagłówka. Dzieje się tak, ponieważ każde żądanie klienta musi zawierać tyle informacji, ile serwer wymaga do wykonania żądanej operacji. Ten proces prowadzi do opóźnień i niepotrzebnego zużycia zasobów.

Protokół HTTP / 2 umożliwia kompresję dużej liczby nadmiarowych ramek nagłówka. Opiera się na specyfikacji HPACK jako bezpiecznym i prostym podejściu do kompresji nagłówków. Klienci i serwery przechowują listę nagłówków używanych w poprzednich żądaniach klient-serwer. To bezpośrednio rozwiązuje problemy związane z nadmiarowymi ramkami nagłówka.

Korzyści:

  • Koduje często używane nagłówki i duże nagłówki. Eliminuje to konieczność wysyłania całych ramek nagłówka. Indywidualny rozmiar każdego strumienia znacznie się kurczy.
  • Zapobieganie atakom bezpieczeństwa, takim jak CRIME eksploracja strumieni danych ze skompresowanymi nagłówkami.
  • Efektywne wykorzystanie mechanizmów multipleksowania.
  • Efektywne ustalanie priorytetów strumieni.
  • Zmniejszone obciążenie zasobów.
Image
Image

Rzeczywiste korzyści protokołu HTTP / 2

HTTP / 2 koncentruje się na maksymalizacji potencjału technologii, aby sprostać przyszłym potrzebom i oczekiwaniom. Oto rzeczywiste korzyści wynikające z używania protokołu HTTP / 2.

Wydajność sieci i wydajność sieci mobilnej - HTTP / 2 ma możliwość wysyłania i odbierania większej ilości danych w jednym cyklu komunikacji klient-serwer. Działa dobrze w celu zmniejszenia opóźnień w dostępie do usług internetowych w mobilnych sieciach danych i sieciach o ograniczonej przepustowości na użytkownika.

Tańszy szybki Internet - HTTP / 2 zwiększa efektywność komunikacji danych. Pozwala to dostawcom internetu na zmniejszenie ogólnych wydatków przy zachowaniu standardów szybkiego internetu.

Bezpieczeństwo - Protokół HTTP / 2 nie jest podatny na zagrożenia atakujące tekstowe protokoły warstwy aplikacji. Ponadto wykorzystuje podejście „Security by Obscurity” do ochrony wrażliwej transmisji danych między klientami a serwerami.

Szeroki zasięg - Zalety protokołu HTTP / 2 zmniejszają wyniki internetowe dla dostawców. Doprowadzi to do szerszego zasięgu Internetu na poziomie światowym.

Bogate w multimedia doświadczenie internetowe - Funkcje i zalety technologii, które HTTP / 2 wnosi do sieci WWW, zapewniają infrastrukturę zdolną do dostarczania treści multimedialnych przy szybszym ładowaniu stron.

Zakończyć

HTTP / 2 to stosunkowo nowy protokół, ale jego obsługa stale rośnie. Obecnie większość przeglądarek internetowych obsługuje protokół HTTP / 2 (Microsoft Edge, Google Chrome, Safari, Firefox, Chrome na Androida). Wiele serwerów internetowych obsługuje natywną obsługę HTTP / 2 (serwer Apache HTTP, Tomcat, NGINX). Bez wątpienia HTTP / 2 jest protokołem WWW przyszłości.

Zalecana: