ชื่อ Canonical คืออะไร?

ชื่อบัญญัติเป็นคำที่ใช้ในระบบเครือข่ายคอมพิวเตอร์เพื่อระบุชื่อจริงของคอมพิวเตอร์ภายในระบบการตั้งชื่ออินเทอร์เน็ต มันถูกใช้บ่อยที่สุดในการอ้างอิงถึงบันทึกทรัพยากรในระบบชื่อโดเมน (DNS) ซึ่งมีหน้าที่ในการแปลที่อยู่ Internet Protocol (IP) ที่คลุมเครือลงในชื่อที่เป็นที่รู้จักมากขึ้น ในกรณีนี้ระเบียนทรัพยากรใน DNS ชื่อ CNAME และอนุญาตให้ใช้ชื่ออื่นหรือนามแฝงชี้ไปที่ชื่อจริงของคอมพิวเตอร์

เมื่อคอมพิวเตอร์กำลังค้นหาเว็บไซต์ตัวอย่างเช่นมันจะตรวจสอบชื่อที่พิมพ์ลงในเว็บเบราว์เซอร์กับเซิร์ฟเวอร์พิเศษที่โฮสต์ระเบียน DNS หากชื่อที่ถูกค้นหาในระเบียน DNS ถูกระบุในระเบียน CNAME ชื่อนั้นจะได้รับชื่อมาตรฐานและทำการค้นหาครั้งที่สองกับชื่อมาตรฐานเพื่อแก้ไขที่อยู่ IP ของโฮสต์คอมพิวเตอร์ ตัวอย่างที่พบบ่อยคือเมื่อคอมพิวเตอร์เครื่องเดียวโฮสต์บริการหลายบริการเช่นเว็บไซต์และบริการโปรโตคอลการถ่ายโอนไฟล์ (FTP) สำหรับการถ่ายโอนข้อมูล

ในเว็บเบราว์เซอร์ผู้ใช้สามารถพิมพ์ใน www.example.com ในระหว่างการค้นหา DNS จะพบชื่อมาตรฐานในระเบียน CNAME ที่ชี้ไปยังเซิร์ฟเวอร์ชื่อ foo.example.com ผู้ใช้รายอื่นอาจใช้ไคลเอ็นต์ FTP และพิมพ์ที่อยู่ของเซิร์ฟเวอร์ FTP ที่ ftp.example.com การค้นหา DNS พบรายการ CNAME อื่นที่ชี้ไปยัง foo.example.com ซึ่งเป็นเครื่องโฮสต์เดียวกับที่ใช้กับเว็บไซต์ ในกรณีนี้ทั้งสองชื่อที่แตกต่างกันได้รับการ DNS ซึ่งนำไปสู่ชื่อที่ยอมรับของเซิร์ฟเวอร์

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

อย่างไรก็ตามเนื่องจากลักษณะที่ละเอียดอ่อนของ DNS จึงมีอันตรายหลายประการที่จะนำชื่อมาตรฐานไปใช้กับระเบียน CNAME และมีข้อ จำกัด ในการใช้งาน สิ่งที่อันตรายที่สุดคือความเป็นไปได้ในการสร้างวงวนไม่สิ้นสุดระหว่างการค้นหาชื่อและไม่มีระเบียน CNAME ที่ควรชี้ไปที่ระเบียน CNAME อื่น ตัวอย่างเช่นหากมีการใช้ระเบียน CNAME สองรายการโดยที่ www.example.com ชี้ไปที่ชื่อ canonical foo.example.com แล้ว foo.example.com ชี้กลับไปที่ www.example.com การค้นหาจะตรวจสอบชื่อหนึ่งอย่างไม่สิ้นสุด กับคนอื่น ๆ