Magento i HTTP / 2: jaki jest obecny stan?

12

Jak niektórzy z was wiedzą, niedawno urodził się HTTP / 2.

Z tego, co zrozumiałem, został opracowany do pracy z istniejącymi stronami internetowymi, co sugeruje, że nie ma nic do zrobienia, aby Magento był z nim kompatybilny.

Jednak wszystkie przeglądarki zdecydowały się na implementację HTTP / 2 tylko dla połączeń TLS (https).

Powiedziane tutaj są moje pytania:

  • co powinienem wziąć pod uwagę, jeśli chcę obsługiwać Magento przez HTTP / 2?
  • czy wystarczyłoby włączyć https dla wszystkich stron (używając bezpiecznych adresów URL)?
  • jeśli nie, to czy należy wprowadzić jakieś zasadnicze zmiany?

Szukam odpowiedzi zarówno na Magento 1, jak i 2.

Raphael at Digital Pianism
źródło

Odpowiedzi:

6

Nie ma problemu z „po prostu działaniem” HTTP / 2. Ale jest szansa na dalszą optymalizację.

Rozumiem, że warto spojrzeć na możliwości swojego dostawcy CDN, jeśli chcesz w pełni skorzystać z obsługi wypychania. Np. Kiedy przychodzi żądanie pierwszego pliku CSS itp., Serwer może rozpocząć wypychanie innych plików, o których prawie na pewno będziesz potrzebować. Przynajmniej jeden CDN mógłbyś mu powiedzieć dodatkowe pliki do wypchnięcia. Jest to część tego, co oznacza, że ​​nie musisz scalać plików CSS i JS - użycie wypychania może być bardziej wydajne niż wysyłanie dużego scalonego pliku. Ale aby uzyskać maksymalną wydajność, CDN musi wiedzieć „kiedy pobierasz X, a następnie wciskasz także Y i Z”. Nie wiem, czy magicznie to rozwiązują, czy nie (w oparciu o wcześniejsze wzorce ruchu).

Alan Kent
źródło
z artykułu dowiedziałem się, że te CDN (cloudflare, maxcdn, keycdn) obsługują HTTP / 2.
Kalyan Chakravarthi V
4

Zdecydowanie możesz użyć Http / 2 z dowolną wersją Magento. I tak, musisz włączyć https dla wszystkich stron (zaleca się konfigurację M2, dlaczego wcześniej tego nie robiłeś). Również pakowanie plików js nie ma sensu w przypadku http2, więc lepiej je wyłączyć

KAndy
źródło
3

Jeśli chcesz ustawić wszystkie strony na HTTPS, możesz także włączyć HSTS (więcej informacji: https://en.wikipedia.org/wiki/HTTP_Strict_Transport_Security ).

Przez resztę nigdy nie miałem problemów z korzystaniem ze sklepu internetowego na HTTPS / 2, więc jak twierdzą Alan i KAndy, powinno to po prostu działać.

Arjen Miedema
źródło
0

Magento działa na http / 2 i możesz korzystać ze wszystkich funkcji http / 2 na Magento. Ale jak zasugerowano we wszystkich ruchach do http / 2, musisz robić rzeczy nieco inaczej.

  • nie dziel swojej domeny na skin / js / media.
  • nie łącz css lub js
  • wymyślić sposób na zminimalizowanie js i css

HTTP / 2 wraca do HTTP / 1 dla starszych przeglądarek. Biorąc pod uwagę różne potrzeby optymalizacji, sądzę, że decyzja będzie oparta na tej decyzji

  • Czy wielu użytkowników korzysta ze starszych przeglądarek? Szybkim sposobem na sprawdzenie tego jest przejście do http / 2 i przejrzenie plików dziennika serwera WWW, aby zobaczyć, ile przeglądarek internetowych zostało przełączonych na http / 1

Musisz przenieść całą witrynę do bezpiecznego (https), aby zapewnić maksymalne korzyści.

Pradip Shah
źródło
Nie promuj swojego bloga tutaj ...
7ochem
0
  1. Użytkownicy powinni mieć najnowsze przeglądarki obsługujące protokół HTTP / 2. Jeśli nie, żądanie zostanie potraktowane jak normalne żądanie HTTP.

  2. Sprawdź, czy Twój serwer może obsłużyć żądania HTTP / 2. Jeśli nie, poproś dostawcę hosta o aktualizację do obsługi protokołu HTTP / 2.

  3. O ile mi wiadomo, twoje żądania powinny przechodzić przez bezpieczny protokół https.

  4. Aby skorzystać z funkcji push serwera, użyj nagłówka HTTP „Link” jak tutaj

Link: </css/styles.css>; rel=preload; as=style

pochodzi ze źródła https://www.smashingmagazine.com/2017/04/guide-http2-server-push/

  1. Oto jeszcze jeden artykuł, który śledziłem ( https://www.upwork.com/hiring/development/the-http2-protocol-its-pros-cons-and-how-to-start-using-it/ ), który pomógł całkowicie rozumiem zalety i wady protokołu HTTP / 2. Ale na pewno jest to nowa technologia, która przyspieszy Internet.
Kalyan Chakravarthi V.
źródło