CDN
- 속도!
- 웹프로그래밍 시간에서 bootstrap, jquery, fontawesome 등 외부라이브러리를 CDN을 통해 사용해았다
- 데이터통신, 네트워크 관련 수업에서 CDN이 뭔지 배웠었다
CDN
- 콘텐츠 전송 네트워크, Content Delivery Network
- 나와 물리적으로 가까운 캐시 서버로부터 리소스를 가져온다
- 원래대로라면 원본 리소스를 가지고 있는 서버로부터 제공받는다
- 근데 원본 서버가 물리적으로 거리가 멀면 가져오는데 시간이 오래 걸린다
- 원본 서버의 부하도 줄여주고 속도도 빨라지도 좋다
- 보통 정적인 파일들(이미지, js, css)등을 CDN을 사용하여 배포한다
- A, B가 같은 동네에 살고 있다
- A가
asdf
라는 파일을 다운로드하는데, 가장 가까운 캐시 서버에asdf
파일이 있는지 확인한다 - 없으면 하나 위로 가서 확인하고, 반복하다가 없으면 원본 서버까지 가서 받아온다
- 최초에 시간이 오래 걸렸지만, 이후 A가
asdf
파일을 재요청했을 때 엄청 빨라졌음을 느꼈다 - B도
asdf
파일을 엄청 빨리 다운로드할 수 있었다
CDN 사용예
- jquery, font awesome 등 라이브러리들을 보면 CDN 형태로 제공을 하고 있어서
- head에 한 줄 넣기만 하면 해당 라이브러리의 기능을 쉽게 사용할 수 있다
- CDN 말고 직접 배포 파일(dist, build)을 받아서 사용할 수 있지만,
- 실제 서비스를 할 때, 내 서버에서 해당 리소스를 제공해야 하므로 서버에 부하를 줄 수 있고, 느리다
- 라이브러리를 가져올 때, CDN을 사용했다면 이런 걱정을 할 필요가 없다