„Microsoft CDN“, skirtas „jQuery“ arba „Google CDN“?

Ar tikrai svarbu, kurį CDN naudojate susieti su jquery failu ar bet kokiu „JavaScript“ failu. Ar tai galbūt greičiau nei kitas? Kokie kiti veiksniai gali atlikti vaidmenį, kai nuspręsite naudoti cdn? Žinau, kad „Microsoft“, „Yahoo“ ir „Google“ turi CDN.

185
19 сент. Xaisoft nustatė rugsėjo 19 d 2009-09-19 02:08 '09, 02:08 am. 2009-09-19 02:08
@ 18 atsakymų

Atnaujinimas pagal komentarus:

Trumpas variantas: tai nesvarbu, bet tai gali priklausyti nuo skelbimo. Kiekvienas žmogus turi skirtingus dalykus: „Google“ nepalaiko „jQuery“. Patvirtinkite, „Microsoft“ nepalaiko jQuery-UI, nes nuo 2016 m. „Microsoft“ siūlo savo scenarijus, kurie priešingu atveju būtų siunčiami naudojant „ ScriptResource.axd ir lengviau integruoti (pvz. , „ ScriptManager“ su „ASP.Net 4.0“ ).

Svarbi pastaba. . Jei kuriate intraneto programą, atjunkite nuo CDN metodo. Nesvarbu, kas jį talpina, jei ne viduje labai užimtas serveris, ne vienas CDN suteiks daugiau našumo nei 100 MB / 1 GB vietinis tinklas. Jei griežtai vidinei programai naudojate CDN, sumažinate našumą . Teisingai sukonfigūruokite talpyklų galiojimo antraštes ir ignoruokite tik intraneto scenarijuje esantį CDN.

Atrodo, kad blokavimo galimybės yra maždaug lygios, beveik nulinės. Dirbau sutartyse, kur tai nėra, bet atrodo, kad tai išimtis. Be to, nuo pradinio šio atsakymo paskelbimo aplinkiniai pokyčiai labai pasikeitė, „Microsoft CDN“ padarė didelį žingsnį.

Šiuo metu naudojamu projektu naudojasi tiek CDN, kurie geriausiai tinka mūsų sprendimui. Tam yra keletas veiksnių. Naudotojai, turintys seną naršyklę, vis dar tikriausiai du kartus siunčia užklausas į domeną, kaip rekomenduojama HTTP specifikacijoje . Tai nėra problema tiems, kurie dirba kažką padoraus naujo, kuris palaiko dujotiekį (kiekvieną dabartinę naršyklę), bet remiasi kitu veiksniu, kurį mes pašaliname iš šio apribojimo, bent jau kiek tai susiję su javascript.

„Google“ CDN, kurį naudojame:

„Microsoft CDN“, kurį naudojame:

Mūsų serveris:

  • „Combined.js“? v = 2.2.0.6190 (Major.Minor.Iteration.Changeset)

Kadangi dalis mūsų kūrimo proceso susideda ir sumažina visus naudotojo javascript, tai darome naudodami individualų scenarijų tvarkyklę, kuri apima versijas arba ištaisymo (ne minimalizuoto) šių scenarijų versijas, priklausomai nuo kūrimo. Kadangi „Google“ nepalaiko jQuery patvirtinimo paketo, jis gali būti nukreiptas į apačią. MVC įtraukia / naudoja ją savo 2.0 versijoje, todėl jūs galite visiškai pasitikėti „Microsoft CDN“ visais savo poreikiais, o visa tai automatiškai, naudojant „ScriptManager“ .

