Dla niektórych może to być oczywiste, ale zastanawiałem się: dlaczego mam polegać na serwerze Google, aby hostować jQuery dla mojej witryny?
Czy to tylko dlatego, że w ten sposób ładuje się szybciej?
jquery
performance
cdn
Yvette
źródło
źródło
Odpowiedzi:
To dlatego, że:
(Większość przeglądarek pobiera jednocześnie tylko 3 lub 4 pliki z dowolnej witryny).
(Im więcej witryn stosuje tę praktykę, tym więcej użytkowników ma już gotowy plik).
(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 on bardzo skompresowany i nie jest kompresowany w locie.)
(Google zasadniczo oferuje darmową przepustowość).
(Google ma serwery na całym świecie, co dodatkowo zmniejsza opóźnienia).
(Jeśli lubisz „latać w spodniach”, zawsze możesz użyć najnowszej wersji dowolnego oferowanego przez nie skryptu. Mogą one naprawić luki w zabezpieczeniach, ale generalnie po prostu zepsują Twoje rzeczy).
źródło
Istnieje kilka scenariuszy, w których możesz nie chcieć używać jQuery z sieci CDN Google:
Podczas tworzenia aplikacji intranetowej, w której serwer WWW znajduje się w tej samej sieci, co klienci. Jeśli korzystasz z usługi CDN jQuery firmy Google, będziesz wykonywać połączenia z Internetem, a nie z serwerem sieciowym w sieci lokalnej. Zwiększa to przepustowość Twojej organizacji i działa wolniej.
Gdy chcesz uruchomić aplikację w trybie offline . (Całkiem powiązane z pierwszym problemem) Jeśli potrzebujesz pracować na środowisku programistycznym (zarządzanym na przykład przez Bower ), być może będziesz musiał sprawić, by aplikacja działała bez połączenia z Internetem (np .: w pociągu :)
Kiedy potrzebujesz 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
Gdy obsługujesz strony przez SSL, które wymagają jQuery. Powinieneś udostępniać JavaScript przez SSL, jak również swoją stronę, aby uniknąć problemów z bezpieczeństwem i ostrzeżeń.
Ponadto Microsoft udostępnia jQuery w swojej sieci CDN. To kolejny wybór porównywalny z korzystaniem z jQuery hostowanego przez Google.
źródło
src="//ajax.googleapis.com/..."
, działają.To badanie przeprowadzone przez TJ VanToll przekonało mnie, że lepiej jest połączyć jQuery z innymi skryptami niż ładować go z CDN.
Powodem jest opóźnienie związane z pobieraniem jQuery na urządzenia mobilne:
Cytuje również ten post Steve'a Soudersa, który pokazuje, dlaczego jest mało prawdopodobne, aby korzystanie z CDN przyniosło korzyści z buforowania :
źródło
Największą korzyścią jest buforowanie. Teoria mówi, że jeśli odwiedzający odwiedził witrynę, która ładowała swoje biblioteki JavaScript, powiedzmy jQuery, na przykład z Google CDN, to kiedy odwiedza Twoją witrynę, biblioteka jest już w pamięci podręcznej przeglądarki tego użytkownika i nie będzie trzeba jej ponownie pobierać . W teorii brzmi to świetnie.
Korzyści dzielone tutaj i gdzie indziej są teoretyczne. Właśnie trafiłem na dogłębną analizę korzystania z CDN i czy zapewnia ona oczekiwane korzyści w zakresie wydajności. http://www.root777.com/appdev/does-using-google-libraries-api-cdn-give-you-performance-benefits
źródło
Głównym powodem, aby NIE pozwolić Google hostować Twojego jQuery, o którym wiele osób nie myśli, jest to, że nie zostanie on pobrany, jeśli jesteś w Chinach. Jest blokowany wraz z wieloma innymi skryptami, czcionkami itp ... hostowanymi przez Google CDN. Jeśli chcesz dotrzeć do chińskiej publiczności, najlepiej zawsze używać rozwiązania awaryjnego hostowanego na własnym serwerze. Google APIS zablokowany w Chinach
źródło
Oto kilka dobrych odpowiedzi: „Dlaczego powinieneś ...” i „Dlaczego nie powinieneś ...”
Chcę po prostu dodać listę alternatyw do Google, jeśli chcesz załadować jQuery z CDN.
Podsumowując, w zasadzie poprawiasz ogólną wydajność swojej witryny / aplikacji.
źródło
Używając CDN z Service Worker, możesz pobrać CDN raz w życiu klienta, a nie za każdym razem, gdy aktualizujesz kod.
źródło