ساختار آدرس اینترنتی (URL)
آدرس اینترنتی یک رشته حرف نیست، پنج تکه با کارهای متفاوت است: پروتکل، دامنه، مسیر، پرسمان و لنگر. تکه ای که موقع تشخیص لینک جعلی باید نگاهش کنید فقط دامنه است و بقیه تکه ها هر چیزی می توانند باشند.
- درس ۵ از ۱۲
- مقدماتی
- رایگان، بدون ثبت نام
پنج تکه یک آدرس، به ترتیبی که نوشته می شوند
-
۱
پروتکل
https پیش از دو نقطه؛ می گوید ارتباط رمزگذاری شده است، نه اینکه سایت درستکار است
-
۲
دامنه
تنها تکه ای که صاحب آدرس را تعیین می کند، و تنها تکه ای که جعل نمی شود
-
۳
مسیر
کدام صفحه از آن سایت؛ صاحب سایت هر چه بخواهد اینجا می نویسد
-
۴
پرسمان
بعد از علامت سوال؛ گاهی توکن و کلید هم همین جا حمل می شود
-
۵
لنگر
بعد از هشتگ؛ اصلا به سرور فرستاده نمی شود و کار مرورگر است
ترتیب نوشتن با ترتیب خواندن یکی نیست. برای تشخیص صاحب آدرس، حلقه دوم را از آخر بخوانید و بقیه حلقه ها را نادیده بگیرید.
آخرین بررسی: فکت ها و نام ابزارهای این درس در همین تاریخ با منابعشان بازبینی شده اند.
یک آدرس اینترنتی از چه تکه هایی ساخته شده؟
URL نشانی یک منبع مشخص روی وب است و ساختارش را RFC 3986 تعریف کرده. پنج تکه دارد که هر کدام کار جدا می کنند: پروتکل پیش از دو نقطه، دامنه بعد از دو اسلش، مسیر بعد از اسلش سوم، پرسمان بعد از علامت سوال و لنگر بعد از هشتگ.
روی همین صفحه ای که می خوانید: https پروتکل است، rgb.ir دامنه، و /learn/network/url-anatomy/ مسیر. پرسمان و لنگر اینجا خالی اند، چون این صفحه نه پارامتری لازم دارد و نه جایی برای پریدن.
ترتیب خواندن این تکه ها همان چیزی است که بیشتر آدم ها اشتباه یاد گرفته اند. چشم از چپ می خواند و اولین چیزی که می بیند پروتکل و بعد اولین کلمه دامنه است؛ ولی چیزی که تعیین می کند آدرس مال چه کسی است، انتهای دامنه است نه ابتدایش. بخش بعد دقیقا همین است.
تکه ای هم هست که در ظاهر پیدا نیست: بین دامنه و مسیر می شود شماره درگاه گذاشت، و اگر نگذارید مقدار پیش فرض پروتکل استفاده می شود. برای کاربر عادی این تکه هیچ وقت لازم نمی شود و همین که بدانید وجود دارد کافی است.

