2015-11-05 34 views

Odpowiedz

18

Tak, obsługuje HTTP Nginx/serwer 2 Push od version 1.13.9, wydany w dniu 20 lutego 2018 r

Zespół Nginx wskazał w oryginalnym 1.9.5 blog post że nie był wspierany wtedy.

+0

Jako V 1.11.4 na 13 wrz 2016, to jest nadal prawdziwe. –

+0

Jakieś wieści o tym, kiedy serwer push zostanie dodany do nginx? Czekam na to tak źle ... – n1try

-5

Musisz zapłacić za to z subskrypcją nginx plus https://www.nginx.com/blog/http2-r7/.

Apache udostępnia je za darmo

https://httpd.apache.org/docs/2.4/mod/mod_http2.html#h2push

+1

Ze swojego adresu URL: "Funkcja" Server Push "zdefiniowana w dokumencie RFC HTTP/2 nie jest obsługiwana w tym wydaniu. Przyszłe wersje NGINX Plus mogą go zawierać." –

+0

Istnieją dwa adresy URL, które napisałem, który twierdzi, że nie obsługuje go? –

+0

Od pierwszego łącza: "Funkcja" Server Push "zdefiniowana w dokumencie HTTP/2 RFC nie jest obsługiwana w tym wydaniu. Przyszłe wersje NGINX Plus mogą go zawierać." –

14

Edit:

Nginx obsługuje HTTP/serwer 2 pchnięcie ponieważ v1.13.9, wydany w dniu 20 lutego 2018 r

Starsza odpowiedź:

N ginx nie obsługuje push serwera HTTP/2 od marca 2017 (v1.11).

Owen Garrett na nginx podsumował przyczyny następująco:

  • to jest nieistotne i opcjonalnie część http/2

  • jeśli klient ma już z pamięci podręcznej zasobów, a następnie popychając je, możesz niepotrzebnie marnować przepustowość.

  • Specyfikacja techniczna serwera może się zmienić w przyszłości.

  • Nagłówki linków jako podpowiedzi są użyteczne, ale ich użycie jest niewielkie.

  • Push serwera był dostępny jako część SPDY i nie był wykorzystywany przez wielu programistów internetowych.

Przeczytaj jego oryginalne komentarze here. Ten table dokładnie opisuje pro i con's wskazówek serwera wobec push serwera.

Osobiście rozczarowuje mnie to, ponieważ uważam, że będzie to przydatna funkcja dla programistów chcących zainwestować czas na optymalizację szybkości stron. Wiem też, że niektóre duże CDN, takie jak Cloudflare, zaimplementowały własną wersję w Nginx, aby zoptymalizować pobieranie stron.

+1

To naprawdę nie jest marnowanie przepustowości, jak mogłoby się wydawać. Nagłówki dla pchanych obiektów są wysyłane najpierw (przed żądaną stroną), aby klient miał trochę czasu na anulowanie wypychania serwera. – StephenKing

+0

@StephenKing, jeśli zaimplementowano metodę push serwera, klient prawdopodobnie nie miałby szansy na zresetowanie zanim klatki odnoszące się do pushów serwera już dotarły. Prawdopodobnie jest to marnotrawstwo. Istnieje jednak kilka oczywistych rozwiązań, aby nie przesuwać zasobów, które mogą być buforowane, w tym plików cookie i historii logów. –

+8

Uwielbiam, jak Owen powiedział, że "korzystanie z Internetu było niewielkie" - nie jest tak, ponieważ Nginx go nie obsługuje ?! – developius

3

Wsparcie dla HTTP/2 Serwer naciśnięciem został dodany do Nginx jako Lut 8, 2018:

https://hg.nginx.org/nginx/rev/641306096f5b

+0

Po prostu spróbowałem, działa wspaniale - możesz ustawić dla swojej statycznej zawartości (serwer bezpośrednio przez NGINX), a także backendy (o ile backend reklamuje linki za pomocą nagłówka "Link"). Udokumentowałem to, czego się nauczyłem: https://ops.tips/blog/nginx-http2-server-push/ –