Melayani pustaka javascript dari CDN dan bukan server Anda sendiri hadir dengan keuntungan yang luar biasa. Lebih sedikit pekerjaan untuk server Anda, kemungkinan CDN memiliki salinan yang lebih dekat dengan pengguna daripada server Anda, tetapi yang terpenting adalah peluang bagus bahwa browser pengguna Anda sudah menyimpannya dalam cache dari URL itu. Yang terakhir berarti lebih sedikit pekerjaan total untuk semua orang, jadi ini jelas merupakan kemenangan di sekitar, dan kemungkinan besar semakin sering kita (pengembang) mengandalkan CDN untuk melayani javascript kita.
Tetapi CDN javascript yang populer (Google, Microsoft, lainnya?) Hanya menampung sejumlah kecil file. Untuk orang lain, kami memiliki pilihan untuk menghostingnya sendiri, atau ... menggunakan server kendali sumber sebagai sejenis CDN. Sepertinya Github atau yang serupa tidak memiliki cache file yang didistribusikan secara geografis yang dioptimalkan untuk disajikan secara global. Tetapi jika ini adalah praktik umum, maka ada kemungkinan besar browser pengguna akan menyimpannya di cache. Argumen untuk memindahkan pekerjaan dari server kami ke github hanya valid jika Github secara sukarela melakukan ini secara sukarela.
Jadi, apakah ini praktik yang umum? Haruskah kita mendorong satu sama lain untuk melakukan ini? Apakah Github keberatan? Apakah mereka memiliki kebijakan resmi?
sumber
Jawaban:
Anda tidak boleh melakukannya untuk file JavaScript jika Anda peduli dengan kinerja atau kompatibilitas IE9.
GitHub tidak menyajikan file "mentah" dengan header yang kedaluwarsa jauh di masa mendatang. Tanpa kemungkinan caching lintas situs, Anda kehilangan manfaat terbesar menggunakan CDN publik untuk menghosting JavaScript Anda. Faktanya, menggunakan GitHub sebagai CDN akan lebih lambat daripada hanya menghosting file di server Anda sendiri setelah permintaan pertama setiap pengguna untuk file tersebut (dengan asumsi Anda mengkonfigurasi caching dengan benar di server Anda).
Masalah lainnya adalah GitHub tidak menyajikan file "mentah" dengan header jenis konten yang cocok dengan jenis MIME file yang sebenarnya. Di IE9 (dan mungkin browser / proxy / firewall / dll lainnya), file JavaScript yang tidak disajikan dengan jenis konten yang benar diblokir secara default. Anda dapat melihatnya beraksi di halaman demo BlockUI, misalnya:
sumber
Menautkan ke file "mentah" GitHub memiliki beberapa masalah seperti yang dijelaskan oleh jawaban Dave Ward .
Saya sarankan Anda melihat Halaman GitHub sebagai opsi.
Baca artikel ini:
GitHub sebagai CDN. Cache Javascripts, Stylesheets dan Web Assets Anda dengan Halaman GitHub.
sumber
Ini baru - baru ini ditanyakan di forum dukungan github , dan jawaban resminya adalah tidak apa-apa.
Karena itu, saya setuju dengan jawaban lain: github tidak pernah dimaksudkan sebagai CDN, sementara Google dan Microsoft memiliki infrastruktur khusus untuk itu.
sumber
Tidak masalah untuk pembuatan prototipe / barang pribadi, tetapi untuk produksi saya akan melihat:
http://www.cdnjs.com/
http://cachedcommons.org/- tidak lagi tersediasumber
Saya melakukannya selama berbulan-bulan sekarang, memiliki beberapa kekhawatiran terlebih dahulu tetapi sangat keren jika Anda tidak memiliki masalah dengan file Anda yang tersedia untuk umum, gunakan versi yang diperkecil jika Anda peduli.
Tapi tetap saja - Google & MS menguasai ruang untuk jQuery & jQuery Templates - jadi saya menggunakannya untuk itu.
sumber