คู่มือ

CDN คืออะไร เครือข่ายส่งมอบเนื้อหา (Content Delivery Network) อธิบายแบบเข้าใจง่าย

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

ทำไม CDN จึงสำคัญเมื่อสร้างด้วย AI

คุณอาจไม่เคยตั้งค่า CDN เอง เพราะแพลตฟอร์มโฮสติ้งหลายแห่งวาง CDN ไว้หน้าเว็บไซต์ให้โดยอัตโนมัติ แต่คุณจะรู้สึกถึงผลลัพธ์ของมันอยู่ดี:

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

ตัวอย่างใกล้ตัว

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

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

CDN ทำงานอย่างไร

  1. Origin (ต้นทาง) เว็บไซต์ของคุณอยู่บนเซิร์ฟเวอร์หลักหรือแพลตฟอร์มโฮสติ้ง เรียกว่า origin
  2. Edge locations CDN มีเซิร์ฟเวอร์อยู่หลายแห่ง เรียกว่า edge locations หรือ points of presence
  3. การนำทาง (routing) เมื่อผู้เข้าชมขอเว็บไซต์ DNS หรือการกำหนดเส้นทางของเครือข่ายจะส่งเขาไปยัง edge ที่ใกล้ที่สุด ดู โดเมนและ DNS ทำงานอย่างไร
  4. Cache hit ถ้า edge นั้นมีสำเนาที่ยังสดใหม่ของไฟล์อยู่แล้ว ก็ส่งให้ทันที
  5. Cache miss ถ้าไม่มี edge จะดึงไฟล์จาก origin ส่งให้ผู้เข้าชม และเก็บสำเนาไว้สำหรับคนถัดไป
  6. หมดอายุ สำเนาแต่ละชุดจะถูกเก็บไว้ตามระยะเวลาที่กำหนด ซึ่งควบคุมโดย cache headers ที่เซิร์ฟเวอร์ของคุณส่งมา หรือจนกว่าจะถูกล้างออก

ตัวอย่างจริง: เว็บพอร์ตโฟลิโอพร้อมรูปถ่าย

พอร์ตโฟลิโอของช่างภาพมีหน้าแรก แกลเลอรีรูปขนาดใหญ่ 60 รูป และฟอร์มติดต่อ origin อยู่ในยุโรป ผู้เข้าชมคนหนึ่งในสิงคโปร์เปิดแกลเลอรี

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

ตอนนี้ช่างภาพเปลี่ยนรูปหลักของหน้าแรกและเผยแพร่ใหม่ สิ่งที่กำหนดว่าผู้เข้าชมจะเห็นการเปลี่ยนแปลงหรือไม่คือ:

/index.html                    → อายุแคชสั้น ตรวจบ่อย
/assets/index-3f9a2c.js        → แคชไว้นาน
/assets/hero-8b41d0.jpg        → แคชไว้นาน

เครื่องมือ build สมัยใหม่ รวมถึง Vite ตั้งชื่อไฟล์แบบ hashed เช่น hero-8b41d0.jpg เมื่อไฟล์เปลี่ยน ชื่อก็เปลี่ยนตามไปด้วย หน้าเว็บจึงขอไฟล์ใหม่เอี่ยมที่ไม่เคยมีในแคชใดเลย ตัวหน้า HTML เองถูกแคชไว้เพียงระยะสั้น ๆ เพื่อให้ชี้ไปยังไฟล์ใหม่ได้เร็ว นี่เป็นวิธีมาตรฐานที่ได้ทั้งการแคชที่นานและการอัปเดตที่สดใหม่

แบบฟอร์มติดต่อต่างออกไป การส่งข้อมูลจากฟอร์มไปยังเซิร์ฟเวอร์ทุกครั้ง และไม่ควรถูกแคชเลย

อะไรควรแคชและอะไรไม่ควร