Vienintelis kitas argumentas, kurį reikia atlikti, yra DNS laikas, tai yra dėl puslapio įkėlimo greičio. Vidutiniškai: tik todėl, kad jis buvo naudojamas daugiau (jis buvo ilgesnis) DNS greičiausiai DNS bus grąžintas anksčiau nei ajax.microsoft.com , nes vietinis DNS serveris greičiausiai gauna užklausą ( Tai pirmasis baudžiamojo ploto vartotojas. Tai yra nereikšmingas dalykas, ir jis turėtų būti svarstomas tik tuo atveju, jei darbas yra labai svarbus, iki milisekundės.
(Taip: suprantu, kad šis punktas prieštarauja mano abiejų CDN naudojimui, tačiau mūsų atveju DNS laikas yra daug labiau susilpnėjęs dėl „JavaScript“ / blokavimo laukimo laiko.

Galiausiai, jei nežiūrėjote į jį, vienas iš geriausių įrankių yra „ Firebug“ , o kai kurie priedai - tai „Page Speed“ ir „ YSlow“ , jei naudojate CDN, bet jūsų puslapiai prašo atvaizdų kiekvieną kartą dėl talpyklų antraščių trūkumo, patraukia mažai kabančius vaisius. „Firebug Net“ skydelis gali greitai pateikti trumpą puslapio įkėlimo laiko suskirstymą, o puslapio greitis / „YSlow“ gali pasiūlyti keletą naudingų patarimų.

150
19 сент. Nick Craver atsakymas rugsėjo 19 d 2009-09-19 02:22 '09 2:22 am 2009-09-19 02:22

Turėtumėte absoliučiai naudoti „Google“ CDN „jQuery“ (ir tai ateina iš „Microsoft“ orientuoto kūrėjo).

border=0

Paprasta statistika. Tie, kurie svarsto galimybę naudoti MS CDN, bus visada mažuma. Yra per daug ne MS programuotojų, kurie naudoja „jQuery“ ir kurie naudos „Google“ ir nemanys naudoti „Microsoft“. Kadangi vienas iš didelių atvirų CDN laimėjimų pagerina talpyklą , naudodami padalijimą tarp kelių CDN mažina šios naudos potencialą.

88
20 нояб. Atsakymą pateikė Dave Ward 20 nov. 2009-11-20 08:53 '09 8:53 am 2009-11-20 08:53

„Google“ atsiųs jums jQuery versiją, minimizuotą pagal savo programinę įrangą, ši versija yra 6 kilobaitai lengvesni nei standartinė sutrumpinta versija, kurią aptarnauja MS. Eikite į „google“.

20
30 дек. Atsakymą pateikė Oscar Kilhed 30 d. 2009-12-30 15:55 '10, 15:55, 2009-12-30 15:55

Pažymėtina, kad abi bendrovės siūlo šiek tiek kitokias „papildomas“ bibliotekas:

Priklausomai nuo jūsų poreikių, tai gali būti svarbi.

18
Atsakymas, kurį pateikė dp. 15 sausis 2010-01-15 15:26 '10, 15:26, 2010-01-15 15:26

Taip pat reikėtų pažymėti, kad, kadangi ajax.microsoft.com yra „microsoft.com“ užklausų subdomenas, siųskite visus „microsoft.com“ slapukus, pridėdami visą laiką, reikalingą failui grąžinti.

Be to, ajax.microsoft.com naudoja IIS7 numatytąjį glaudinimą, kuris yra mažesnis už standartinį suspaudimą, kurį naudoja kiti interneto serveriai.

http://ajax.microsoft.com/ajax/jquery/jquery-1.4.4.min.js - 33,4K

http://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js - 26.5K

Be to, kaip pažymėjo kiti, „Google“ CDN yra populiaresnis, o tai labai padidina failų talpyklos tikimybę.

Todėl labai rekomenduoju naudoti „Google“.

15
22 нояб. Atsakymas pateikiamas Alistair 22 lapkričio. 2010-11-22 01:46 '10 ne 1:46 2010-11-22 01:46

Tai tikriausiai nesvarbu, bet jūs galite jį patikrinti su kai kuriais A / B testais. Nusiųskite pusę srauto į vieną CDN ir pusę į kitą ir nustatykite profiliavimą, kad matuotumėte atsakymą. Manau, kad svarbiau yra lengvai pereiti, jei kas nors turi rimtų problemų dėl neprieinamumo.

11
19 сент. atsakymas duotas rugsėjo 19 d 2009-09-19 02:20 '09 at 2:20 am 2009-09-19 02:20

Žinau, kad čia truputį palieku, bet čia yra kodas, kurį naudoju gamyboje. Aš niekada neturėjau problemų su šiuo klausimu, bet jūsų kilometražas gali skirtis. Įsitikinkite, kad jį patikrinate savo aplinkoje.

 <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js" type="text/javascript"></script> <script type="text/javascript"> !window.jQuery  document.write('<script src="/scripts/jquery-1.4.2.min.js"><\/script>') </script> <script src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.4/jquery-ui.min.js" type="text/javascript"></script> <script type="text/javascript"> !window.jQuery.ui  document.write('<script src="/scripts/jquery-ui-1.8.2.min.js"><\/script>') </script> 
7
12 авг. Jeremy Cade atsakymas, rugpjūčio 12 d. 2010-08-12 14:29 '10, 14:29 PM 2010-08-12 14:29

Tai apie statistiką: jquery.com parsisiųsti „jQuery“ iš „Google“. Taip pat yra „Twitter“, „Stackoverflow“ ir daugelis kitų. Taigi yra gana didelių funkcijų, kurias jūsų naudotojas jau turi talpykloje = be pakrovimo .

Pamirškite validatorių, pralaidumą ir greitį, nes tai yra pagrindinis privalumas. Priešingu atveju, bet kuri kita CDN parinktis veiks beveik vienodai.

7
23 сент. Atsakymą pateikė achairapart 23 Sep. 2010-09-23 05:38 '10, 5:38, 2010-09-23 05:38

Kaip nurodė „ Pingdom“ :

Kai kas nors aplanko jūsų svetainę, jei jie jau aplankė kitą svetainę, kurioje tame pačiame CDN naudojamas tas pats jQuery failas, failas bus išsaugotas talpykloje ir nereikės jį visiškai įkelti. Jis negali greičiau nei tai padaryti.

Tai reiškia, kad labiausiai paplitęs CDN turės šansų, kurios gali atsiskaityti už jūsų svetainę.

Keletas veiklos stebėjimo pastabų: „Google“ CDN nuosekliai yra lėtiausias iš trijų tiek Šiaurės Amerikoje, tiek Europoje. Europoje kompaktiškiausias „Microsoft“ CDS.

3
16 июля '13 в 10:34 2013-07-16 10:34 atsakymą davėjas pateikė liepos 16 d. 13 val. 10:34 2013-07-16 10:34

Kitas aspektas: jei jūsų svetainė yra SSL ir jums reikia palaikyti „Android“ 2.1 (ar anksčiau), „Microsoft CDN“ HTTPS versijoje esantis SSL sertifikatas sukels šias „Android“ naršyklės versijas šioje problemoje: http://code.google.com/p / android / issues / detail? id = 5001 . Tai nėra „Microsoft“ „klaida“, nes SSL sertifikatas yra techniškai pagrįstas, o defektas yra „Android“ SSL diegime ... tačiau jis vis tiek pažeidžia jūsų svetainę.

„SSL“ sertifikatas „Google“ CDN nenagrinėja šios konkrečios problemos (susijusios su sertifikato „Sertifikato subjekto pavadinimo“ sertifikatu).

Taigi, norėdami paremti SSL + Android 2.1, naudokite „Google CDN“.

3
21 янв. atsakė Kent McNeill sausio 21 d 2011-01-21 02:58 '11 at 2:58 2011-01-21 02:58

Ar tai galbūt greičiau nei kitas?

Man buvo labai įdomu tai padaryti, todėl aš sukūriau „jsbin“ testo puslapį, naudodamas kiekvieną iš toliau pateiktų duomenų, ir tada paleiskite jį per „webpagetest.org“ vizualinį palyginimo įrankį. Išbandžiau:

  • ajax.googleapis.com
  • code.jquery.com
  • ajax.aspnetcdn.com
  • cdnjs.cloudflare.com

Kas buvo greitesnis: code.jquery.com 0,1 sekundės abiejuose bandymuose

Kas buvo pats lėčiausias: ajax.aspnetcdn.com už 0,7 sekundės pirmame bandyme ir ajax.googleapis.com 1 sekundę antrajame bandyme

Čia yra pirmasis testas (kiekvienas iš jų buvo išbandytas 3 kartus):

Vaizdo įrašas: http://www.webpagetest.org/video/view.php?id=121019_16c5e25eff2937f63cc1714ed1eac814794e62b3

Ataskaitos: http://www.webpagetest.org/video/compare.php?tests=121019_D2_KF0,121019_9Q_KF1,121019_WW_KF2,121019_9K_KF3

Čia yra antrasis testas (dar 3 kiekvienas):

Vaizdo įrašas: http://www.webpagetest.org/video/view.php?id=121019_a7b351f706cad2c25664fee7ef349371f17c4e74

Ataskaitos: http://www.webpagetest.org/video/compare.php?tests=121019_MP_KJN,121019_S6_KJP,121019_V9_KJQ,121019_VY_KJR

3
19 окт. Anthony Hatzopoulos 19 d. atsakymas 2012-10-19 22:25 '12 10:25 val. 2012-10-19 22:25

Manau, kad tai priklauso nuo to, kur yra jūsų tikslinė auditorija. Galite naudoti alertra.com, kad patikrintumėte CDN greitį daugelyje vietų visame pasaulyje.

3
11 окт. atsakymas yra tylus . 2009-10-11 11:36 '09 11:36 2009-10-11 11:36

Mano atsakymas yra šiek tiek skiriasi nuo kitų, aš eisiu su „Microsoft“, jei jums reikės „jquery“ validatoriaus, kurį beveik kiekvienas turi, jei naudojate „jquery“.

„Microsoft CDN HTTP“ ryšys yra „Keep-Alive“, kuris yra didelis pliusas, kai prašote kelis elementus.

Taigi, jei jums reikia žvalgybinio tikrinimo, naudokite „Microsoft CDN“, net jei jums reikia „Microsoft“, nes „Google“ nepalaiko gyvo, todėl kiekvienas prašymas priklauso jam. todėl maišymas tokiu būdu yra pliusas. jei naudojate „Microsoft“ tik tikrintojui, kiekvienam prašymui atskirai prisijungiate prie „Google“ serverio.

2
19 авг. atsakymas pateiktas mamu 19 rug. 2010-08-19 07:56 '10, 7:56, 2010-08-19 07:56

Aš patarčiau naudoti savo naudojimą bendroje naudotojų, kuriems taikote, buvimo vietoje.

Jei jūsų svetainė skirta plačiajai visuomenei, „Google CDN“ naudojimas būtų geras pasirinkimas.

Jei jūsų svetainė taip pat nukreipta į Kiniją, geriausias pasirinkimas būtų „Microsoft CDN“ naudojimas. Žinau iš savo patirties, nes „Google“ serveriai užblokavo Kinijos vyriausybę, teikdami svetaines, kurios jas naudoja be atsisiuntimo.

* Atkreipkite dėmesį, kad galite sukurti vietoves, kurios yra būdingos tam tikram regionui. cn.mysite.com specialiai Kinijai, bet jei turite mažai išteklių ir laiko, turėtumėte galvoti apie tai.

Čia rasite visą „Microsoft“ CDN sąrašą. http://www.asp.net/ajaxlibrary/cdn.ashx

Nuo tada jie buvo pervadinti į ajax.aspnetcdn.com , o tai sumažina blokavimo tikimybę pagal užkardos taisykles.

1
18 июня '14 в 4:09 2014-06-18 04:09 atsakymas pateikiamas KnaveT birželio 18, 14 d. 4:09 2014-06-18 04:09

Taip pat apsvarstykite, kai naudojate „Google CDN“, kad kartais žmonės rašo klaidą, pvz., Ajax.googelapis.com. Tai galbūt galėtų sukurti tikrai bjaurų „xss“ („cross-site scripting“) ataką. Aš iš tikrųjų jį išbandžiau, užregistruodamas „googlapis.com“ klaidą ir labai greitai sužinojau, kad aptariau „JavaScript“, žemėlapių, „css“ ir kt. Užklausas.

Aš atsiuntė „Google“ el. Laišką ir paprašiau užregistruoti panašų CDN URL, bet negavau atsakymo. Tai gali būti tikroji priežastis, kodėl nesiremiate CDN, nes yra potencialiai pavojingų įsibrovėlių, kurie laukia spausdinimo užklausų ir gali lengvai tvarkyti „jquery“ ir tt Su naudingosios apkrovos xss.

Ačiū

1
16 июля '12 в 0:12 2012-07-16 00:12 atsakymą pateikė vartotojo601543 liepos 16 d., 12 val. 0:12 2012-07-16 00:12

Vasarą sakoma, kad „Microsoft“ nesiūlo vartotojo sąsajos, tai nėra tiesa (ne daugiau). Ją galima atsisiųsti iš http://www.asp.net/ajaxlibrary/cdn.ashx .

1
26 сент. atsakymas pateikiamas „ Netsi1964 26“ sep . 2010-09-26 22:23 '10 10:23 PM 2010-09-26 22:23

Priklausomai nuo pramonės, kuriai skirta programa, negalite naudoti kitų organizacijų naudojamo CDN. Dažnai kyla klausimų dėl atitikties, konfidencialumo ir konfidencialumo.

Pvz., Kai „Google Analytics“ įtraukiate į apsaugotą programą, naršyklė vis dar siunčia dabartinį URL kaip „nuorodos“ antraštę. Bet kokie identifikatoriai, pvz., Sesijos identifikatorius arba slaptas raktas, gali būti rodomi jų žurnaluose. Pavyzdžiui, jei kliento IP adresas yra 192.0.2.5references https: //healthsystem.example/condition/impotence , galite daryti išvadą, kad informacija yra gana privati.

Kiti atvejai apima informaciją apie pasekmes, pvz., Paskyros numerį, socialinio draudimo numerį arba sesijos informaciją URL. Tokie duomenys niekada neturėtų būti URL, nes juos galima naudoti už programos ribų.

Tol, kol galite pasitikėti „Google“, „Microsoft“ ar „Yahoo“, jūsų naudotojai negali.

Tokiose srityse kaip Finansai, Teisė ir Sveikata, galbūt norėsite sukurti savo CDN su tiekėju (pvz., Akamai), su kuriuo galite pasirašyti BAA.

0
16 мая '14 в 5:31 2014-05-16 05:31 atsakymas pateikiamas Bloudraak gegužės 16 d. 14 d. 5:31 2014-05-16 05:31

Aš naudoju abu!

Kadangi „Google“ „jQuery“ priegloba buvo daug ilgesnė, šansai yra daug didesni nei tų žmonių, kurie jau buvo išsaugoję talpyklą, palyginti su „Microsoft“, todėl galėčiau jį gauti pirmiausia.

Asmeniškai aš naudoju kažką panašaus -

 if (typeof jQuery == 'undefined') { // jQuery is not loaded document.write("<scr" + "ipt type=\"text/javascript\" src=\"http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js\"></scr" + "ipt>"); } } else { // jQuery is loaded } 

(Nežinote, ar tai yra 100% darbas, bet aš tiesiog norėjau parašyti idėją, o ne pavyzdį. Tai rodo „Google“, o ne „Microsoft“ valdomą jQuery, nes negalėjau rasti nuorodos

-3
11 окт. Atsakymas pateikiamas Wil 11 okt. 2009-10-11 14:39 '09, 14:39, 2009-10-11 14:39