مکانیسم تغییر مسیرهای HTTP و نقش سرصفحه Location
تغییر مسیرهای HTTP ابزارهای استانداردی برای هدایت کاربران و موتورهای جستجو از یک آدرس به آدرس دیگر هستند. این فرآیند با ارسال یک کد وضعیت مشخص از سوی سرور آغاز میشود که نشاندهنده نوع تغییر مسیر است. در کنار این کد وضعیت، سرصفحه Location وظیفه دارد آدرس مقصد جدید را مشخص کند.
کدهای وضعیت تغییر مسیر به دو دسته اصلی تقسیم میشوند:
- تغییر مسیرهای دائمی (کدهای وضعیت 301 و 308): این کدهای وضعیت نشان میدهند که آدرس منبع به طور همیشگی به مکان جدیدی منتقل شده است.
- تغییر مسیرهای موقت (کدهای وضعیت 302، 303 و 307): این کدهای وضعیت برای انتقالهای کوتاهمدت استفاده میشوند و نشان میدهند که آدرس اصلی در آینده همچنان معتبر خواهد بود.
ابزار ردیاب تغییر مسیر HTTP با تحلیل متون چسبانده شده، این کدهای وضعیت را شناسایی کرده و نوع هر تغییر مسیر را مشخص میکند.
تحلیل زنجیرههای تغییر مسیر بدون نیاز به درخواستهای شبکه
این ابزار به صورت کاملاً محلی عمل میکند و برای تحلیل زنجیرهها، هیچگونه درخواست شبکهای ارسال نمیکند. این بدان معناست که ابزار از URLها بازدید نمیکند، در دسترس بودن سایتها را آزمایش نمیکند و اصالت سرصفحهها یا رفتار واقعی مرورگر را بررسی نمینماید.
تحلیل ابزار صرفاً بر پایه متنی است که کاربر در بخش ورودی وارد میکند. این ویژگی به شما امکان میدهد زنجیرههای تغییر مسیر را بدون نیاز به برقراری ارتباط با سرورهای مقصد و در محیطی کاملاً ایزوله بررسی کنید.
حل آدرسهای نسبی در مقابل آدرسهای مطلق
یکی از چالشهای رایج در بررسی تغییر مسیرها، استفاده از مقادیر نسبی در سرصفحه Location است. یک آدرس مطلق شامل پروتکل و نام دامنه کامل است (مانند https://example.com/page)، در حالی که یک آدرس نسبی تنها مسیر داخلی را مشخص میکند (مانند /signin).
برای حل آدرسهای نسبی، ابزار قوانین زیر را اعمال میکند:
- نیاز به شروع URL: اگر اولین پاسخ در زنجیره حاوی یک
Locationنسبی باشد، وارد کردن یک آدرس کامل در فیلد "شروع URL (اختیاری)" الزامی است تا ابزار بتواند نقطه شروع را برای حل آدرس نسبی اول به کار ببرد. - حل گامبهگام: در پرشهای بعدی، ابزار از "هدف حل شده" در گام قبلی به عنوان پایه برای حل آدرس نسبی جدید استفاده میکند.
خطاها و مشکلات رایج در مسیرهای انتقال
در طول یک زنجیره تغییر مسیر، ممکن است مشکلات فنی متعددی رخ دهد که این ابزار آنها را شناسایی و گزارش میکند:
- حلقه (Loop): زمانی رخ میدهد که آدرسها به صورت چرخشی به یکدیگر ارجاع داده شوند و زنجیره بیپایانی ایجاد کنند.
- HTTPS تنزل رتبه: این هشدار زمانی فعال میشود که یک تغییر مسیر، کاربر را از یک پروتکل امن (HTTPS) به یک پروتکل ناامن (HTTP) هدایت کند.
- گم شده Location: زمانی که کد وضعیت تغییر مسیر ارسال شده اما سرصفحه
Locationدر پاسخ وجود ندارد. - نامعتبر Location: زمانی که مقدار نوشته شده در سرصفحه
Locationفرمت استانداردی نداشته باشد.
راهنمای استفاده و محدودیتهای فنی ورودی
برای استفاده از ابزار، میتوانید بلوکهای سرصفحه پاسخ HTTP متوالی، یا یک URL شروع به همراه خطوطی مانند 301 /new و 200 را در کادر ورودی وارد کنید.
محدودیتهای پردازش:
- حداکثر تعداد پرشها: ابزار حداکثر تا 50 پرش را در یک زنجیره پردازش میکند.
- حجم ورودی: حداکثر تعداد کاراکترهای مجاز برای متن ورودی 100,000 کاراکتر است.
در صورت وارد کردن دادههای نامعتبر، نتایج قبلی به طور کامل پاک شده و پیامهای خطای زیر بر اساس نوع خطا نمایش داده میشوند:
- اگر ورودی خالی باشد: "ابتدا یک زنجیره تغییر مسیر یا سرصفحه های پاسخ را جایگذاری کنید."
- اگر حجم متن بیش از حد مجاز باشد: "این ورودی خیلی بزرگ است. آن را زیر
‹max›نویسه نگه دارید." - اگر آدرس شروع نامعتبر باشد: "یک HTTP یا HTTPS کامل را با شروع URL وارد کنید."
- اگر هیچ پاسخی یافت نشد: "هیچ پاسخ HTTP در این ورودی یافت نشد."
- اگر تعداد پرشها بیش از حد مجاز باشد: "این ابزار حداکثر تا
‹hops›هاپ در هر ردی را می پذیرد." - اگر خطی از متن ساختار نامشخصی داشته باشد: "خط
‹line›سرصفحه پاسخ یا خط وضعیت و هدف پشتیبانی شده نیست."
حریم خصوصی و پردازش دادهها
تمام فرآیند تحلیل و پردازش متون وارد شده به طور کامل در مرورگر دستگاه شما انجام میشود. هیچ داده، آدرس URL یا سرصفحهای به سرورهای خارجی ارسال نمیشود و ذخیره نمیگردد.
پرسشهای متداول
کدام فرمت های ردیابی را می توانم جایگذاری کنم؟
بلوکهای سرصفحه پاسخ HTTP متوالی را جایگذاری کنید، یا از یک URL شروع و سپس خطوطی مانند 301 /new و 200 استفاده کنید. خطوط منبع-وضعیت-هدف کامل نیز پذیرفته می شود.
مقادیر نسبی Location چگونه حل می شوند؟
مقداری مانند /signin در برابر URL برای آن پرش حل می شود. هنگامی که اولین پاسخ از یک Location نسبی استفاده می کند، URL شروع را اضافه کنید. هاپ های بعدی از هدف حل شده قبلی استفاده می کنند.
آیا این ابزار از URLها بازدید یا تأیید می کند؟
نه. فقط متنی را که شما چسبانده اید تجزیه و تحلیل می کند. این آزمایش نمی کند که آیا یک سایت قابل دسترسی است، آیا سرصفحه ها واقعی هستند یا اینکه آیا یک مرورگر از یک زنجیره پیروی می کند.