Search
Close this search box.
CDN คืออะไร? CDN มีประโยชน์กับเว็บไซต์อย่างไร?

CDN คืออะไร? CDN มีประโยชน์กับเว็บไซต์อย่างไร?

Last updated 4 months ago,
1 mins read

ปัจจุบันความเร็วในโหลดหน้าเว็บไซต์ถือเป็นเรื่องที่สำคัญอันดับต้นๆ ในการพัฒนาเว็บไซต์เลยทีเดียว เพราะเชื่อว่าผู้ใช้งานเว็บไซต์คงไม่ชอบที่จะรอเว็บไซต์ที่โหลดช้าอย่างแน่นอน และ 1 ในวิธีที่ช่วยปรับปรุง Performance เว็บไซต์ให้ดียิ่งขึ้น นั้นก็คือ การใช้บริการจาก Content Delivery Network หรือ CDN นั้นเอง สำหรับบทความนี้ผมจะขอหยิบเอา 3 CDN ยอดนิยมที่ให้บริการ Hosted Libraries และ Frameworks ชื่อดังมาให้เพื่อนๆ ได้ใช้กันครับ

CDN คืออะไร

CDN หรือ Content Delivery Network คือ ระบบเครือข่ายขนาดใหญ่ที่มีเครื่อง Server จำนวนมากกระจายตัวอยู่ตามภูมิภาคต่างๆ ทั่วโลก โดย Server เหล่านี้จะทำหน้าที่เชื่อมต่อกันผ่านอินเทอร์เน็ตเพื่อทำหน้าที่ในการส่งข้อมูลไปให้ถึงผู้รับปลายทางให้เร็วที่สุด ซึ่งข้อมูลที่ส่งนั้นก็มีหลากหลายรูปแบบไม่ว่าจะเป็นข้อความ, รูปภาพ, มัลติมีเดีย และไฟล์ต่างๆ 

ข้อมูลเหล่านี้จะถูกคัดลอก (Caching) ไปเก็บไว้บนเครื่อง Server ที่กระจายตัวอยู่บริเวณเครื่องปลายทาง ดังนั้น เมื่อมีการเรียกหาข้อมูลดังกล่าว Server ที่อยู่ใกล้ที่สุดจะเป็นคนตอบรับคำร้องขอเหล่านี้แทน Server ต้นทางที่อยู่ไกลออกไป ซึ่งการกระทำเหล่านี้จะช่วยร่นระยะเวลาในการส่งข้อมูลที่เร็วขึ้นกว่าเดิมโดยเฉลี่ยแล้วมากกว่า 50% เลยทีเดียว

CDN ใช้งานได้ฟรี! สำหรับนักพัฒนาเว็บไซต์

อันที่จริงแล้ว CDN ที่ให้บริการ Hosted Libraries มีอยู่หลายเจ้า แต่ผมขอรวบรวม CDN ที่ใช้งานกันบ่อยๆ มาให้ ดังนี้

Google Hosted Libraries

Google for Developers

Google เองก็มีบริการ Hosted Libraries ชื่อดังมาให้ Developers ได้นำไปใช้เหมือนกัน แต่อาจจะไม่มากเท่า jsDelivr และ cdnjs แต่อย่างไรก็ตาม ไฟล์ที่ลิงค์มาจากที่นี้ก็ดูน่าเชื่อถือที่อื่นอย่างแน่นอน ดังนั้น หากเว็บไซต์ของเรามีการใช้ Libraries ไม่มากนัก Google Hosted Libraries ก็ถือเป็น 1 ใน CDN อันดับต้นๆ ที่ควรเลือกใช้

jsDelivr

jsDelivr

ถึงแม้ Google CDN จะดูน่าเชื่อถือ และมีความเสถียรมากกว่าใคร แต่ถึงกระนั้นก็ยังมี Libraries ให้เราเลือกไม่มากนัก ดังนั้น  jsDelivr ก็ถือเป็น 1 ทางเลือกที่น่าสนใจ เพราะด้วยจำนวน Libraries ที่มีให้เลือกมากกว่าทั้ง Libraries ที่มีชื่อเสียง และยังไม่ค่อยมีชื่อเสียง นอกจากนี้ เรายังสามารถเลือกไฟล์ที่เราต้องการที่ส่งตรงจาก npm และ GitHub ได้อีกด้วย

cdnjs

cdnjs

อีก 1 Public CDN อันโด่งดังที่รูปแบบคล้ายกับ jsDelivr โดย cdnjs มาพร้อมกับ Libraries ยอดนิยมกว่า 6000+ รายการ ไม่ว่าจะเป็น jQuery, bootstrap, font-awesome และอื่นๆ อีกมากมาย นอกจากนี้ cdnjs ยังอำนวยความสะดวกให้เราสามารถ Copy ไฟล์ URL หรือ Script Tag ที่มาพร้อมกับ SRI หรือไฟล์เพียวๆ ได้อีกด้วย

