

These CDNs are very useful in projects that don’t use a JS preprocessor or bundler that can generate bundles from dependencies. If your users are focused in a specific market some providers may have an advantage based on their CDN provider - jsDeliver for instance uses Quantil as one of their CDN providers which has points of presence in China that could improve performance for that market. Taking in to consideration the fact that some popular CDNs could already be cached by your users’ browser could be worth doing. These three all use large CDN providers for the actual distribution of packages and have similar caching strategies. If your use is pretty generic it’s likely that you won’t see a large performance benefit from one CDN to the other when comparing bigger names like cdnjs, jsDelivr, and unpkg. If not, the benefit is improved loading in parallel at the expense of no cross-platform redundancy. If so, the benefit is redundancy at the expense of possible improved loading in parallel. The important difference here is the cache-control value, where the exact version gets a max-age of 1 year, while the other gets a max-age value of 7 days.Īlso: Another area where CDN features may impact performance is whether they use multiple underlying CDNs or not.
CDNJS VS JSDELIVR VS UNPKG PATCH
Via jsdelivr, with "latest patch version" feature ( url) compression: brotliĬache-control: public, max-age=604800, s-maxage=43200 If using this on the same minor version of jQuery as above, here are the results:

For example, Jsdelivr has a feature that allows one to leave off the exact version string (so that you can always get the latest patch version, for example) ( view their features page). IMPORTANT: Be careful about how CDN features might impact cache-control headers (in a way that would degrade performance for your users). Via jQuery's CDN ( url) compression: gzipĬache-control: public, max-age=31536000, s-maxage=31536000, immutable

Three things to add (in addition to what chip points out): they are used on a single page and I don't want to load them everywhere) in this situation, using a CDN is probably better than loading them locally, hence my question.
CDNJS VS JSDELIVR VS UNPKG DOWNLOAD
I usually use npm to download scripts into my dev environment and pack them in a single bundle but there are times when I want to keep one or more of those scripts non bundled (i.e. The first thing that comes into my mind is that there could be differences in how fast they are and how much they are used (so, if I use the one with the largest market share, I will be more likely to have my users already have the libraries in their browser's cache), but I'm not sure it this is just being nitpicky or if these reasonings are legitimate.Īlso, once I pick a CDN to load a script, are there valid reasons to always use the same for other scripts as well? BootstrapCDN, cdnjs, unpkg, jsDelivr and possibly others) but I don't understand when sould I use one over the others.Īs an example, examples in Bootstrap documentation show BootstrapCDN and jsDelivr, while aos's docs use unpkg, and so on. What kind of reasoning should I do in order to choose a specific CDN to load Javascript & CSS libraries into my website development projects?
