jQuery 다운로드페이지에 보면 현재 jQuery는 Google, Microsoft, jQuery CDN(Edgecast)을 통해 배포되어 있는 것을 알 수 있습니다. 각각의 URL은 아래와 같습니다.
Google Ajax API CDN : http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js
jQuery CDN : http://code.jquery.com/jquery-1.4.2.min.js
Microsoft CDN : http://ajax.microsoft.com/ajax/jquery/jquery-1.4.2.min.js
3월에 pingdom에서 속도테스트의 결과가 올라왔었습니다.(생각만 하다가 이제야 포스팅을...) 이 테스트의 결과로는 유럽을 제외하고는 일반적으로 jQuery CDN(Edgecast)이 제일 빠르더라는 것이었는데 Asia쪽에서는 테스트도 이뤄지지 않은것 같고 또 국내와는 사정이 다를것도 같아서 테스트를 해보았습니다.
테스트는 3번 진행하였고 Fiddler를 이용해서 요청에 대한 시간으로 계산했으며 각 테스트당 10번씩 요청하여 평균값으로 계산하였습니다.(머 통계를 내기에는 적은 수치기는 하지만 그 이상 테스트 하기엔 좀 귀찮아서요.) 집 - 회사 - 집 이렇게 3번 진행하였는데 첫번재 테스트때는 네트워크 사정이 안좋았는지 전체적으로 수치가 높게 나타났습니다.
(통계적 수치라기 보다는 그냥 참고용으로만 봐주세요.) 전체적으로는 그래도 인프라가 좋은 Google이 가장 안정적으로 제공하고 있고 네트워크가 안좋을때 제외하고는 MS CDN도 좋은 성능을 보여주고 있습니다. 아시아쪽에는 CDN서버가 없는 것인지 Edgecast는 영 맥을 못추고 있습니다.
파일 용량
Google : 72,322 Bytes
Edgecast : 72,174 Bytes
Microsoft : 72,413 Bytes
Edgecast : 72,174 Bytes
Microsoft : 72,413 Bytes
압축된 jQuery파일이기 때문에 각 CDN별로 약간의 차이가 있기는 했지만 신경쓸만한 용량의 크기는 아닙니다. 원본소스가 같으니 당연한 결과이겠지만요.
Content-Type
Google : text/javascript; charset=UTF-8
Edgecast : application/x-javascript
Microsoft : application/x-javascript
Edgecast : application/x-javascript
Microsoft : application/x-javascript
Content-Type의 경우는 Edgecast와 Microsoft는 application/x-javascript를 사용하고 Google는 text/javascript에 캐릭터셋까지 지정하여 내려주고 있습니다. 표준(?)은 application/javascript지만 현실적으로 이걸 지원하고 있는 브라우저는 거의 없는 상황이고 text/javascript와 application/x-javascript를 사용하고 있는 상황입니다 둘의 차이는 그다지 없는것 같습니다.(Stackoverflow에서 논의된 내용을 참고해보셔도 좋을것 같습니다.)
Caching
Google : Caching public, max-age=31536000 expires: 2011 Jun 20
Edgecast : no caching
Microsoft : Caching public, max-age=31536000 expires: 2011 Mar 25
Edgecast : no caching
Microsoft : Caching public, max-age=31536000 expires: 2011 Mar 25
Google과 MS는 1년짜리 캐싱을 해주고 있습니다. 내용이 바뀔일도 없고 공통으로 사용할 수 있으므로 이왕이면 캐싱이 있는 것이 더 낫다고 생각되는군요.
저는 경로때문에 사용했습니다.
경로를 구성하는데 그냥 좀 애를 먹어서요.
사실 머 회사에서 외부리소스를 쓰는걸 싫어해서 그렇지 인프라가 충분하다면 속도나 캐싱면에서 훨씬 나은 선택이라고 생각합니다.(물론 구글이 다운될수도 있겠지만요. ㅎ)