ข้อดี/ข้อเสียของการใช้ Library ผ่าน CDN

ข้อดี:

  • ลดภาระการทำงานของ Server ไม่ว่าจะเป็นในเรื่องของ Bandwidth หรือ Storage
  • ผู้ใช้สามารถโหลดเว็บไซต์ได้เร็วขึ้น เนื่องจากไฟล์ถูกส่งจากเซิฟเวอร์ที่อยู่ใกล้ผู้ใช้มากที่สุด
  • CDN สามารถส่งเวอร์ชั่นล่าสุดของ Libraries นั้นๆ มาให้เราได้เสมอ
  • เร็ว แรง ล่มยาก แถมฟรีอีกต่างหาก

ข้อเสีย:

  • เวลาพัฒนาต้องต่อ Internet อยู่เสมอ
  • อาจทำให้เว็บช้ากว่าเดิม ในกรณีเราใช้ Libraries ที่ใช้ไม่มี Server CDN อยู่ใกล้เคียง
  • หาก Server CDN ล่มอาจส่งผลกระทบกับเราได้
  • อาจจะเสี่ยงต่อการโจมตีของ Hacker ได้

เมื่อไหร่ควรใช้ Libraries จาก CDN

  • เราทำงานใน Intranet หรือในสถานที่ๆ ไม่ได้เชื่อมต่อ Internet หรือไม่ ถ้าใช่การใช้ CDN ก็ไม่เหมาะสม
  • Libraries ที่เราใช้งาน มี Server อยู่ใกล้กับ User ส่วนใหญ่หรือไม่
  • ระยะทางระหว่าง User กับ Server ของเรากับ Server CDN หาก User อยู่ใกล้ Server CDN มากกว่าก็เลือกใช้ Server CDN
  • ลำดับของ Script ที่เราใช้งาน หากต้องเรียกใช้งานก่อน การเรียกไฟล์ผ่าน CDN อาจทำให้โหลดช้ากว่า
  • ในกรณีที่ต้องการประหยัด Bandwidth การใช้ CDN ก็ถือเป็นทางเลือกที่น่าสนใจ

ตัวอย่างการ FallBack jQuery

<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/jquery.min.js"></script>

// Fallback function for ่jQuery
<script> if (typeof jQuery == 'undefined') { document.write(unescape("%3Cscript src='/js/jquery.min.js' type='text/javascript'%3E%3C/script%3E")); } </script>Code language: HTML, XML (xml)

หรือ

<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/jquery.min.js"></script>

// Fallback function for ่jQuery
<script>window.jQuery || document.write('<script src="js/jquery.min.js"><\/script>')</script>Code language: HTML, XML (xml)

สรุป

อย่างที่เห็นบริการ CDN มีให้เลือกใช้มากมาย แต่ละเจ้าก็มีข้อดีข้อเสียที่แตกต่างกัน ทั้งนี้ขึ้นอยู่กับงานที่เราต้องการนำไปใช้ หากต้องการความสะดวกก็เลือกใช้ CDN แต่หากต้องการความยืดหยุ่น CDN ก็อาจไม่ตอบโจทย์

Tagged with:
ผู้เขียน
Danai Phianphutthikorn
Founder, Writer, Designer, Videography, YouTuber

บทความที่เกี่ยวข้อง

แนะนำเครื่องมือลดขนาดรูปภาพออนไลน์ ใช้งานได้ฟรี ที่นักออกแบบเว็บไซต์ และนักเขียนควรรู้ เราไปดูกันครับว่ามีเครื่องมืออะไรน่าสนใจกันบ้าง
สำหรับเพื่อนๆ ที่กำลังมองหา Code Editor อยู่แล้วละก็ ต้องไม่พลาดบทความนี้ครับ เพราะผมได้รวบรวม Code Editor ยอดนิยมมาฝากเพื่อนๆ กัน แถมใช้ได้ฟรีอีกต่างหาก
เพิ่มความปลอดภัยให้ CDN ผู้ให้บริการ Hosted Libraries ด้วย SRI ฟีเจอร์ความปลอดภัยที่จะช่วยให้ Browser สามารถตรวจสอบความถูกต้องของไฟล์ JS หรือ CSS
เขียน CSS ให้อ่านโค้ดได้ง่าย ลดความซ้ำซ้อนของโค้ดด้วย BEM CSS มาตรฐานการเขียน CSS ที่ช่วยให้โค้ดเป็นระเบียบ เข้าใจง่าย เหมาะสำหรับนักพัฒนาเว็บไซต์