Jawaban:
Ada dua manfaat utama untuk menggunakan CDN eksternal seperti Google untuk meng-host jQuery:
Kerugian potensial:
Kelemahan lain:
Menggunakan CDN memungkinkan operator CDN untuk melacak situs pengunjung. Itu sebabnya mereka tidak memerlukan biaya.
Menggunakan CDN untuk membagikan dependensi Anda di banyak server seperti ini pada dasarnya merupakan pertukaran antara bandwidth dan latensi, dengan asumsi Anda hanya peduli dengan kinerja.
Secara kebetulan saya berasumsi bahwa alternatifnya bukan hanya meng-hosting-nya secara lokal, tetapi menggabungkannya dengan permintaan lokal yang berbeda - biasanya tidak ada alasan kuat untuk tidak menggabungkannya ketika Anda bisa.
Jika bandwidth tak terbatas, maka Anda lebih baik BUKAN sharding, karena Anda akan selambat layanan paling lambat - karena latensi tidak dapat diprediksi dengan sempurna, dengan layanan yang cukup, bahkan jika cepat, Anda hanya perlu sedikit nasib buruk menyebabkan loading halaman lambat.
Jika latensi 0, maka menyebarkan beban Anda ke banyak server dapat meningkatkan bandwidth dengan memanfaatkan banyak server (tidak terlalu membantu karena kemungkinan keterbatasan bandwidth dekat dengan klien, bukan server), tetapi yang lebih penting, ini dapat mengurangi jumlah data yang dikirimkan sedikit dengan meningkatkan efektivitas caching.
Itu tergantung pada skenario Anda, tetapi saya biasanya mengharapkan latensi lebih dari masalah bandwidth, kecuali skrip Anda sangat besar (yang jquery tidak). Pada titik itu, biasanya lebih cepat meng-host jquery sebagai bagian dari file lokal gabungan.
Alasan untuk tidak meng-host secara lokal adalah misalnya ketika Anda membayar bandwidth, atau Anda hosting di beberapa server lambat (koneksi Anda ke klien macet di pihak Anda, bukan klien), atau Anda tahu klien Anda akan memiliki bandwidth yang sangat rendah (dsl atau modem, low-end, katakanlah - seluler cenderung memiliki masalah latensi lebih banyak daripada masalah bandwidth), atau klien Anda membayar bandwidth (mis. seluler) dan skrip adalah bagian yang sedemikian mencolok sehingga caching menang menjadi masalah (tidak mungkin ).
Dalam kasus apa pun: jauh lebih relevan adalah apakah Anda sudah membahas dasar-dasarnya terlebih dahulu; header caching yang tepat, concatenation, minification, dan gzipping (lebih disukai dengan rasio kompresi yang tinggi). Dan inilah intinya: jika Anda TIDAK melakukan itu, maka setidaknya CDN akan melakukannya, jadi itu menang ...
TL; DR: Jika Anda telah meringkas + minifikasi + gzipping + caching semua dibahas, maka melayani skrip kecil secara lokal lebih cepat daripada dari CDN meskipun kinerja CDN lebih baik - tetapi hanya jika Anda telah melakukan pekerjaan rumah Anda, mungkin tidak pada pekerjaan rumah Anda, mungkin tidak pada halaman pertama memuat, dan pasti ada pengecualian untuk aturan ini.
Menggunakan perpustakaan yang di-host jQuery oleh Google memungkinkan laman Anda dimuat lebih cepat. Memang, perpustakaan dimuat pada saat yang sama halaman Anda, bukan setelah.