โดยทั่วไปควรแคช (นาน)โดยทั่วไปแคชระยะสั้นไม่ควรแคชใน CDN ที่ใช้ร่วมกัน
รูปภาพ ฟอนต์ วิดีโอหน้า HTML ของเว็บไซต์สาธารณะหน้าที่ต้องล็อกอิน แดชบอร์ด
JavaScript และ CSS ที่มีชื่อแบบ hashedข้อมูล API สาธารณะที่เปลี่ยนไม่บ่อยข้อมูลส่วนตัวทุกชนิด
ไฟล์ดาวน์โหลดที่แทบไม่เปลี่ยนการส่งฟอร์ม การชำระเงิน คำขอ POST ทุกชนิด

คำศัพท์สำคัญ

คำศัพท์ความหมาย
Originเซิร์ฟเวอร์หลักหรือโฮสต์ของคุณ ที่ซึ่งไฟล์จริงอยู่
Edge / PoPตำแหน่งของ CDN ที่ให้บริการผู้เข้าชมที่อยู่ใกล้
Cache hit / missedge มีไฟล์อยู่แล้ว / ต้องไปดึงจาก origin
TTLTime to live คือระยะเวลาที่เก็บสำเนาที่แคชไว้
Cache-Control headerคำสั่งที่เซิร์ฟเวอร์ส่งมาบอกว่าสิ่งใดแคชได้หรือไม่ และนานเท่าใด
Purge / invalidateสั่งให้ CDN ทิ้งสำเนาที่แคชไว้ทันที
Cache bustingเปลี่ยนชื่อไฟล์หรือ URL เมื่อไฟล์เปลี่ยน เพื่อให้แคชดึงของใหม่
Latencyความหน่วงที่เกิดจากระยะทางและจำนวนจุดที่ข้อมูลผ่าน

เรื่องการแคชโดยทั่วไป ทั้งในเบราว์เซอร์ เซิร์ฟเวอร์ และฐานข้อมูล ดูได้ที่ การแคชคืออะไร

ความเข้าใจผิดที่พบบ่อย

  • “CDN ทำให้ทุกอย่างเร็วขึ้น” มันเร่งการส่งไฟล์เท่านั้น การ query ฐานข้อมูลที่ช้า หรือการเรียก AI ที่ช้าบนเซิร์ฟเวอร์ของคุณก็ยังช้าอยู่
  • “CDN มาแทนที่โฮสติ้ง” มันอยู่หน้าโฮสติ้งของคุณ คุณยังต้องมี origin
  • “ถ้าอัปเดตเว็บแล้ว ทุกคนจะเห็นทันที” สำเนาเก่าอาจค้างอยู่ใน CDN และในเบราว์เซอร์ได้ชั่วครู่ ให้ hard-refresh เพื่อตรวจสอบ และใช้ชื่อไฟล์แบบ hashed
  • “การแคชปลอดภัยเสมอ” การแคชหน้าที่เป็นส่วนตัวใน cache ที่ใช้ร่วมกันคือความเสี่ยงด้านความเป็นส่วนตัวจริง การตอบสนองส่วนตัวควรถูกทำเครื่องหมายว่าแคชไม่ได้
  • “CDN มีไว้สำหรับบริษัทใหญ่เท่านั้น” โฮสต์จำนวนมากมี CDN ให้กับเว็บไซต์ขนาดเล็กโดยไม่ต้องลงแรงเพิ่ม

สิ่งที่ควรถามตัวสร้างแอปด้วย AI

  • “มี CDN อยู่หน้าเว็บไซต์นี้ไหม แคชไฟล์ใดบ้าง และนานเท่าใด”
  • “ตรวจให้แน่ใจว่า JavaScript, CSS และรูปภาพที่ build แล้วมีชื่อไฟล์แบบ hashed และมีอายุแคชนาน ส่วน HTML มีอายุแคชสั้น”
  • “อย่าแคชหน้าที่ล็อกอินแล้ว หรือ API response ที่มีข้อมูลส่วนตัว ใน cache ที่ใช้ร่วมกัน”
  • “บีบอัดและปรับขนาดรูปภาพ เพื่อให้แกลเลอรีโหลดได้เร็ว”
  • “ฉันเผยแพร่การอัปเดตแล้ว แต่ยังเห็นเวอร์ชันเก่า เป็นเพราะแคชของเบราว์เซอร์หรือของ CDN”

CDN กับ Mythex

