Ini mungkin jelas bagi sebagian orang, tetapi saya bertanya-tanya: mengapa saya harus bergantung pada server Google untuk meng-host jQuery untuk situs saya?
Apakah hanya karena memuat lebih cepat dengan cara ini?
Ini mungkin jelas bagi sebagian orang, tetapi saya bertanya-tanya: mengapa saya harus bergantung pada server Google untuk meng-host jQuery untuk situs saya?
Apakah hanya karena memuat lebih cepat dengan cara ini?
Jawaban:
Hal ini karena:
Ada beberapa skenario ketika Anda mungkin tidak ingin menggunakan jQuery dari CDN Google:
Ketika Anda membangun aplikasi intranet di mana server web di-host di jaringan yang sama dengan klien. Jika Anda menggunakan jQuery CDN Google, Anda akan melakukan panggilan ke internet daripada server web di jaringan lokal. Ini meningkatkan bandwidth untuk organisasi Anda, dan lebih lambat.
Saat Anda ingin menjalankan aplikasi secara offline . (Cukup ditautkan dengan masalah pertama) Jika Anda perlu bekerja di lingkungan pengembangan (dikelola misalnya dengan Bower ), Anda mungkin harus dapat membuat aplikasi Anda berfungsi tanpa koneksi internet (misalnya: di kereta :)
Ketika Anda perlu menyesuaikannya . Misalnya jika Anda menggunakan Grunt untuk membangun perpustakaan agar hanya menggunakan modul tertentu atau mengatur nama AMD
Saat Anda melayani halaman melalui SSL yang membutuhkan jQuery. Anda harus menayangkan JavaScript melalui SSL dan juga halaman Anda untuk menghindari masalah keamanan dan peringatan.
Juga, Microsoft host jQuery di CDN mereka. Itu adalah pilihan lain yang sebanding dengan menggunakan jQuery yang dihosting Google.
src="//ajax.googleapis.com/..."
, kerja.
Studi ini oleh TJ VanToll meyakinkan saya bahwa lebih baik menggabungkan jQuery dengan skrip lain daripada memuatnya dari CDN.
Alasannya adalah latensi yang terlibat dalam mengambil jQuery di perangkat seluler:
"Pada tahun 2012 rata-rata waktu RTT pada jaringan seluler di Amerika Serikat adalah 344 ms. Dan 344 ms itu berlaku tidak hanya untuk setiap permintaan HTTP - yang mana rata-rata halaman web sekarang adalah 93 - tetapi juga setiap pencarian DNS dan koneksi TCP ... Sementara rata-rata RTT membaik, hanya ada sedikit keuntungan tambahan yang bisa didapat, karena jaringan saat ini berada dalam faktor kecil dari batas teoritis yang ditentukan oleh fisika. "
Dia juga mengutip posting ini dari Steve Souders yang menunjukkan mengapa Anda sebenarnya tidak mungkin mendapatkan manfaat caching dari menggunakan CDN:
"Karena fragmentasi dalam penyedia CDN, versi jQuery, dan penggunaan protokol (http vs. https), kemungkinan mendapatkan hit cache CDN sangat rendah - dan mengunduh dari domain eksternal berpotensi untuk melakukan bukan hanya satu, tetapi tiga pulang pergi (pencarian DNS, koneksi TCP, dan HTTP GET). "
Manfaat terbesar adalah dari caching. Teorinya adalah bahwa jika pengunjung mengunjungi situs yang memuat pustaka JavaScript mereka, katakanlah jQuery misalnya dari Google CDN, maka ketika mereka mengunjungi situs web Anda, pustaka sudah ada dalam cache browser pengguna itu dan tidak perlu diunduh lagi . Ini terdengar hebat secara teori.
Manfaat yang dibagikan di sini dan di tempat lain semuanya teoretis. Baru saja menemukan analisis mendalam tentang menggunakan CDN dan jika memberikan manfaat kinerja yang diharapkan. http://www.root777.com/appdev/does-using-google-libraries-api-cdn-give-you-performance-benefits
Alasan utama TIDAK untuk membiarkan Google meng-host jQuery Anda, salah satu yang tidak dipikirkan banyak orang, adalah bahwa itu tidak akan diunduh jika Anda berada di China. Itu diblokir bersama dengan banyak skrip lain, font dll ... di-host oleh Google CDN. Jika Anda perlu menjangkau audiens Cina, Anda sebaiknya selalu menggunakan back-back yang di-host di server Anda sendiri. Google APIS Dicekal di Tiongkok
Beberapa jawaban yang bagus di sini adalah "Mengapa kamu harus ..." dan "Mengapa kamu tidak boleh ..."
Saya hanya ingin menambahkan daftar alternatif ke Google jika Anda ingin memuat jQuery dari CDN.
Tetapi untuk menyimpulkannya, Anda pada dasarnya meningkatkan kinerja situs web / aplikasi Anda secara keseluruhan.
Gunakan CDN dengan Pekerja Layanan, Anda dapat mengunduh CDN satu kali seumur hidup klien, dan tidak setiap kali Anda memperbarui kode.