در این محتوا با رکورد CNAME و تفاوت آن با رکورد A آشنا خواهید شد. اما در ابتدا لازم است با چند مفهوم دیگر آشنا شوید.
سامانه نام دامنه DNS سرنام Domain Name System را میتوان به عنوان یک دفترچه تلفن بسیار بزرگ برای اینترنت در نظر گرفت. این سیستم نقش حیاتی در ترجمه نام دامنههای قابل فهم برای انسان (مانند http://meftah.com/) به آدرسهای آیپی عددی (شبیه به 172.217.5.206) دارد که برای کامپیوترها قابل درک هستند.
DNS، یک مکانیزم دسترسی سریع به وبسایت
هر بار یک آدرس اینترنتی را در مرورگر خود تایپ میکنید، کامپیوتر شما به یک سرور DNS درخواست ارسال میکند تا آدرس آیپی مربوط به آن دامنه را پیدا کند. سرور DNS با جستوجو در پایگاه داده خود، آدرس آیپی مربوطه را پیدا کرده و به کامپیوتر شما ارسال میکند. کامپیوتر شما با استفاده از این آدرس آیپی به سرور وب سایت مورد نظر متصل شده و محتوای آن را دانلود میکند. به طور کلی، سامانه نام دامنه به چند دلیل مهم برای ما اهمیت دارد. اولین مورد سادگی کاربری است. به جای به خاطر سپردن رشتههای طولانی اعداد (آدرسهای آیپی)، کاربران میتوانند از نامهای دامنه آسانتر استفاده کنند. مورد بعد پایداری است. حتی اگر آدرس آیپی یک وب سایت تغییر کند، با تغییر رکورد DNS میتوان به راحتی آن را به نام دامنه مرتبط کرد. سیستم DNS به صورت سلسله مراتبی سازماندهی شده است که امکان مدیریت و نگهداری آسانتر آن را فراهم میکند. همچنین، سرورهای DNS در سراسر جهان توزیع شدهاند تا اطمینان حاصل شود که درخواستها به سرعت پاسخ داده میشوند. نکته مهمی که باید در ارتباط با سامانه نام دامنه بدانید، مولفههای مختلف این زیرساخت کلیدی است. این مولفهها به شرح زیر است:
- Resolver: نرمافزاری که در دستگاههای کاربران نصب شده و درخواستهای DNS را ارسال و پاسخها را دریافت میکند.
- Name Server: سرورهایی که پایگاه دادههای DNS را نگهداری میکنند و به درخواستهای Resolver پاسخ میدهند.
- Zone: بخشی از پایگاه داده DNS است که اطلاعات مربوط به یک دامنه را نگهداری میکند.
- Record: هر رکورد در DNS اطلاعات خاصی را در مورد یک نام دامنه ذخیره میکند، مانند آدرس IP، سرور ایمیل و …
همچنین، سامانه نام دامنه رکوردهای مختلفی به شرح زیر دارد:
- A Record: متداولترین نوع رکورد که یک نام دامنه را به یک آدرس IP IPv4 متصل میکند.
- AAAA Record: مشابه A Record اما برای آدرسهای IP IPv6.
- CNAME Record: برای ایجاد نام مستعار برای یک نام دامنه دیگر استفاده میشود.
- MX Record: برای مشخص کردن سرورهای ایمیل استفاده میشود.
- NS Record: برای مشخص کردن سرورهای نام یک دامنه استفاده میشود.
- TXT Record: برای ذخیره اطلاعات متنی مانند تأیید دامنه استفاده میشود.
رکورد CNAME: پل ارتباطی بین نامهای دامنه
رکورد CNAME مخفف Canonical Name Record است و به عنوان یک نوع رکورد در سیستم نام دامنه (DNS) شناخته میشود. این رکورد به عنوان یک پل ارتباطی عمل میکند و به شما اجازه میدهد تا چندین نام دامنه را به یک آدرس IP واحد هدایت کنید. به عبارت سادهتر، شما میتوانید برای یک وبسایت، چندین نام دامنه مختلف تعریف کنید که همه آنها به یک آدرس IP مشخص اشاره کنند.
تصور کنید صاحب کسبوکاری هستید و میخواهید برای محصولات یا خدمات مختلف خود نامهای دامنه جداگانهای داشته باشید. به عنوان مثال، ممکن است نام دامنه اصلی را http://meftah.com/ تعیین کرده باشید و بخواهید برای محصولاتتان نامهای دامنهای مختلفی را تعریف کنید. با استفاده از رکورد CNAME، میتوانید همه این نامهای دامنه را به آدرس آیپی اصلی وبسایت متصل کنید. به این ترتیب، کاربران با وارد کردن هر یک از این نامها در مرورگر خود، به همان وبسایت دسترسی پیدا خواهند کرد. با توجه به توضیحاتی که ارائه کردیم، اکنون به خوبی میدانید که این رکورد اهمیت کلیدی داشته و کاربردهای مختلفی دارد. از جمله کاربردهای رکورد CNAME به موارد زیر باید اشاره کرد:
- ایجاد نامهای مستعار: شما میتوانید برای یک وبسایت، نامهای مستعار مختلفی ایجاد کنید. این کار به ویژه زمانی مفید است که میخواهید از نامهای کوتاهتر یا سادهتر برای وبسایت خود استفاده کنید.
- انتقال سادهتر وبسایت: اگر در نظر دارید آدرس آیپی وبسایت خود را تغییر دهید، تنها کافی است رکورد CNAME را بهروزرسانی کنید و نیازی به تغییر تمام لینکها و اشارههای موجود به وبسایت خود ندارید.
- استفاده در سامانه نام دامنه: شبکههای تحویل محتوا (CDN) از رکوردهای CNAME برای هدایت ترافیک به سرورهای نزدیکتر به کاربر استفاده میکنند.
- ایجاد زیرساختهای پیچیده: رکوردهای CNAME میتوانند برای ایجاد زیرساختهای پیچیده سامانه نام دامنه مورد استفاده قرار گیرند.
- ایجاد زیرساختهای چند زبانه: میتوانید از رکوردهای CNAME برای ایجاد زیرساختهای چند زبانه استفاده کنید. به عنوان مثال، میتوانید برای هر زبان یک زیر دامنه ایجاد کرده و با استفاده از رکورد CNAME، ترافیک را به بخش مناسب هدایت کنید.
با توجه به توضیحاتی که ارائه کردیم، باید بگوییم که رکورد CNAME یکسری مزایای کلیدی در اختیار ما قرار میدهد. با استفاده از رکورد CNAME، میتوانید به راحتی چند نام دامنه را به یک آدرس آیپی هدایت کنید. همچنین، رکوردهای CNAME اجازه میدهند تنظیمات سامانه نام دامنه را به راحتی تغییر دهید. در نهایت به این نکته دقت کنید که استفاده از نامهای دامنه مرتبط با موضوع وبسایت میتواند به بهبود سئوی سایت کمک کند.
مولفههای تشکیلدهنده یک رکورد CNAME
یک رکورد CNAME سرنام (Canonical Name Record) از دو بخش اصلی تشکیل شده است که هر کدام نقش مهمی در هدایت ترافیک به آدرس IP صحیح ایفا میکنند. اولین بخش نام میزبان (Host Name) است. این بخش نامی است که میخواهید به عنوان یک آدرس جایگزین برای یک دامنه دیگر استفاده کنید. بخش دوم مقدار داده (Data) است که شامل نام دامنهای است که نام میزبان به آن اشاره میکند.
عملکرد رکورد CNAME به چه صورتی است؟
هنگامی که یک کاربر نام میزبان را در مرورگر خود وارد میکند، DNS درخواست را دریافت کرده و شروع به جستوجوی رکورد CNAME مربوطه میکند. اگر رکورد CNAME پیدا شود، سیستم DNS به جای جستوجوی مستقیم آدرس IP برای نام میزبان، به دنبال آدرس IP برای مقدار داده (نام دامنه اصلی) میگردد. به عبارت دیگر، رکورد CNAME باعث میشود که درخواست به جای نام میزبان به نام دامنه اصلی هدایت شود. برای اینکه عملکرد این مولفه کلیدی را بهتر درک کنیم، به مثال زیر دقت کنید.
فرض کنید شما یک رکورد CNAME با نام میزبان و مقدار داده ایجاد کردهاید. زمانی که کاربری آدرس را در مرورگر خود وارد کند، سیستم DNS ابتدا رکورد CNAME را پیدا کرده و سپس به دنبال آدرس IP میگردد. هنگامی که آدرس IP پیدا شد، مرورگر کاربر به آن آدرس متصل شده و محتوای وبسایت را نمایش میدهد. در ارتباط با رکوردهای CNAME یکسری نکات مهم وجود دارد که باید به آنها دقت کنید. رکوردهای CNAME نمیتوانند در سلسله مراتب به یکدیگر اشاره کنند. به عبارت دیگر، شما نمیتوانید یک رکورد CNAME را به یک رکورد CNAME دیگر اشاره دهید. اگر برای یک نام میزبان هم رکورد CNAME و هم رکورد A تعریف شده باشد، رکورد CNAME اولویت دارد. از رکوردهای CNAME معمولا برای ایجاد نامهای مستعار برای وبسایتها، هدایت ترافیک به زیر دامنهها و استفاده در شبکههای تحویل محتوا (CDN) استفاده میشود.
تفاوت بین رکوردهای CNAME و A Record
اگر بخواهیم به زبان سادهتر بگوییم، رکورد A مثل یک آدرس خانه است که دقیقا به شما میگوید خانه در کجا واقع شده است، در حالی که رکورد CNAME مثل یک نشانی که شما را به یک تابلو راهنما هدایت میکند که خود به شما آدرس دقیق خانه را میدهد. رکوردهای CNAME و A Record هر دو نقش مهمی در سامانه نام دامنه ایفا میکنند و برای مرتبط کردن نام دامنهها با آدرسهای آیپی استفاده میشوند، اما عملکرد و کاربردهای متفاوتی دارند.
رکورد A به صورت مستقیم یک نام دامنه را به یک آدرس آیپی عددی (مانند 192.168.1.1) مرتبط میکند. این رکورد سادهترین نوع رکورد DNS است و برای اکثر وبسایتها استفاده میشود. به عبارت دیگر، رکورد A به سیستم DNS میگوید که برای یافتن یک وبسایت خاص باید به کدام سرور مراجعه کند. از سوی دیگر، رکورد CNAME به جای اینکه یک نام دامنه را مستقیما به یک آدرس آیپی متصل کند، آن را به یک نام دامنه دیگر ارجاع میدهد. این نام دامنه دیگر میتواند خود به یک رکورد A یا حتی یک رکورد CNAME دیگر اشاره کند. در واقع، رکورد CNAME یک نوع میانبر یا نام مستعار برای یک نام دامنه دیگر است. به طور کلی، تفاوتهای کلیدی این دو رکورد به شرح زیر است:
مقصد: رکورد A به یک آدرس آیپی اشاره میکند، در حالی که رکورد CNAME به یک نام دامنه دیگر اشاره میکند.
سلسله مراتب: رکوردهای CNAME میتوانند یک سلسله مراتب ایجاد کنند، به این معنی که یک رکورد CNAME میتواند به رکورد CNAME دیگری اشاره کند. اما رکورد A همیشه به یک آدرس آیپی ختم میشود.
کاربرد: رکورد A برای اتصال مستقیم یک نام دامنه به یک سرور استفاده میشود، در حالی که رکورد CNAME برای ایجاد نامهای مستعار، هدایت ترافیک به زیر دامنهها و سایر کاربردهای پیچیدهتر استفاده میشود.
چه زمانی از هر کدام از رکوردها استفاده میکنیم؟
به طور کلی، از هر یک از رکوردهای زیر در شرایط زیر استفاده میکنیم:
رکورد A: برای اکثر وبسایتها، رکورد A برای اتصال نام دامنه به آدرس IP سرور وب استفاده میشود.
رکورد CNAME: برای ایجاد نامهای مستعار، هدایت ترافیک به زیر دامنهها، استفاده در شبکههای تحویل محتوا (CDN) و ایجاد زیرساختهای پیچیدهتر استفاده میشود.
کلام آخر
رکورد CNAME به چه معنا است؟ همانگونه که اشاره کردیم، رکوردی است که قابلیت اتصال نام دامنهها به یکدیگر را میدهد. به بیان دقیقتر، هنگامی که رکورد CNAME را تنظیم کردید، پیشنهاد میکنیم تغییرات احتمالی در دامنه یا سرور را بررسی کنید تا اطمینان حاصل کنید رکورد به درستی کار میکند. همچنین، برخی مواقع ای احتمال وجود دارد که پس از تنظیم رکورد، به آدرس اینترنتی جدید دسترسی نداشته باشید. راهکار حل این مشکل پاک کردن کش مرورگر است. اگر در ارتباط با رکوردهای سامانه نام دامنه سوالی دارید یا نیاز به راهنمایی بیشتری دارید، پیشنهاد میکنیم در بخش دیدگاهها از طریق پنل پشتیبانی سایت، سوالات خود را برای ما ارسال کنید تا در کوتاهترین زمان به آنها پاسخ دهیم.
نویسنده: حمیدرضا تائبی