چرا خواندن آدرس یک مهارت امنیتی است؟
چون تنها تکه ای که نمی شود جعلش کرد دامنه است و بقیه آدرس را هر کسی هر چه بخواهد می نویسد. مسیر می تواند نام بانک شما باشد، پرسمان می تواند کلمه امن داشته باشد، و هیچ کدام معنایی ندارند. صاحب آدرس، فقط و فقط از روی دامنه معلوم می شود.
و دامنه را باید از آخر خواند. آخرین تکه پسوند است، تکه قبل از آن نام ثبت شده، و هر چه سمت چپ تر بیاید زیردامنه است که صاحب همان نام هر تعدادش را که بخواهد می سازد. پس در rgb.ir.example-site.xyz صاحب آدرس example-site.xyz است و rgb.ir فقط یک زیردامنه است که هر کسی می توانست بسازد. الگوی «پر کردن ابتدای آدرس با یک نام آشنا» دقیقا روی همین شرط بندی می کند که چشم شما از چپ می خواند و زود قانع می شود.
دو چیز دیگر هم هست که کمتر گفته می شود. اول اینکه RFC 3986 اجازه می دهد قبل از دامنه و پیش از علامت @ چیزی نوشته شود، و مرورگر به آنچه بعد از @ آمده می رود نه به آنچه قبلش نوشته شده. دوم اینکه حروف را می شود به شکل درصدی نوشت، مثل %2F به جای اسلش، و آدرسی که پر از این کدهاست ممکن است چیزی را پنهان کند. در هر دو حالت قاعده یکسان است: تکه آخر دامنه، پیش از اولین اسلش، را پیدا کنید و بقیه را نادیده بگیرید.
یک تصور غلط را هم اینجا تمام کنیم: قفل کنار آدرس فقط می گوید ارتباط رمزگذاری شده است، نه اینکه سایت درستکار است. یک سایت جعلی هم می تواند گواهی معتبر بگیرد و می گیرد. تفاوت رمزگذاری با اعتماد را مقاله گواهی SSL چیست باز کرده است.
قبل از کلیک، یک سوال
تکه آخر دامنه، درست پیش از اولین اسلش، کدام است؟
باز نکنید
- نام آشنایی که ابتدای آدرس آمده فقط یک زیردامنه است.
- اگر پیش از دامنه علامت @ هست، مرورگر به آنچه بعد از @ آمده می رود.
- به جای کلیک، خودتان نام سایت را در مرورگر تایپ کنید.
می توانید باز کنید
- مسیر و پرسمان هر چه باشند، صاحب آدرس عوض نمی شود.
- باز کردن و وارد کردن رمز دو کار جدا هستند؛ دومی هنوز احتیاط می خواهد.
- قفل کنار آدرس فقط رمزگذاری را تایید می کند و درستکاری سایت را نه.
این بررسی فقط لینک های جعلی آشکار را می گیرد. دامنه درست هم می تواند هک شده باشد، و نام های شبیه به هم با حروف مشابه از چشم رد می شوند.
بعد از علامت سوال چه خبر است؟
هر چیزی که صفحه برای ساختن جواب لازم دارد. پرسمان مجموعه ای از جفت های نام و مقدار است که با علامت & از هم جدا می شوند: شماره صفحه، عبارت جستجو، فیلتر رنگ، شناسه کمپین. برای همین است که دو آدرس با مسیر یکسان و پرسمان متفاوت، دو صفحه متفاوت اند.
و درست به همین دلیل، پرسمان روی چیزی اثر می گذارد که کمتر کسی انتظارش را دارد: کش. روی همین سایت، وقتی صفحه اصلی را بدون پرسمان می گیرید هدر x-fp-cache: HIT-nginx برمی گردد، یعنی nginx فایل آماده را داده و PHP اصلا اجرا نشده. کافی است ?cb= با یک عدد تصادفی به همان آدرس اضافه کنید تا آن هدر اصلا نیاید. با ?utm_source= هم همین اتفاق افتاد. یعنی یک برچسب کمپین در انتهای لینک، از دید لایه کش یک صفحه دیگر است.
اینجا صادق باشیم: در اندازه گیری ما این تفاوت در زمان پاسخ دیده نشد و هر دو حالت حدود پنجاه و پنج صدم ثانیه بودند، چون بیشتر آن عدد مال شبکه است نه سرور. هزینه جای دیگری است. اگر لینک های تبلیغاتی شما همه برچسب دارند، هر کلیک به جای فایل آماده، سراغ PHP می رود؛ روی یک سایت پربازدید همین تفاوت روی بار سرور دیده می شود، نه روی ساعت یک بازدیدکننده.
یک هشدار هم که به همه مربوط است: پرسمان جایی است که گاهی توکن می نشیند. لینک بازنشانی رمز و لینک های امضاشده، کلیدشان را همان جا حمل می کنند. پس فرستادن یک آدرس کامل برای کسی، بی آنکه نگاهش کنید، می تواند دادن یک کلید کارآمد باشد.
داخل پرسمان چه چیزی بگذارید و چه چیزی نه
جایش همین جاست
- شماره صفحه، ترتیب و فیلتر، که صفحه بدون آنها ساخته نمی شود.
- عبارت جستجوی داخل سایت.
- برچسب کمپین، با این آگاهی که همان برچسب صفحه را از کش بیرون می برد.
اینجا نگذارید
- رمز عبور یا هر چیزی که خودش کلید ورود است.
- داده شخصی کاربر، که با هر بازارسال لینک جابه جا می شود.
- اطلاعاتی که برای مسیریابی لازم است و باید در خود مسیر بیاید.
ستون چپ درباره چیزی است که خودتان می سازید. لینکی که دیگری برایتان می فرستد ممکن است هر کدام از این ها را داشته باشد و شما کنترلی رویش ندارید.
هشتگ آخر آدرس چه فرقی با بقیه دارد؟
در اینکه اصلا برای سرور فرستاده نمی شود. هر چه بعد از # بیاید کار مرورگر است و RFC 3986 هم همین را می گوید: لنگر را فقط خود مرورگر تفسیر می کند. کار معمولش هم پریدن به یک تیتر داخل همان صفحه است.
یک نتیجه عملی از این می گیرید که به کار روزمره می آید: عوض شدن لنگر یعنی صفحه دوباره بارگذاری نمی شود. برای همین است که در فهرست مطالب یک مقاله، کلیک روی هر عنوان بی درنگ به همان بخش می برد.
و یک نتیجه دیگر که موقع اشکال یابی به درد می خورد: چون این تکه به سرور نمی رسد، در لاگ سرور هم دیده نمی شود. اگر دنبال این هستید که کاربران بیشتر کدام بخش صفحه را باز می کنند، لاگ جواب نمی دهد.
آدرس تمیز یعنی چه و چرا برای سئو مهم است؟
آدرسی که خواننده بدون باز کردن صفحه بفهمد چه چیزی آن طرف است. کوتاه، با کلمه های واقعی، بدون پارامتر اضافه و بدون تاریخ. سود اصلی اش هم نه قاعده ای در موتور جستجو، که همان قابل فهم بودن است: آدرس خوانا در نتیجه جستجو، در پیام رسان و در لینکی که یک نفر دستی می فرستد بهتر کلیک می خورد.
قاعده ای که ما روی همین سایت رعایت می کنیم و ارزش گفتن دارد این است: عنوان صفحه فارسی است، اسلاگش انگلیسی. اگر وردپرس را به حال خودش بگذارید، آدرس یک نوشته فارسی به شکل درصدی کدگذاری می شود و همان لینک وقتی جایی کپی می شود به یک رشته طولانی و بی معنی تبدیل می شود. زبان های دیگر سایت هم به جای پارامتر، پیشوند مسیر دارند، مثل /en/؛ همین یک تصمیم است که به هر زبان یک آدرس مستقل و یک کنونیکال جدا می دهد.
و مهم ترین چیزی که درباره آدرس باید بدانید ربطی به تمیزی اش ندارد: آدرس، هویت صفحه نزد موتور جستجوست. عوض کردنش یعنی صفحه ای که سال ها اعتبار جمع کرده جای خودش را از دست می دهد، مگر اینکه همان لحظه ریدایرکت دائم بگذارید. پس آدرس زشتی که رتبه دارد را زیبا نکنید؛ آدرس زشت را در صفحه بعدی درست بنویسید.
اگر می خواهید همین موضوع را از سمت سئو دنبال کنید، درس سئو داخلی جای آدرس را کنار عنوان و تیترها می گذارد و مقاله سئو تکنیکال لایه فنی اش را باز می کند.
مسیر سریع با هوش مصنوعی
تشریح یک آدرس طولانی کاری است که با چشم چند دقیقه طول می کشد و یک اشتباه کوچک در آن، کل نتیجه را عوض می کند. با مدل چند ثانیه است، به شرطی که کار درست را از او بخواهید: تجزیه، نه قضاوت.
- آدرس را کامل کپی کنید، نه عکس صفحه. تکه ای که جا بیفتد، معمولا دقیقا همان تکه ای است که اهمیت داشت.
- اگر آدرس از یک پیام مشکوک آمده، آن را داخل بک تیک یا گیومه بگذارید تا هیچ جا به لینک قابل کلیک تبدیل نشود. کلاس مدل سریع و ارزان برای این کار کافی است؛ کار، تجزیه متن است.
- جدول تکه ها را بخواهید و مهم تر از همه، دامنه ثبت شده را جدا بخواهید. همین یک خط، همان چیزی است که با چشم اشتباه خوانده می شود.
- حکم امن یا ناامن را از مدل نخواهید. مدل لینک را باز نمی کند و نمی تواند بداند آن طرفش چیست؛ اگر بپرسید، حدس می زند و با اطمینان می گوید.
نسخه آماده کپی
متن زیر یک آدرس اینترنتی است. آن را فقط تجزیه کن و باز نکن.
{آدرس را اینجا بچسبانید}
یک جدول با این ردیف ها بده:
پروتکل | دامنه کامل | دامنه ثبت شده (فقط نام و پسوند) | زیردامنه ها | مسیر | پارامترهای پرسمان، هر کدام در یک سطر | لنگر
بعد این سه سطر را جدا بنویس:
۱. اگر پیش از دامنه علامت @ هست، بگو مرورگر واقعا به کدام دامنه می رود.
۲. کدام پارامترها فقط برچسب ردیابی اند و آدرس بدون آنها همان صفحه را باز می کند.
۳. آیا پارامتری هست که شبیه توکن یا کلید باشد. اگر هست فقط نامش را بنویس و مقدارش را تکرار نکن.
آخرش نسخه تمیزشده آدرس را بدون برچسب های ردیابی بده.
قاعده: درباره امن بودن یا نبودن این آدرس هیچ نظری نده. اگر بخشی از آدرس به شکل درصدی کدگذاری شده، شکل خوانا شده اش را هم بنویس.
قبل از اعتماد به خروجی: خروجی این کار می گوید آدرس مال کیست و از چه ساخته شده؛ نمی گوید آن سایت با شما چه می کند. یک دامنه کاملا درست هم می تواند هک شده باشد، و نام های شبیه به هم که با حروف مشابه ساخته می شوند از این تجزیه هم رد می شوند چون از نظر متنی دامنه های سالمی هستند. پس این را برای فهمیدن به کار ببرید و نه برای اجازه گرفتن؛ رمز و کد تایید را همچنان فقط در سایتی وارد کنید که خودتان آدرسش را تایپ کرده اید.
هوش مصنوعی در این کار
آدرس یک رشته متن است و مدل زبانی در تجزیه رشته خوب است: تکه ها را جدا می کند، کدهای درصدی را خوانا می کند و می گوید کدام پارامتر فقط برچسب ردیابی است. اما یک کار هست که اصلا نباید به او سپرد و بیشترین تقاضا را هم دارد: اینکه بگوید این لینک امن است یا نه. مدل لینک را باز نمی کند و پشتش را نمی بیند. موضع ما همین است: مدل برای خواندن آدرس، و برای تصمیم درباره باز کردنش قاعده ای که در همین صفحه آمد، یعنی نگاه کردن به دامنه ثبت شده.
ابزارهایی که واقعا کمک می کنند
- Claude برای تجزیه آدرس های بلند و شلوغ خوب کار می کند، مخصوصا وقتی ده ها پارامتر پشت سر هم آمده اند و چشم دیگر جدایشان نمی کند. ایران در فهرست کشورهای پشتیبانی شده انتروپیک نیست، پس ثبت نام و پرداخت رسمی وجود ندارد.
- Gemini برای توضیح فارسی اینکه هر پارامتر چه کار می کند خوب است. صفحه خود گوگل می نویسد اپ جمنای در بیش از دویست و سی کشور و منطقه کار می کند و ایران در آن فهرست نیست.
کجا نتیجه معکوس می دهد
خطر اصلی همان چیزی است که خیلی ها بی توجه انجامش می دهند: چسباندن یک آدرس کامل داخل چت. آدرس بازنشانی رمز، لینک دعوت یکبار مصرف و لینک های امضاشده، کلیدشان را در پرسمان حمل می کنند و کپی کردن کل آدرس یعنی دادن همان کلید به یک شرکت دیگر. راهنمای خود گوگل برای جمنای صریحا می گوید اطلاعات محرمانه را وارد نکنید. قاعده ما ساده است: قبل از چسباندن، مقدار هر پارامتری را که شبیه توکن است پاک کنید و فقط نامش را بگذارید. خطر دوم، همان حکم مطمئن بی پشتوانه است: مدل نمی تواند لینک را باز کند، ولی اگر بپرسید امن است یا نه با همان لحن جواب می دهد و جواب فقط یک حدس از روی ظاهر متن است. خود انتروپیک این ساختن با اطمینان را در مستنداتش توهم می نامد و راه های کم کردنش را می نویسد. برای اینکه ببینید پرداخت هر کدام از این ابزارها از ایران چه شکلی دارد، راهنمای خرید را ببینید.
منبع ها: Anthropic: reduce hallucinations Anthropic: supported countries Google: Gemini Apps privacy and data Google: where Gemini Apps are available
حد این توصیه
خواندن درست آدرس، لینک های جعلی آشکار را می گیرد و نه بیشتر. دامنه ای که کاملا درست است هم می تواند هک شده باشد و لینک بدافزار بدهد، و نام هایی که با حروف شبیه به هم ساخته می شوند از چشم رد می شوند حتی وقتی حواستان جمع است. هدر کش هم که در بخش سوم آوردیم مال پیکربندی همین سایت است: سایت دیگری ممکن است برچسب های ردیابی را نادیده بگیرد و از کش جواب بدهد، پس قبل از تعمیم دادن، هدرهای سایت خودتان را ببینید.
از تجربه خود ما
اینکه یک پرسمان صفحه را از کش بیرون می برد، چیزی است که همان روز روی همین سایت اندازه گرفتیم و نتیجه اش از آنچه انتظار داشتیم تمیزتر بود. صفحه اصلی بدون پرسمان هدر x-fp-cache: HIT-nginx برمی گرداند و همان صفحه با ?cb= این هدر را اصلا ندارد؛ با ?utm_source= هم دقیقا همین شد، یعنی برچسب کمپین هم استثنا نمی شود. بخش صادقانه ماجرا این است که در زمان پاسخ چیزی دیده نشد: هر دو حالت حدود پنجاه و پنج صدم ثانیه بودند، چون آنچه اندازه گرفتیم بیشتر مسیر شبکه بود تا کار سرور. برای همین هم روش تست خودمان همین است: وقتی می خواهیم صفحه ای را واقعا از PHP ببینیم و نه از فایل کش، یک ?cb= تصادفی به آدرس اضافه می کنیم. همین ترفند کوچک، یک روز کامل اشکال یابی را نجات می دهد.
سوال هایی که واقعا پرسیده می شوند
فرق URL و دامنه چیست؟
دامنه فقط نام سایت است و URL نشانی کامل یک صفحه مشخص داخل آن سایت. یک دامنه می تواند هزاران URL داشته باشد، ولی هر URL فقط یک دامنه دارد. اگر می خواهید بدانید نامی چطور ثبت و نگهداری می شود، مقاله دامنه چیست همان لایه را باز کرده.
آدرس فارسی برای صفحه بگذارم یا انگلیسی؟
انگلیسی، به یک دلیل عملی: آدرس فارسی وقتی کپی یا اشتراک گذاشته می شود به شکل درصدی کدگذاری می شود و به یک رشته طولانی و غیرقابل خواندن تبدیل می شود. مرورگرها معمولا شکل خوانا را نشان می دهند، ولی چیزی که در پیام رسان یا سند شما می نشیند همان رشته کدگذاری شده است. خود ما روی این سایت عنوان را فارسی و اسلاگ را انگلیسی می نویسیم.
حذف کردن پارامترهای ردیابی از یک لینک اشکالی دارد؟
برای شما نه، صفحه همان صفحه باز می شود. تنها چیزی که از دست می رود آماری است که صاحب سایت درباره منبع بازدید جمع می کند. اگر خودتان کمپین دارید، همان پارامترها را نگه دارید؛ اگر فقط لینک را برای کسی می فرستید، حذفشان لینک را کوتاه تر و خواناتر می کند.