อธิบายเรื่อง DNS: เบราว์เซอร์ของคุณถอดรหัสที่อยู่เว็บไซต์ได้อย่างไร
คุณพิมพ์ www.google.com แล้วกด Enter หน้าเว็บก็โหลดขึ้นมาทันที
เบราว์เซอร์ของคุณไม่รู้ว่า Google ตั้งอยู่ที่ไหน มันจึงต้องเอ่ยปากถาม กระบวนการค้นหาข้อมูลที่รวดเร็วเกิดขึ้นภายในเวลาเพียงเสี้ยววินาที ระบบนี้เรียกว่า Domain Name System (DNS)
ให้ลองนึกว่า DNS คือสมุดโทรศัพท์ของอินเทอร์เน็ต มันจะแปลงชื่ออย่าง www.google.com ให้เป็นหมายเลข IP เช่น 142.250.80.46 หากไม่มีระบบนี้ คุณคงต้องจดจำตัวเลขสำหรับทุกเว็บไซต์ที่ต้องการเข้าถึง
กระบวนการค้นหาทำงานอย่างไร:
โครงสร้างโดเมน:
- Subdomain: ส่วนหนึ่งของเว็บไซต์ (เช่น www)
- Second-Level Domain: ชื่อแบรนด์ (เช่น google)
- Top-Level Domain (TLD): หมวดหมู่หรือประเทศ (เช่น .com)
ก่อนที่จะค้นหาบนเว็บ คอมพิวเตอร์ของคุณจะตรวจสอบจากสองแหล่ง:
- Browser cache: หากคุณเพิ่งเข้าชมเว็บไซต์นั้นเมื่อไม่นานมานี้ หมายเลข IP จะถูกจัดเก็บไว้แล้ว
- Hosts file: ไฟล์ในเครื่องคอมพิวเตอร์ของคุณที่ใช้สำหรับการจับคู่ที่อยู่ด้วยตนเอง
หากการตรวจสอบข้างต้นไม่พบข้อมูล Recursive Resolver จะเข้ามาทำหน้าที่แทน ซึ่งโดยปกติแล้วจะให้บริการโดย ISP ของคุณ คุณสามารถเลือกใช้ตัวเลือกที่เร็วกว่าได้ เช่น Google (8.8.8.8) หรือ Cloudflare (1.1.1.1)
Resolver จะทำงานตามลำดับขั้นดังนี้:
- Root Server: ส่ง Resolver ไปยัง TLD server ที่ถูกต้อง
- TLD Server: ส่ง Resolver ไปยัง Authoritative Name Server ที่ระบุ
- Authoritative Name Server: เป็นผู้ถือหมายเลข IP จริงและส่งข้อมูลกลับมา
จากนั้น Resolver จะบันทึกคำตอบนี้ไว้ในช่วงเวลาหนึ่ง ซึ่งเรียกว่า TTL (Time To Live) ค่า TTL สูงหมายถึงการดึงข้อมูลซ้ำได้เร็วขึ้น ส่วนค่า TTL ต่ำจะมีประโยชน์เมื่อคุณมีการเปลี่ยนเซิร์ฟเวอร์อย่างรวดเร็ว
ประเภทของ DNS record ที่พบบ่อย:
- A: จับคู่โดเมนกับหมายเลข IPv4
- AAAA: จับคู่โดเมนกับหมายเลข IPv6
- CNAME: สร้างชื่อนามแฝง (alias) ไปยังโดเมนอื่น
- MX: กำหนดเส้นทางอีเมลไปยังเซิร์ฟเวอร์ที่ถูกต้อง
- TXT: เก็บข้อความสำหรับการยืนยันตัวตนหรือความปลอดภัย
โดยปกติแล้วการสอบถาม DNS (DNS queries) จะเป็นข้อความธรรมดา (plain text) ซึ่งหมายความว่า ISP ของคุณสามารถมองเห็นข้อมูลเหล่านี้ได้ คุณสามารถใช้ DNS over HTTPS (DoH) หรือ DNS over TLS (DoT) เพื่อเข้ารหัสข้อมูลนี้เพื่อความเป็นส่วนตัวที่ดียิ่งขึ้น
DNS คือรากฐานที่มองไม่เห็นของเว็บ การทำความเข้าใจเรื่องนี้จะช่วยให้คุณสามารถแก้ไขปัญหาความล่าช้าในการ deploy และการย้ายเซิร์ฟเวอร์ (server migration) ได้
ที่มา: https://dev.to/jinkrish/dns-explained-how-your-browser-decodes-website-addresses-2bcm
