Aktualizacja na podstawie komentarzy:
Krótka wersja: To nie ma większego znaczenia, ale może zależeć od tego, co hostują. Wszystkie hostują różne rzeczy: Google nie hostuje jQuery. Ważne, Microsoft nie hostował jQuery-UI, ponieważ od 2016 roku tak! Microsoft oferuje swoje skrypty, które w innym przypadku byłyby obsługiwane ScriptResource.axd
i łatwiejszą integrację (np. ScriptManager z ASP. Netto 4.0 ).
Ważna uwaga: jeśli budujesz aplikację intranetową, trzymaj się z dala od podejścia CDN. Nie ma znaczenia, kto go hostuje, chyba że masz bardzo przeciążony serwer wewnętrzny, żadna sieć CDN nie zapewni Ci większej wydajności niż lokalna sieć Ethernet 100 Mb / 1 GB. Jeśli używasz sieci CDN do ściśle wewnętrznych aplikacji, obniżasz wydajność . Ustaw poprawnie nagłówki wygasania pamięci podręcznej i zignoruj CDN istniejące w scenariuszu tylko intranetowym.
Szanse na blokadę wydają się być równe, prawie zerowe. Pracowałem nad umowami, w których nie jest to prawdą, ale wydaje się, że jest to wyjątek. Ponadto od czasu opublikowania tej odpowiedzi kontekst, który ją otaczał, zmienił się znacznie, Microsoft CDN poczynił znaczne postępy.
Projekt, nad którym aktualnie pracuję, wykorzystuje obie sieci CDN, które najlepiej działają w naszym rozwiązaniu. Wpływa na to kilka czynników. Użytkownicy ze starszą przeglądarką nadal prawdopodobnie wysyłają 2 równoczesne żądania na domenę zgodnie z zaleceniami specyfikacji HTTP . Nie jest to problem dla każdego, kto uruchamia coś całkiem przyzwoitego, który obsługuje potokowanie (każda bieżąca przeglądarka), ale w oparciu o inny czynnik znosimy również to ograniczenie, przynajmniej w zakresie javascript.
CDN Google, którego używamy do:
CDN Microsoftu, którego używamy do:
Nasz serwer:
- Combined.js? V = 2.2.0.6190 (Major.Minor.Iteration.Changeset)
Ponieważ częścią naszego procesu kompilacji jest łączenie i minimalizowanie wszystkich niestandardowych skryptów javascript, robimy to za pomocą niestandardowego menedżera skryptów, który zawiera wersje wydania lub debugowania (niezminimalizowane) tych skryptów w zależności od kompilacji. Ponieważ Google nie obsługuje pakietu sprawdzania poprawności jQuery, może to być wadą. MVC dołącza / wykorzystuje to w swojej wersji 2.0, więc możesz całkowicie polegać na CDN Microsoftu dla wszystkich twoich potrzeb, a wszystko to automatycznie przez ScriptManager .
Jedynym innym argumentem, który należy podać, są czasy DNS, wiąże się to z kosztem szybkości ładowania strony. Średnio: po prostu dlatego, że jest używane więcej (było już dłużej), ajax.googleapis.com
prawdopodobnie zwróci go DNS wcześniej ajax.microsoft.com
, po prostu dlatego, że lokalny serwer DNS był bardziej skłonny otrzymać żądanie (jest to pierwszy użytkownik w obszarze kary) . Jest to bardzo drobna rzecz i należy ją brać pod uwagę tylko wtedy, gdy wydajność jest niezwykle ważna, aż do milisekundy.
(Tak: zdaję sobie sprawę, że ten punkt jest sprzeczny z tym, że używam obu CDN, ale w naszym przypadku czas DNS jest znacznie przyćmiony przez czas oczekiwania na skrypt javascript / blokowanie)
Na koniec, jeśli nie spojrzałeś na to, jednym z najlepszych dostępnych narzędzi jest Firebug i niektóre wtyczki: Page Speed i YSlow . Jeśli korzystasz z CDN, ale twoje strony za każdym razem żądają obrazów z powodu braku nagłówków pamięci podręcznej, brakuje ci nisko wiszących owoców. Panel Net Firebug może szybko dać ci szybki podział czasu wczytywania strony, a Page Speed / YSlow może zaoferować kilka dobrych wskazówek, które pomogą.