เมื่อคุณเผยแพร่บน Mythex ฟรอนต์เอนด์แบบสแตติกจะถูกปล่อยใช้งานเป็นเว็บไซต์สแตติก และเอกสารระบุว่าแคชของ CDN อาจล่าช้าไปชั่วครู่หลังการอัปเดต ถ้าคุณยังเห็นเวอร์ชันเก่าหลังเผยแพร่ใหม่ ให้ hard-refresh URL สาธารณะ ไม่ต้องตั้งค่าอะไรเพิ่มเติม ถ้าคุณเชื่อมโดเมนที่กำหนดเองซึ่ง DNS อยู่บน Cloudflare เอกสารขอให้ตั้งค่าระเบียนเป็น “DNS only” แทนการ proxy เพื่อให้ Mythex ออก HTTPS ได้อย่างถูกต้อง ดู วิธีเผยแพร่ และ โดเมนที่กำหนดเอง ในเอกสาร และดูคู่มือของเรา การโฮสต์เว็บ ประกอบ

คำถาม

CDN คืออะไรแบบง่าย ๆ

CDN (content delivery network) คือเครือข่ายเซิร์ฟเวอร์ที่อยู่ในหลายพื้นที่และเก็บสำเนาไฟล์ของเว็บไซต์ของคุณ ผู้เข้าชมจะได้รับไฟล์จากตำแหน่งที่ใกล้ตัวแทนที่จะมาจากเซิร์ฟเวอร์หลัก ทำให้หน้าโหลดเร็วขึ้นและเซิร์ฟเวอร์ของคุณทำงานน้อยลง

ทำไมหลังอัปเดตเว็บไซต์แล้วยังเห็นเวอร์ชันเก่าอยู่

โดยทั่วไปเป็นเพราะสำเนาของไฟล์เก่ายังถูกแคชอยู่ ไม่ว่าจะใน CDN ในเบราว์เซอร์ หรือทั้งสองที่ การกดรีเฟรชแบบ hard refresh แก้ปัญหาฝั่งเบราว์เซอร์ ส่วนสำเนาใน CDN จะหมดอายุเองหรือล้างได้ เครื่องมือ build ช่วยหลีกเลี่ยงปัญหานี้ส่วนใหญ่ด้วยการตั้งชื่อไฟล์ที่เปลี่ยนแปลงใหม่

เว็บไซต์เล็ก ๆ ต้องใช้ CDN ไหม

หลายครั้งคุณมี CDN อยู่แล้วโดยไม่ได้เลือกไว้ เพราะแพลตฟอร์มโฮสติ้งหลายแห่งวาง CDN ไว้หน้าเว็บไซต์โดยอัตโนมัติ ถ้าของคุณไม่มี และผู้เข้าชมกระจายอยู่หลายประเทศ การเพิ่ม CDN มักคุ้มค่า

CDN แคชข้อมูลของแอปและหน้าที่ต้องล็อกอินได้ไหม

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

Mythex · Pricing · สร้างอะไรก็ได้ด้วย AI · เทมเพลตเว็บไซต์และแอป · เปรียบเทียบ Mythex · อภิธานศัพท์การสร้างแอปด้วย AI · เครื่องมือฟรีสำหรับสร้างแอปด้วย AI · English

English አማርኛ العربية Български বাংলা Bosanski Català Čeština Dansk Deutsch Ελληνικά Español Español (España) Eesti فارسی Suomi Français Français (Canada) ગુજરાતી हिन्दी Hrvatski Magyar Հայերեն Bahasa Indonesia Íslenska Italiano 日本語 ქართული Қазақ тілі ಕನ್ನಡ 한국어 Lietuvių Latviešu Македонски മലയാളം Монгол मराठी Bahasa Melayu မြန်မာ Norsk bokmål Nederlands ਪੰਜਾਬੀ Polski Português (Brasil) Português (Portugal) Română Русский Slovenčina Slovenščina Soomaali Shqip Srpski Svenska Kiswahili தமிழ் తెలుగు Tagalog Türkçe Українська اردو Tiếng Việt 简体中文 繁體中文(香港) 繁體中文(台灣)