サイト内に限らず外部のサイトからでもいいけど、JavaScriptのライブラリファイルを同じURLで使いまわしたいときの参考に。
具体的には、jQuery という JavaScript のライブラリを使ってみたかったので、どこに配置しようかなーと思って。
よく考えたらウチのサイトは http://www.nilab.info/lib/js/ に置くようにしていたのだった。
それはそうと、他の有名どころはサイトはどうやっているのかなと思って調べてみた。
jQuery本家の場合 (jQuery CDN)
http://code.jquery.com/jquery-1.4.4.min.js
Googleの場合 (Google Ajax API CDN)
http://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js
https://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js
Microsoftの場合 (Microsoft CDN)
http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.4.4.min.js
http://ajax.microsoft.com/ajax/jquery/jquery-1.4.4.min.js
NI-Lab.の場合
http://www.nilab.info/lib/js/jquery-1.4.4.min.js
使うときはこんな感じで読みこむ。
scriptタグのsrc属性に指定してインクルード。
<script src="http://www.nilab.info/lib/js/jquery-1.4.4.min.js" type="text/javascript"></script>
jQueryの場合はここに情報がちゃんとまとまってた。
CDN Hosted jQuery
A number of large enterprises provide hosted copies of jQuery on existing CDN networks that are available for public use. Below are links to the CDN-hosted copies of jQuery that you may hotlink to.
Downloading jQuery - jQuery JavaScript Library
ちなみに Google の情報源。
name: jquery
latest version: 1.4.4 (view older versions)
load request: google.load("jquery", "1.4.4");
extras: uncompressed:true (as in google.load("jquery", "1.4.4", {uncompressed:true});
path: https://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js
path(u): https://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.js
site: http://jquery.com/
note: 1.2.5 and 1.2.4 are not hosted due to their short and unstable lives in the wild...
Google Libraries API - Developer's Guide - Google Libraries API - Google Code
こっちは Microsoft の情報源。
jQuery Releases on the CDN
The following releases of jQuery are hosted on the CDN:
jQuery version 1.4.4
* http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.4.4.js
* http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.4.4.min.js
* http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.4.4-vsdoc.js
Microsoft Ajax Content Delivery Network - ASP.NET Ajax Library
JavaScriptファイルを同じURLで使いまわすことのメリットは、サーバの容量を余分に食わないとか、jsファイルを新しいバージョンに置き換えると、使ってる側は自動でライブラリがバージョンアップにまとめてバージョンアップするとか(そういう運用にしておく)とか。
ところでCDNって何かしら、よく聞くけど。
コンテンツデリバリネットワーク(Contents Delivery Network, CDN)とは、Webコンテンツをインターネット経由で配信するために最適化されたネットワークのことである。コンテンツ配信網とも。
90年代以降ネットが一般に普及するにつれ、大手サイトからのリンクやテレビといった他メディアからのリンクにより、通常想定されていない大量のユーザーがサイトへ集中し、反応が遅くなったり、まったく応答不能になること(フラッシュクラウド効果)が多くなってきた。このような現象に対処する場合、サーバを一ヶ所だけに置くのではなく、地理的・バックボーン的に分散させるのが効果的である。同一のコンテンツを多くのサーバでミラーする手段としては、単純なDNSラウンドロビンから、P2P、地理情報を加味した複雑な配信技術までさまざまなものがあり、研究、実用化がなされている。
CDNを用いることにより、Webのみならず、大容量アプリケーション、音楽、動画の配信やオンラインゲームといったブロードバンドのコンテンツを配信することが安定かつ低コストで行えるようになる。そのためビジネス分野において注目されている。
コンテンツデリバリネットワーク - Wikipedia
へー。
tags: JavaScript zurazure
Posted by NI-Lab. (@nilab)