tigtools

محلل URL

الصق URL لعرض أجزائه وجدول مفكوك الترميز لمعاملات الاستعلام. عدّل المعاملات وانسخ URL المعاد تركيبه.

تعمل في متصفحك لا يلزم التسجيل

كيفية الاستخدام

  1. ألصق عنوان URL كاملًا، بما في ذلك https:// أو أي مخطط آخر.
  2. اطّلع على جدول المكوّنات. استخدم أزرار النسخ لنسخ جزء واحد، مثل اسم المضيف أو المسار.
  3. تحقّق من مَعلمات الاستعلام: تُعرض القيم بعد فك ترميزها وبترتيبها الأصلي، مع الاحتفاظ بالأسماء المكررة.
  4. غيّر المَعلمات أو أضفها أو احذفها، ثم انسخ عنوان URL المُعاد إنشاؤه.

كيف تعمل الأداة

تستخدم الأداة محلّل URL المضمّن في متصفحك (معيار WHATWG URL)، لذا تطابق النتيجة ما تفعله المتصفحات عند فتح رابط. كما توحّد تنسيق عنوان URL بالطريقة نفسها: تحوّل المخطط واسم المضيف إلى أحرف صغيرة، وتحذف المنافذ الافتراضية مثل 443 في https، وتعالج المسارات مثل /a/../b.

تتضمن الأجزاء المعروضة البروتوكول (المخطط)، واسم المستخدم وكلمة المرور إذا احتوى عنوان URL على بيانات اعتماد، والمضيف مع المنفذ، واسم المضيف وحده، والمنفذ، والمسار، وسلسلة الاستعلام التي تبدأ بـ ?، والجزء الذي يبدأ بـ #، والأصل (المخطط والمضيف والمنفذ)، الذي تستخدمه المتصفحات لفحوصات الأمان الخاصة بالأصل نفسه. تُخفى كلمة المرور إلى أن تنقر زر العين.

تُقرأ مَعلمات الاستعلام باستخدام URLSearchParams. ويُفك ترميز القيم المرمّزة بالنسبة المئوية، وتُقرأ + كمسافة، كما في عمليات إرسال نماذج HTML. وتُعرض المَعلمات المتكررة، مثل size=42&size=43، كلٌّ على حدة وبترتيبها، لأن كثيرًا من الخوادم تقرؤها كقائمة.

عند تعديل المَعلمات، يُعاد إنشاء سلسلة الاستعلام باستخدام URLSearchParams أيضًا. وقد يؤدي ذلك إلى تغيير طريقة كتابة أجزاء لم تعدّلها: إذ تُمثّل المسافة بعلامة +، وقد تُرمّز أحرف مثل ' أو ~ بطريقة مختلفة. لكن المعنى يظل كما هو للخوادم التي تقرأ الاستعلامات بترميز النماذج.

يحوّل محلّل URL أسماء المضيفين التي تحتوي على أحرف غير ASCII (أسماء النطاقات الدولية) إلى punycode؛ فمثلًا يتحول münchen.de إلى xn--mnchen-3ya.de. وتعرض الأداة الشكلين.

أمثلة

التحقق من مَعلمات التتبّع

ألصق رابط حملة مثل https://example.com/?utm_source=newsletter&utm_medium=email&utm_campaign=spring+sale للاطلاع على قيم utm_ بعد فك ترميزها (”spring sale”)، ثم احذف ما لا تحتاج إليه وانسخ الرابط المنظّف.

استكشاف أخطاء رابط إعادة التوجيه وإصلاحها

يحتوي رابط تسجيل الدخول على redirect=https%3A%2F%2Fapp.example.com%2Fdashboard%3Ftab%3D2. يعرض جدول المَعلمات القيمة بعد فك ترميزها، https://app.example.com/dashboard?tab=2، لتعرف بالضبط إلى أين سيُوجَّه المستخدم.

العثور على الأصل لأغراض CORS

في https://api.example.com:8443/v1/users?id=7، يكون الأصل هو https://api.example.com:8443. يجب أن يطابق ترويسة Access-Control-Allow-Origin هذه السلسلة تمامًا، من دون مسار أو شرطة مائلة في النهاية.

الأسئلة الشائعة

ما الفرق بين المضيف واسم المضيف؟

اسم المضيف هو النطاق أو عنوان IP فقط (example.com). أما المضيف فيتضمن المنفذ أيضًا إذا حدّد عنوان URL منفذًا غير افتراضي (example.com:8443). في https://example.com:443/ يكون كلاهما example.com، لأن 443 هو المنفذ الافتراضي لـ https ويُحذف.

لماذا يظهر خطأ يفيد بأن المخطط مفقود في عنوان URL؟

من دون مخطط مثل https://، لا يكون “example.com/page” عنوان URL مطلقًا، بل إن “example.com:8080” سيُقرأ على أنه عنوان URL مخططه “example.com”. تتيح لك الأداة إضافة https:// تلقائيًا.

لماذا تظهر + كمسافة في قيم المَعلمات؟

تُقرأ سلاسل الاستعلام عادةً كبيانات نموذج (application/x-www-form-urlencoded)، حيث تشير + إلى مسافة. ويجب إرسال علامة الجمع الحرفية على شكل %2B. وهذا ما تفعله URLSearchParams ومعظم أُطر عمل الخوادم.

ماذا يحدث للمَعلمات التي تحمل الاسم نفسه؟

تُحتفظ بها جميعًا بترتيبها الأصلي، ويُعرض كل منها في صف مستقل. يؤدي حذف صف إلى حذف ذلك التكرار وحده.

ما هو punycode؟

لا يدعم DNS سوى أسماء المضيفين بأحرف ASCII، لذا تُرمّز أسماء النطاقات الدولية إلى تسميات تبدأ بـ xn--. فمثلًا، يُرسَل bücher.example على شكل xn--bcher-kva.example. وتعرض المتصفحات عادةً الصيغة المقروءة في شريط العناوين.

الخصوصية

يحلّل متصفحك URL باستخدام أداة التحليل المضمنة فيه. لا يُرسل أي طلب إلى URL، ولا يُرفع ما تلصقه أو يُخزّن أو يُضمّن في بيانات التحليلات.