موضوع مقاله: عادی‌سازی شناسانه منبع یکسان | مخاطب: عمومی | لحن: دانشنامه‌ای | ساختار: عنوان، مقدمه، 3 بخش، جمع‌بندی | مقاله: | # عادی‌سازی شناسانه منبع یکسان | مقدمه: هدف از فرایند عادی سازی تبدیل یک URI به یک URI نرمال شده‌است، بنابراین می‌توان تعیین کرد که آیا دو URI متفاوت از لحاظ نحوی ممکن است معادل باشند یا خیر. | ## بخش 1: عادی‌سازی شناسانه منبع یکسان | موتورهای جستجو از عادی سازی URI استفاده می‌کنند تا صفحاتی را که ممکن است با URIهای متعدد یافت می‌شوند، به درستی رتبه‌بندی کنند و فهرست شدن صفحات تکراری را کاهش دهند. خزنده‌های وب برای جلوگیری از خزیدن بیش از یک بار در یک منبع، عادی سازی URI را انجام می‌دهند. مرورگرهای وب ممکن است برای تعیین اینکه آیا یک پیوند بازدید شده‌است یا برای تعیین اینکه آیا این صفحه قبلاً ذخیره شده‌است یا خیر، عادی سازی را انجام دهند. سرورهای وب همچنین ممکن است به دلایل زیادی نرمال سازی را انجام دهند (برای اینکه بتوانند به راحتی خطرات امنیتی ناشی از درخواست‌های مشتری را رهگیری کنند، برای هر منبع ذخیره شده در حافظه پنهان آن‌ها، نامگذاری شده در گزارش، فقط از یک نام فایل مطلق استفاده کنند. طرح و اجزای میزبان URI به حروف بزرگ و کوچک حساس هستند و بنابراین باید به حروف کوچک عادی شوند. مثال: → عادی سازی‌هایی که معناشناسی را تغییر می‌دهد برای URIهای http و https، نرمال سازی‌های زیر که در RFC 3986 فهرست شده‌اند ممکن است منجر به URIهای معادل شوند، اما استانداردها تضمین نمی‌کنند: افزودن یک "/" انتهایی به یک مسیر غیر خالی. دایرکتوری‌ها (پوشه‌ها) با اسلش انتهایی نشان داده می‌شوند و باید در URIها گنجانده شوند. مثال: → با این حال، هیچ راهی برای دانستن اینکه آیا یک جزء مسیر URI یک دایرکتوری را نشان می‌دهد یا خیر وجود ندارد. | ## بخش 2: عادی‌سازی شناسانه منبع یکسان | عادی سازی‌هایی که معناشناسی را تغییر می‌دهد اعمال نرمال‌سازی‌های زیر منجر به یک URI از نظر معنایی متفاوت می‌شود، اگرچه ممکن است به یک منبع اشاره کند: حذف فهرست فهرست ایندکس‌های دایرکتوری پیش فرض معمولاً در URIها مورد نیاز نیستند. مثال‌ها: → → در حال برداشتن قطعه جزء قطعه یک URI هرگز توسط سرور دیده نمی‌شود و گاهی اوقات می‌توان آن را حذف کرد. مثال: → با این حال، برنامه‌های AJAX اغلب از مقدار موجود در قطعه استفاده می‌کنند. جایگزینی IP با نام دامنه بررسی کنید که آیا آدرس IP با نام دامنه مطابقت دارد یا خیر. پروتکل‌های محدود کننده محدود کردن پروتکل‌های لایه کاربردی مختلف به عنوان مثال، طرح "https" را می‌توان با "http" جایگزین کرد. مثال: → حذف اسلش‌های تکراری مسیرهایی که شامل دو اسلش مجاور هستند می‌توانند به یک تبدیل شوند. برخی از وب‌سایت‌ها در دو حوزه اینترنتی به‌طور یکسان عمل می‌کنند: یکی که کمترین برچسب آن «www» است و دیگری که نام آن در نتیجه حذف کمترین برچسب از نام دامنهٔ اول است، که دومی به عنوان یک دامنه برهنه شناخته می‌شود. یک نرمال ساز ممکن است تعیین کند که آیا یکی از این URIها به دیگری هدایت می‌شود و همه URIها را به‌طور مناسب عادی می‌کند. | ## بخش 3: عادی‌سازی شناسانه منبع یکسان | مثال: → مرتب‌سازی پارامترهای پرس و جو برخی از صفحات وب از بیش از یک پارامتر پرس و جو در URI استفاده می‌کنند. یک نرمال ساز می‌تواند پارامترها را به ترتیب حروف الفبا (با مقادیر آنها) مرتب کند و URI را دوباره جمع کند. مثال: → با این حال، ترتیب پارامترها در یک URI ممکن است قابل توجه باشد (این توسط استاندارد تعریف نشده‌است) و یک وب سرور ممکن است به یک متغیر اجازه دهد چندین بار ظاهر شود. حذف متغیرهای پرس و جو استفاده نشده یک صفحه ممکن است فقط انتظار داشته باشد که پارامترهای خاصی در پرس و جو ظاهر شوند. مثال: → توجه داشته باشید که یک پارامتر بدون مقدار لزوماً یک پارامتر استفاده نشده نیست. حذف پارامترهای پرس و جو پیش فرض یک مقدار پیش‌فرض در رشته پرس و جو ممکن است به صورت یکسان ارائه شود، خواه وجود داشته باشد یا نباشد. مثال: → حذف "?" وقتی پرس و جو خالی است وقتی پرس و جو خالی است، ممکن است نیازی به "?" نباشد. مثال: → عادی سازی بر اساس لیست‌های URI برخی از قوانین عادی سازی ممکن است برای وب سایت‌های خاص با بررسی لیست‌های URI به دست آمده از خزیدن‌های قبلی یا گزارش‌های وب سرور ایجاد شوند. | ## جمع‌بندی | به عنوان مثال، اگر URI چندین بار در یک گزارش به صورت‌های مختلف از جمله شکل زیر ظاهر شود ممکن است فرض کنیم که دو URI معادل هستند و می‌توانند به یکی از اشکال URI عادی سازی شوند.