Command Palette

Search for a command to run...

محلل URL: قم بكسر أي رابط إلى أجزائه واقرأ سلسلة الاستعلام

محلل URL: قم بكسر أي رابط إلى أجزائه واقرأ سلسلة الاستعلام

T
Toolz Team
|Jul 22, 2026|16 دقيقة قراءة

جزء من مجموعة URL والروابط

لقد فقدت فترة ما بعد الظهر مرة واحدة بسبب عنوان URL الذي بدا جيدًا. استمر رد اتصال OAuth في الفشل، وإعادة توجيه URI &quot؛ متطابق واقتباس؛ الشخص المسجل لدى المزود، ولم أتمكن من معرفة سبب كسر المصافحة. كانت الإجابة، عندما قمت أخيرًا بلصق الشيء في محلل، عبارة عن شرطة مائلة زائدة على المسار في مكان واحد ولا شيء في المكان الآخر، بالإضافة إلى أ state المعلمة التي تم تشفيرها بشكل مزدوج %20 أصبح %2520. بالنسبة للعين البشرية، كان عنوانا URL متطابقين. بالنسبة لخادم OAuth، كانت سلاسل مختلفة، وكان من الصواب رفض عدم التطابق.

هذه هي مشكلة عناوين URL: فهي كثيفة، ومن السهل أن تخطئ في قراءتها، والتفاصيل التي تكسر الأشياء - شرطة مائلة مشفرة، ومنفذ طائش، ومفتاح استعلام متكرر، وجزء حيث تتوقع مسارًا - هي بالضبط تلك التي الاختباء في جدار من الأحرف. أقوم ببناء [Toolz.dev](/، وأقضي وقتًا كافيًا في التحديق في سلاسل الاستعلام أثناء تصحيح الأخطاء التي قمت ببناءها محلل URL للقيام بالتحديق بالنسبة لي. الصق رابطًا، وقم بتسمية كل مكون وفك تشفير كل معلمة استعلام في جدول. يشرح هذا الدليل ماهية هذه المكونات، ولماذا تهم الفروق، وكيفية استخدامها.

ليرة تركية؛DR: عنوان URL مصنوع من مخطط (https)، بيانات الاعتماد الاختيارية (user:pass@)، مضيف (example.com) مع منفذ اختياري، مسار (/blog/post)، سلسلة الاستعلام (?id=42)، وجزء (#section). ال محلل URL يقسم أي رابط إلى تلك الأجزاء باستخدام محرك WHATWG URL الخاص بالمتصفح &#39؛، ويفك تشفير الاستعلام في جدول قيمة المفتاح المرتب (يتم الاحتفاظ بالمفاتيح المتكررة منفصلة)، ويعرض المنفذ الفعال للمخطط، ويفترض https:// إذا قمت بلصق نطاق مجرد. يتم تشغيله بالكامل في متصفحك، لذا تظل الروابط ذات الرموز المميزة خاصة.

ما هي أجزاء عنوان URL؟

يتبع كل عنوان URL نفس القواعد النحوية، المحددة بواسطة معيار WHATWG URL - حيث يتم تنفيذ المواصفات فعليًا. بمجرد أن تتمكن من تسمية الأجزاء، تصبح معظم أخطاء URL واضحة. إليك التشريح الكامل، باستخدام مثال مشغول عمدًا

https://john:[email protected]:8443/catalog/shoes?color=red&size=42#reviews
└─┬─┘   └──┬──┘└─┬──┘└──────┬────────┘└─┬─┘└──────┬──────┘└──────┬──────┘ └──┬──┘
scheme   user  pass       hostname     port      path          query      fragment

كسر ذلك:

مكون قيمة المثال ما هو عليه
مخطط https البروتوكول. يقرر المنفذ الافتراضي وكيفية تقديم الطلب.
اسم المستخدم john الاعتماد الاختياري، قبل @.
كلمة المرور s3cret الاعتماد الاختياري، بعد : في معلومات المستخدم.
اسم المضيف shop.example.co.uk المجال أو عنوان IP، بدون منفذ.
ميناء 8443 اختياري. يعود إلى المخطط الافتراضي عند حذفه.
مضيف shop.example.co.uk:8443 اسم المضيف بالإضافة إلى المنفذ، عند وجود منفذ.
أصل https://shop.example.co.uk:8443 المخطط بالإضافة إلى المضيف - تستخدم متصفحات الوحدة للأمان.
طريق /catalog/shoes موقع المورد على المضيف.
استعلام ?color=red&size=42 معلمات القيمة الرئيسية بعد ?.
جزء #reviews مرساة من جانب العميل بعد #، لم يتم إرسالها إلى الخادم.

يضع المحلل اللغوي كل واحدة منها كصف خاص بها باستخدام زر النسخ، لذلك لن تضطر أبدًا إلى استخراج اسم مضيف يدويًا من عنوان URL الوحشي مرة أخرى. كما أنه يشير أيضًا إلى بعض الأشياء التي تخفيها السلسلة الأولية: ما إذا كان المنفذ الموضح صريحًا أو المخطط الافتراضي &#39؛ وما إذا كان المضيف مجالًا مسمىًا أو عنوان IP خام.

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

يقوم هؤلاء الأشخاص الثلاثة برحلة باستمرار، ويسبب الارتباك أخطاء حقيقية - فشل CORS، وأخطاء في تحديد نطاق ملفات تعريف الارتباط، وعدم تطابق إعادة التوجيه. انهم ليسوا مرادفات. ال معيار عنوان URL لـ WHATWG هو التعريف الذي تطبقه المتصفحات فعليًا، وهو المكان المناسب لتسوية جدال حول ما يمكن اعتباره أصلًا.

اسم المضيف هو مجرد المجال أو IP: shop.example.co.uk. لا يوجد منفذ، لا مخطط. هذا ما ستضعه في بحث DNS.

مضيف هو اسم المضيف بالإضافة إلى المنفذ، ولكن فقط عند وجود منفذ في عنوان URL. ل shop.example.co.uk:8443 المضيف هو shop.example.co.uk:8443. لسهل https://shop.example.co.uk/ المضيف واسم المضيف متطابقان، لأن المنفذ الافتراضي 443 ضمني وليس مكتوبًا. هذا & اقتباس؛ فقط عندما يكون موجودًا واقتباسًا؛ القاعدة دقيقة ولهذا السبب يمكن أن يبدو أن نفس الموقع يحتوي على مضيفين مختلفين.

أصل هو المخطط بالإضافة إلى المضيف: https://shop.example.co.uk:8443. هذا هو أكثر ما يهتم به المتصفحات، لأن سياسة المصدر نفسه - أساس أمان الويب - تقارن الأصول، وليس أسماء المضيفين. يشترك عنوانا URL في الأصل فقط إذا كان مخططهما واسم المضيف و منفذ الكل تطابق. http://example.com و https://example.com هي أصول مختلفة لأن المخطط يختلف. https://example.com و https://example.com:8443 هي أصول مختلفة لأن المنفذ يختلف، على الرغم من أن اسم المضيف هو نفسه. إذا فشل الجلب بسبب خطأ CORS، فإن مقارنة الأصلين جنبًا إلى جنب في المحلل اللغوي عادة ما تكون أسرع طريقة لاكتشاف عدم التطابق.

كيف يمكنني تحليل سلسلة استعلام؟

سلسلة الاستعلام هي المكان الذي يعيش فيه معظم الألم اليومي، لأنها عبارة عن فقاعة مسطحة لا مفر منها وهي في الواقع منظمة ومشفرة بنسبة مئوية. يقوم المحلل بتقسيمها لك: كل شيء بعد ?، مكسورة &مع كل key=value تم فك تشفير الزوج وإدراجه في جدول بترتيبه الأصلي.

هناك سلوكان مهمان هنا. أولا، فك التشفير. معلمة مكتوبة كـ q=trail%20runner يظهر على السلك كما trail runner في عمود القيمة، لأنه %20 هي مساحة مشفرة بنسبة مئوية. الخام search لا تزال السلسلة تظهر دون تغيير في قائمة المكونات، حتى تتمكن من مقارنة النماذج المشفرة وفك تشفيرها - وهي لا تقدر بثمن عندما تشك في التشفير المزدوج، مثل شكلي %2520 خطأ أووث.

ثانيا، مفاتيح متكررة. يمكن أن يحمل عنوان URL نفس المفتاح بشكل قانوني أكثر من مرة ?tag=react&tag=typescript&tag=node. يقوم العديد من المحللين الساذجين بطي هذه العناصر، مع الاحتفاظ بالقيمة الأولى أو الأخيرة فقط وفقدان البيانات بصمت. هذا خطأ - المفاتيح المتكررة هي الطريقة التي ترسل بها نماذج HTML حقولًا متعددة التحديد وكيف تعبر الكثير من واجهات برمجة التطبيقات عن المصفوفات. يحتفظ المحلل اللغوي بكل تكرار كصف خاص به، بالترتيب، بحيث ترى العلامات الثلاث. عندما تقوم بنسخ الاستعلام كـ JSON، تصبح المفاتيح المتكررة مصفوفة، وهو الشكل الذي تتوقعه معظم التعليمات البرمجية.

لا تحتاج حتى إلى عنوان URL كامل لاستخدام هذا. لصق سلسلة استعلام فقط - color=red&size=42 - وتقوم الأداة بتوزيعها من تلقاء نفسها. إنها أسرع طريقة أعرفها لفهم حمولة خطاف الويب أو رابط التتبع الذي قام شخص ما بإعادة توجيهك إليه.

كيف يمكنني استخدام محلل URL؟

تم تصميم الأداة للخروج من طريقك. الصق عنوان URL في الإدخال الفردي ويقوم بالتوزيع المباشر أثناء الكتابة - لا يوجد زر للضغط عليه. يتم تحميل رابط العينة مسبقًا حتى تتمكن من رؤية الانهيار الكامل على الفور، ويقوم زر مسح بإفراغ الحقل.

ليس عليك كتابة المخطط. لصق مضيف مكشوف مثل example.com/pricing والمحلل يجهز مسبقا https:// تلقائيًا، ثم يخبرك أنه فعل ذلك بملاحظة صغيرة، لذلك لا تشعر بالارتباك أبدًا بشأن مصدر المخطط. لصق مخطط صريح - http://، ftp://، ssh:// - وهي تحترم ذلك بدلاً من ذلك.

الإخراج لديه أربع مناطق. في الأعلى، عنوان URL طبيعي - النموذج الأساسي الذي تم إنتاجه بواسطة محرك المتصفح &#39؛s، مع زر النسخ، وهو مفيد لالتقاط اختلافات التطبيع الدقيقة. تحت ذلك، مكونات جدول، صف واحد مسمى لكل جزء، كل منها قابل للنسخ بشكل مستقل. ثم قطاعات المسار، مقسمة إلى شرائح مفهرسة مثل مسار عميق /api/v2/users/42/orders مقروء في لمحة. أخيرا معلمات الاستعلام الجدول، الذي تم فك تشفيره وترتيبه، باستخدام &quot؛ نسخ باسم JSON&quot؛ الإجراء الذي يحول الاستعلام بأكمله إلى كائن نظيف.

يتم تشغيل كل شيء في متصفحك باستخدام محرك URL الأصلي الخاص به. وهذا اختيار متعمد: تحتوي عناوين URL بشكل روتيني على رموز الوصول المميزة ومعرفات الجلسة والمعلمات الموقعة وأسماء المضيفين الداخلية، ولا ينبغي شحن أي منها إلى الخادم لقراءتها فقط. لا شيء تلصقه يترك جهازك، وتستمر الأداة في العمل دون اتصال بالإنترنت. إنه نفس أسلوب الخصوصية أولاً وراء مجموعة الأدوات بأكملها، والذي أخوض فيه في دليل مجموعة أدوات مطور الويب.

متى أصل إلى محلل URL؟

تظهر بعض المواقف مرارًا وتكرارًا في عملي. تصحيح عمليات إعادة التوجيه وعمليات الاسترجاعات هو الكبير - تدفقات OAuth، وعناوين URL لإرجاع الدفع، ومصافحة SSO، وكلها تفشل في حالات عدم التطابق الصغيرة التي تصبح مرئية فقط عند تحليل كلا عنواني URL. تدقيق روابط التتبع شيء آخر: غالبًا ما تكون عناوين URL التسويقية عبارة عن صفحة أساسية بالإضافة إلى عشرات معلمات UTM ومنصة إعلانية، وقراءتها كجدول يتفوق على التحديق في سلسلة مكونة من 300 حرف. إذا كنت تقوم ببناء هذه الروابط بدلاً من قراءتها، فإن منشئ UTM هو النصف الآخر من نفس سير العمل.

ثم هناك عمل API - فحص معلمات الاستعلام التي أرسلها العميل بالفعل، أو إجراء هندسة عكسية لكيفية توقع نقطة النهاية لمرشحاته. و مراجعة أمنية: يعد الرابط غير المألوف في البريد الإلكتروني أو السجل أكثر أمانًا للفهم من خلال تحليل أجزائه (ما هو المضيف الذي يفعل ذلك حقًا نقطة في؟ هل اسم المضيف هذا عنوان IP؟) بدلاً من النقر عليه. يكشف المحلل اللغوي عن اسم المضيف الحقيقي ويضع علامة على مضيفي IP الحرفيين، وهي بالضبط المعلومات التي تريدها قبل الوثوق بالرابط. لقد كتبت المزيد عن تجميع هذا النوع من مجموعة أدوات الفحص في دليل أدوات تصحيح أخطاء API.

كيف يرتبط التحليل بالتشفير وslugs؟

يعد محلل URL أحد أركان مجموعة صغيرة من أدوات الارتباط، ومعرفة أي منها تحتاجه توفر الوقت. تحليل يقرأ عنوان URL موجود ويفصله. ترقيم هل الاتجاه المعاكس على مستوى الأحرف - تحويل المسافات والأحرف الخاصة إلى أشكالها المشفرة بنسبة مئوية بحيث تبقى داخل عنوان URL، والعودة مرة أخرى. عندما تحتاج إلى تضمين قيمة بأمان في سلسلة استعلام، أو فك تشفير قيمة مشوهة، فهذا هو URL ترميز/فك تشفير URL، ويتزاوج بشكل طبيعي مع المحلل اللغوي: قم بالتحليل لرؤية البنية، وقم بالتشفير لإصلاح قيمة مكسورة.

Slug الجيل هي وظيفة ثالثة ذات صلة - الحصول على لقب بشري مثل &quot؛10 نصائح لبناء واقتباس أسرع؛ وتحويلها إلى نظيفة 10-tips-for-faster-builds مقطع المسار. هذا هو ما Slug مولد المقابض، وهو ما ينتج المرتب path مكون يقرأ المحلل اللغوي لاحقًا. فكر في الأمر باعتباره خط أنابيب: قم بالتشفير لإنشاء مسارات جيدة، والتشفير لجعل القيم آمنة لعنوان URL، والتحليل لفحص الارتباط النهائي. تقوم كل أداة بجزء واحد من دورة حياة عنوان URL وتقوم بذلك في المتصفح.

ماذا عن عناوين IP والمجالات الدولية؟

ليس كل مضيف مرتب example.com. تشير بعض عناوين URL إلى عناوين IP الأولية، ويتعرف المحلل اللغوي على كلا النموذجين. IPv4 مثل الحرفي http://192.168.1.10:3000/ لديه اسم مضيف 192.168.1.10، وتقوم الأداة بوضع علامة عليه باعتباره عنوان IP بدلاً من نطاق - وهو أمر مفيد عندما تقوم بمراجعة رابط وتريد أن تعرف على الفور ما إذا كان يستهدف موقعًا مسمىًا أو عنوانًا مجردًا، وهي إشارة شائعة في الروابط المشبوهة. يتم تغليف أحرف IPv6 بين قوسين مربعين في عنوان URL، كما في http://[2001:db8::1]:8080/، والأقواس هي جزء من بناء جملة المضيف، وليست زخرفة؛ يتعامل المحلل اللغوي مع هذا النموذج الموجود بين قوسين بشكل صحيح بدلاً من الاختناق بالنقطتين، والتي قد تبدو وكأنها فواصل المنفذ.

أسماء النطاقات الدولية هي حالة الحافة الأخرى. يتم تحويل المضيف المكتوب بأحرف غير ASCII - على سبيل المثال، مجال بأحرف معلمة أو غير لاتينية - بواسطة محرك URL للمتصفح &#39؛s إلى Punycode الخاص به xn-- نموذج الطلب الفعلي، لأن DNS يتحدث فقط ASCII. رؤية تطبيع href يعرض لك المحلل اللغوي بالضبط ما سيحله المتصفح، الأمر الذي يفاجئ أحيانًا الأشخاص الذين توقعوا أن ينتقل مجال Unicode الجميل الخاص بهم دون تغيير. بالنسبة لنطاق المستوى الأعلى، يستخرج المحلل اللغوي التسمية النهائية لمضيف مسمى، لذلك shop.example.co.uk تقارير TLD من uk. هذه قاعدة بسيطة عن عمد - فهي لا تحاول إلغاء اختيار اللواحق متعددة الأجزاء مثل .co.uk في مجال قابل للتسجيل، لأن القيام بذلك بشكل صحيح يتطلب قائمة اللواحق العامة، وهي مجموعة بيانات متحركة كبيرة. للفحص السريع، فإن التسمية الأخيرة هي الإشارة المفيدة، ولأي شيء أكثر صرامة يمكنك الوصول إلى مكتبة مخصصة.

مثال عملي يربطها معًا. لنفترض أن مزود الدفع يستمر في رفض عنوان URL للإرجاع الخاص بك. لقد قمت بالتسجيل https://app.example.com/checkout/return لكن الطلب الفاشل يظهر https://app.example.com:443/checkout/return/. تحليل كليهما. يُظهر المحلل اللغوي أن الأول لديه مضيف app.example.com (المنفذ الافتراضي، لا توجد شرطة مائلة زائدة على المسار) والثاني لديه مضيف app.example.com أيضا - ولكن طريقها هو /checkout/return/ مع شرطة مائلة زائدة، وتم كتابة المنفذ الخاص بها بشكل صريح كـ :443. هناك اختلافان تنزلق العين فوقهما، وكلاهما قاتل للتحقق من المطابقة التامة. بمجرد أن تتمكن من رؤيتها كمكونات منفصلة ذات علامات، يصبح الإصلاح واضحًا: قم بتطبيع الشرطة المائلة اللاحقة وإسقاط المنفذ الصريح الزائد.

الأخطاء الشائعة عند قراءة عناوين URL

الأخطاء المتكررة تستحق التسمية. الخلط بين الجزء والمسار أو الاستعلام - كل شيء بعد # هو الجزء، ويتم التعامل معه بالكامل بواسطة المتصفح ولا يتم إرساله أبدًا إلى الخادم، لذا فإن المعلمة التي تضعها بعده # لن تصل إلى الواجهة الخلفية الخاصة بك. بافتراض أن المنفذ المفقود يعني عدم وجود منفذ - المنفذ المحذوف يعني المخطط افتراضي (443 لـ https، 80 لـ http)، والذي يوضحه المحلل اللغوي حتى تعرف المنفذ الذي سيصل إليه الطلب بالفعل.

تجاهل الترميز المزدوج - إذا كانت القيمة تبدو %2520 بدلا من %20، تم ترميزه مرتين؛ قم بتحليلها، وإذا كانت القيمة التي تم فك تشفيرها لا تزال تحتوي على تسلسل النسبة المئوية، فقم بفك التشفير مرة أخرى. الثقة بالنص المرئي للرابط - النص الذي تراه والفعلي href يمكن أن تختلف تماما، وهي الآلية الكاملة وراء التصيد الاحتيالي؛ التحليل يكشف عن مضيف الوجهة الحقيقي. و التعامل مع مفاتيح الاستعلام المتكررة كنسخ مكررة لتجاهلها - غالبًا ما تكون مصفوفات ذات معنى، وإسقاطها يفقد البيانات.

الأسئلة المتداولة

ما هي أجزاء عنوان URL؟

يحتوي عنوان URL على مخطط (https) وبيانات اعتماد اختيارية (user: pass @) ومضيف (example.com) بمنفذ اختياري ومسار (/ blog / post) وسلسلة استعلام اختيارية (؟ id = 42) وجزء اختياري (# قسم). هذا المحلل اللغوي يفصل ويسمي كل واحد.

كيف يمكنني تحليل سلسلة استعلام؟

الصق عنوان URL الكامل واقرأ جدول الاستعلام، أو الصق سلسلة الاستعلام فقط من تلقاء نفسها. يقوم المحلل اللغوي بتقسيمه على علامات الضم، وفك تشفير النسبة المئوية للترميز، ويسرد كل زوج من قيم المفاتيح بالترتيب. يتم الاحتفاظ بالمفاتيح المتكررة مثل tag=a&amp؛tag=b كصفوف منفصلة.

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

اسم المضيف هو مجرد المجال أو IP (example.com). يضيف المضيف المنفذ عند وجوده (example.com:8443). الأصل هو المخطط بالإضافة إلى المضيف (https://example.com:8443) وهو ما تستخدمه المتصفحات للتحقق الأمني من نفس الأصل.

ما المنفذ المستخدم عندما لا يحتوي عنوان URL على رقم منفذ؟

المخطط يقرر. بروتوكول HTTPS الافتراضي هو 443، وHTTP إلى 80، وSSSH إلى 22، وFTP إلى 21. يعرض هذا المحلل اللغوي المنفذ الفعال ويضع علامة عليه على أنه المنفذ الافتراضي ، حتى تعرف المنفذ الذي سيستخدمه الطلب بالفعل.

هل يقوم المحلل بفك تشفير الأحرف المئوية المشفرة؟

نعم لقيم الاستعلام. تظهر معلمة مثل name=John%20Doe وقد تم فك تشفيرها كـ &quot؛ جون دو واقتباس؛ في الجدول. تظهر أيضًا سلسلة البحث الأولية دون تغيير حتى تتمكن من مقارنة النماذج المشفرة وفك تشفيرها.

هل يمكنني تحليل عنوان URL بدون كتابة جزء https؟

نعم. إذا قمت بلصق مضيف أو مسار عارية مثل example.com/pricing ، فإن المحلل اللغوي يسبق https: // تلقائيًا ويلاحظ أنه افترض المخطط. الصق مخططًا صراحة ، مثل http: // أو ftp: // ، لتجاوز هذا الافتراض.

لماذا يفشل عنوان URL الخاص بي في التحليل؟

عادةً ما يكون المضيف مفقودًا أو مشوهًا ، أو تتم كتابة المخطط بشكل غير صحيح ، أو تحتوي السلسلة على أحرف غير قانونية في عنوان URL وليست مشفرة بنسبة مئوية. تحقق من وجود مسافات أو أقواس غير مفلسة أو شرطة مائلة مفقودة بعد المخطط.

هل من الآمن لصق عناوين URL باستخدام الرموز المميزة أو معرفات الجلسات؟

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


Comments

0 comments

0/2000 characters

No comments yet. Be the first to share your thoughts!