Dlaczego warto używać CDN Google dla jQuery?

Może to być oczywiste dla niektórych, ale zastanawiałem się: dlaczego powinienem polegać na serwerze Google na hostowaniu jQuery dla mojej strony?

Czy to tylko dlatego, że ładuje się szybciej w ten sposób?

Author: Andy Li, 2010-02-01

7 answers

To dlatego, że:

  1. zwiększa dostępną równoległość.
    (większość przeglądarek pobiera tylko 3 lub 4 pliki jednocześnie z dowolnej witryny.)

  2. Zwiększa to szansę na trafienie w pamięć podręczną.
    (ponieważ więcej witryn stosuje tę praktykę, więcej użytkowników ma już gotowy plik.)

  3. zapewnia, że ładunek będzie tak mały, jak to możliwe.
    (Google może wstępnie skompresować plik w szerokiej gamie formatów (takich jak GZIP lub DEFLATE). To sprawia, że czas pobierania jest bardzo mały, ponieważ jest super skompresowany i nie jest kompresowany w locie.)

  4. zmniejsza ilość przepustowości używanej przez serwer.
    (Google zasadniczo oferuje bezpłatną przepustowość.)

  5. zapewnia, że użytkownik otrzyma geograficznie bliską odpowiedź.
    (Google ma serwery na całym świecie, co dodatkowo zmniejsza opóźnienia.)

  6. (opcjonalnie) będą automatycznie aktualizować Twoje Skrypty.
    (Jeśli lubisz "latać przy siedzeniu spodni", zawsze możesz użyć najnowszej wersji dowolnego skryptu, który oferują. To może naprawić dziury bezpieczeństwa, ale ogólnie po prostu złamać swoje rzeczy.)
 393
Author: John Gietzen,
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
2011-12-04 20:34:32

Istnieje kilka scenariuszy, kiedy możesz nie chcieć używać jQuery z CDN Google:

  1. Kiedy budujesz intranet aplikacja, w której serwer WWW jest hostowane w tej samej sieci co klientów. Jeśli korzystasz z CDN Google jQuery, będziesz dzwonić do internet zamiast serwera www w sieci lokalnej. To zwiększa przepustowość dla Twojego organizacji i jest wolniejszy.

  2. Kiedy chcesz uruchomić swoją aplikację offline . (Dość powiązane z pierwszym wydaniem) jeśli potrzebujesz pracować nad środowiskiem programistycznym (zarządzanym na przykład za pomocą Bower ), być może będziesz musiał sprawić, że Twoja aplikacja będzie działać bez połączenia z Internetem (np. :)

  3. Kiedy trzeba go dostosować . Na przykład, jeśli używasz Grunt do budowania biblioteki, aby używać tylko niektórych modułów lub ustawiając nazwę AMD

  4. Kiedy serwujesz strony przez SSL które wymagają jQuery. powinieneś obsługa JavaScript przez SSL jako jak również Twoja strona, aby uniknąć bezpieczeństwa problemy i ostrzeżenia.

Również, Microsoft hostuje jQuery na ich CDN. To kolejny wybór porównywalny do korzystania z hostowanego jQuery Google.

 58
Author: Lance Fisher,
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
2015-02-12 11:21:48

To badanie przez TJ VanToll przekonało mnie, że lepiej jest połączyć jQuery z innymi skryptami, niż załadować je z CDN.

Powodem jest opóźnienie związane z pobieraniem jQuery na urządzeniach mobilnych:

" w 2012 roku średni czas RTT w sieci komórkowej w Stanach Zjednoczonych było 344ms. i że 344ms dotyczy nie tylko każdego żądania HTTP – których przeciętna strona internetowa robi teraz 93-ale także każde wyszukiwanie DNS i połączenie TCP... Podczas gdy średnie RTT poprawiają się, istnieją tylko niewielkie dodatkowe korzyści, ponieważ obecne sieci są w mały czynnik granicy teoretycznej dyktowanej przez fizykę."

[[0]} on również cytuje ten post od Steve ' a Soudersa, który pokazuje, dlaczego tak naprawdę mało prawdopodobne jest uzyskanie korzyści buforowania z używania CDN:

" z powodu fragmentacji w dostawcach CDN, wersjach jQuery i wykorzystanie protokołu (http vs. https), szanse na uzyskanie CDN cache hit są szokująco niskie – a pobieranie z zewnętrznej domeny ma możliwość wykonania nie jednej, ale trzech podróży w obie strony (wyszukiwanie DNS, połączenie TCP i HTTP GET)."

 29
Author: cantera,
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
2014-03-12 16:00:08

Największą korzyścią jest buforowanie. Teoria jest taka, że jeśli użytkownik odwiedził witrynę, która ładowała swoje biblioteki JavaScript, powiedzmy jQuery na przykład z Google CDN, to kiedy odwiedzi Twoją witrynę, Biblioteka jest już w pamięci podręcznej przeglądarki tego użytkownika i nie będzie musiała być pobierana ponownie. To brzmi świetnie w teorii.

Korzyści dzielone tu i gdzie indziej są teoretyczne. Właśnie natknąłem się na dogłębną analizę korzystania z CDN i jeśli zapewnia oczekiwane korzyści w zakresie wydajności. http://www.root777.com/appdev/does-using-google-libraries-api-cdn-give-you-performance-benefits

 13
Author: Matt Moor,
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
2012-03-21 15:25:34

Głównym powodem, aby nie pozwolić Google hostować jQuery, jeden, że wiele osób nie myśli o, jest to, że nie będzie pobrać, jeśli jesteś w Chinach. Jest blokowany wraz z wieloma innymi skryptami, czcionkami itp... hosted by Google CDN ' s. Jeśli chcesz dotrzeć do chińskiej publiczności najlepiej zawsze korzystać z fall back hosted na własnym serwerze. Google API zablokowane w Chinach

 8
Author: Joshua Maddox,
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
2016-07-31 13:18:37

Kilka dobrych odpowiedzi tutaj do "dlaczego powinieneś..."i" dlaczego nie powinieneś..."

Po prostu chcę dodać listę alternatyw dla Google, jeśli chcesz załadować jQuery z CDN.

Ale podsumowując, zasadniczo poprawiasz ogólną wydajność witryny/aplikacji.

 0
Author: EdwardM,
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
2018-01-10 18:41:47

Połącz CDN z pracownikiem serwisu, możesz pobrać CDN raz w życiu klienta, a nie za każdym razem, gdy aktualizujesz kod.

 0
Author: Oscar Gardiazabal,
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
2018-11-16 13:19:40