أداة فك ترميز الروابط

فك ترميز الروابط المشفّرة إلى نص واضح لمراجعة الروابط ونماذج الويب ومعاملات التتبع وأمثلة الدروس حول عمل الويب.

محلل الروابط وفاحصها

الصق رابطًا كاملاً واحدًا أو أكثر (كل رابط في سطر) لتفصيل كل منها إلى البروتوكول والمضيف والمسار وسلسلة الاستعلام والجزء (fragment)، مع فك ترميز كل معامل استعلام.

تعرّف على ترميز الروابط

لا يمكن للرابط أن يحتوي بأمان إلا على الحروف والأرقام ومجموعة صغيرة من الرموز (- _ . ~). أما كل ما عدا ذلك، بما في ذلك المسافات وعلامات الترقيم والأحرف غير الإنجليزية، فيجب تمثيله بالترميز بالنسبة المئوية قبل أن يتمكن من الانتقال داخل الرابط.

يستبدل الترميز بالنسبة المئوية الحرف بعلامة النسبة المئوية متبوعة بقيمته السداسية العشرية المكوّنة من رقمين، باستخدام UTF-8 لأي حرف خارج نطاق ASCII الأساسي. فتتحول المسافة إلى %20، وعلامة العطف إلى %26، ويمكن أن يتحول حرف مُنقّط أو غير لاتيني إلى عدة تسلسلات %XX متتالية، لأن UTF-8 يمثّله بأكثر من بايت واحد.

لبعض الأحرف مثل ? و& و= و# و/ معنى خاص في بنية الرابط: فهي تحدد بداية سلسلة الاستعلام، أو تفصل بين المعاملات، أو تشير إلى بداية الجزء (fragment). إذا كانت بياناتك تحتاج إلى أن تحتوي على أحد هذه الأحرف كقيمة لا كجزء من البنية، فقم بترميزه أولاً، وإلا فقد يخطئ المتصفح أو الخادم في تحديد أين ينتهي جزء من الرابط ويبدأ الجزء التالي.

يعكس فك الترميز هذه العملية: فهو يقرأ كل تسلسل %XX ليحوّله مرة أخرى إلى الحرف (أو البايت) الذي يمثّله، وهو بالضبط ما تقوم به الأداة أعلاه.

  • شفّر القيمة قبل إضافتها إلى سلسلة الاستعلام أو جزء من المسار.
  • افكّ ترميز رابط حصلت عليه عندما تحتاج إلى قراءته أو تصحيح خطأ فيه.
  • افكّ ترميز الجزء المحدد الذي تحتاجه فقط. فك ترميز الرابط بالكامل دون تدقيق قد يحوّل علامة عطف مشفّرة إلى فاصل معاملات مرة أخرى.
  • من الطبيعي أن يتحول حرف متعدد البايتات إلى أكثر من تسلسل %XX واحد، وهذا ليس خطأ.

أحرف الروابط الشائعة

الحرفالمشفّرأين يُستخدم
مسافة%20فاصل بين الكلمات داخل القيمة
!%21
"%22
#%23يبدأ الجزء (fragment)
%%25يبدأ تسلسلاً مشفّرًا بالنسبة المئوية
&%26يفصل بين معاملات الاستعلام
'%27
(%28
)%29
+%2Bغالبًا ما يُقرأ كمسافة داخل سلسلة الاستعلام
,%2C
/%2Fيفصل بين أجزاء المسار
:%3Aيأتي بعد مخطط الرابط (scheme)، مثل https:
;%3B
=%3Dيحدد قيمة معامل الاستعلام
?%3Fيبدأ سلسلة الاستعلام
@%40
[%5B
]%5D

هل ساعدتك هذه الأداة؟

3.8/5 من 48 تقييم

فك ترميز الروابط والمعاملات في الاستعلامات والمسارات وبيانات الويب المشفّرة بالنسبة المئوية للدروس وتصحيح الأخطاء واختبار واجهات برمجة التطبيقات

ينسخ أحد الطلاب عنوان ويب من نموذج على الإنترنت فيرى نصًا مثل science%20project%20notes. ويفحص مطوّر مبتدئ طلب واجهة برمجة تطبيقات فيكتشف أن علامة العطف الموجودة داخل قيمة بحث تظهر بصيغة %26. الرابط يعمل، لكنه صعب القراءة وصعب تصحيحه.

تعيد أداة فك ترميز الروابط تحويل التسلسلات المشفّرة بالنسبة المئوية إلى الأحرف المقابلة لها. فمثلًا، تتحول %20 عادةً إلى مسافة، بينما تتحول %26 إلى علامة عطف.

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

لا تحدد هذه الأداة ما إذا كانت الوجهة آمنة أو صحيحة أو مصرَّحًا بها. فهي تغيّر فقط طريقة تمثيل الأحرف المشفّرة. ويظل على الطلاب والمطوّرين فحص المضيف والمسار والمعاملات والقيم بعد فك ترميزها بأنفسهم.

كيف يبدو ترميز الروابط

تستخدم الروابط أحرفًا معينة للفصل بين أجزائها. فقد تبدأ علامة الاستفهام سلسلة الاستعلام، وقد تفصل علامة العطف بين المعاملات، وقد تحدد علامة الرقم (#) جزءًا (fragment).

عندما يجب أن يظهر أحد هذه الأحرف كبيانات لا كفاصل بنيوي، يمكن ترميزه بالنسبة المئوية. تُتبع علامة النسبة المئوية برقمين سداسيَي عشر يمثلان قيمة بايت.

القيمة المشفّرة الحرف بعد فك الترميز المعنى الشائع
%20 مسافة تفصل بين الكلمات داخل قيمة ما
%21 ! علامة تعجب
%23 # علامة رقم أو مؤشر جزء (fragment)
%26 & علامة عطف أو فاصل استعلام
%2B + علامة زائد
%2F / شرطة مائلة أو فاصل مسار
%3A : نقطتان رأسيتان
%3D = علامة يساوي أو فاصل معاملات
%3F ? علامة استفهام أو مؤشر استعلام

لا تُفرّق الأحرف السداسية العشرية في تسلسلات النسبة المئوية بين الأحرف الكبيرة والصغيرة، لذا فإن %2F و%2f تمثلان البايت نفسه.

كيفية فك ترميز رابط

  1. انسخ الرابط أو القيمة المشفّرة. احرص على الاحتفاظ بكل علامة نسبة مئوية وبالحرفين اللذين يليانها.
  2. حدد الجزء المراد فحصه. قرر ما إذا كان رابطًا كاملًا أو مسارًا أو اسم معامل أو قيمة معامل.
  3. ألصقه في أداة فك ترميز الروابط. تأكد من نسخ المُدخل بالكامل.
  4. شغّل عملية فك الترميز. تقوم الأداة بتحويل تسلسلات النسبة المئوية المدعومة.
  5. راجع النتيجة كنص. لا تفتح تلقائيًا وجهة غير معروفة.
  6. قارن البنية بالبيانات. لاحظ ما إذا كانت علامات الاستفهام أو العطف أو الشرطات المائلة أو علامات المساواة بعد فك ترميزها تغيّر شكل العنوان.
  7. تحقق من الأحرف متعددة اللغات. تأكد من استخدام ترميز الأحرف المتوقَّع.
  8. احتفظ بالمُدخل الأصلي. قد يكون ضروريًا لتصحيح مشكلة الترميز المزدوج أو خطوة فك ترميز غير صحيحة.

افهم أولًا أجزاء الرابط

تأمّل هذا المثال:

https://example.edu/search?q=water%20cycle&level=grade%206#results

أجزاؤه الرئيسية هي:

  • المخطط (Scheme): https
  • المضيف (Host): example.edu
  • المسار (Path): /search
  • الاستعلام (Query): q=water%20cycle&level=grade%206
  • الجزء (Fragment): results

تتحول قيم الاستعلام بعد فك الترميز إلى "water cycle" و"grade 6". يجب عدم الخلط بين علامة العطف البنيوية التي تفصل بين المعاملات وعلامة عطف مشفّرة داخل إحدى القيم.

فك ترميز المكوّن الصحيح

غالبًا ما يتسبب المطوّرون في مشكلات بفك ترميز رابط كامل بينما كان ينبغي فك ترميز مكوّن واحد فقط. فقد تختلف أدوار الأحرف المحجوزة باختلاف موضع ظهورها.

لنفترض أن استعلامًا يحتوي على:

?topic=research%26writing

تمثّل القيمة المشفّرة:

research&writing

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

يقوم التطبيق الموثوق بتحليل الرابط وفق بنيته، وفك ترميز كل مكوّن باستخدام واجهة برمجة تطبيقات مناسبة للروابط، بدلًا من استخدام عمليات استبدال نصية عشوائية.

ورشة عمل لتصحيح أخطاء الروابط

الخطوة 1: ابدأ برابط واضح للقراءة

يفحص الطلاب:

https://example.edu/library?topic=space%20science

يحددون المضيف والمسار واسم المعامل والقيمة المشفّرة.

الخطوة 2: فك ترميز القيمة فقط

تتحول القيمة space%20science إلى space science. ويشرح الطلاب سبب عدم كتابة مسافة حقيقية عادةً بشكل مباشر داخل رابط مُشارَك.

الخطوة 3: التعرّف على الأحرف المحجوزة

يقدّم المعلم:

?title=Design%20%26%20Technology

العنوان بعد فك الترميز هو Design & Technology. يلاحظ الطلاب أن علامة العطف المشفّرة تنتمي إلى العنوان لا أنها تفصل بين معاملات.

الخطوة 4: عكس العملية

يستخدم الطلاب أداة ترميز الروابط لتحضير قيمة جديدة، ثم يفكون ترميزها ويقارنون النتيجة.

الخطوة 5: تشخيص خطأ

يحتوي أحد التسلسلات على رمز هروب مئوي غير مكتمل مثل %2. يحدد الطلاب سبب توقّع رقمين سداسيَي عشر بعد علامة النسبة المئوية.

حالات استخدام واقعية

1. قراءة معاملات البحث

ينسخ طالب رابط بحث في مكتبة يحتوي على عدة كلمات مشفّرة. يصعب تفسير الرابط الظاهر.

يقوم الطالب بفك ترميز قيم الاستعلام ويتأكد من مصطلحات البحث والمرشحات التي أُدرجت. ويجري التحقق من المضيف قبل فتح الرابط.

يساعد هذا الطالب على فهم كيفية نقل موقع ويب لمعلومات البحث بين الصفحات.

2. تصحيح خطأ في طلب واجهة برمجة تطبيقات

يرسل مطوّر مبتدئ طلبًا يحتوي على عنوان دورة يتضمن علامة عطف. يستقبل الخادم العنوان كمعاملين منفصلين.

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

تساعد أداة فك الترميز على تفسير الطلب، لكن الحل الدائم يستخدم معالجة بنيوية للروابط بدلًا من الاستبدال اليدوي.

3. التحقيق في رابط معطّل

يستلم معلم رابطًا لمستند صفي، لكن الوجهة تفيد بتعذر العثور على الملف.

يُفحص الرابط ويُفكّ ترميزه. يحتوي اسم الملف على شرطة مائلة ربما عُوملت كفاصل مسار، أو أن مسافة نُسخت بشكل خاطئ.

يطلب المعلم رابط مشاركة جديدًا من مالك المستند بدلًا من تعديل عنوان خاص غير مألوف بشكل أعمى.

4. فهم إرسال النماذج

ينشئ الطلاب نموذج بحث بسيطًا ويراقبون الرابط بعد إرسال نص يحتوي على مسافات وعلامات ترقيم.

يفكون ترميز قيم المعاملات ويقارنونها بمُدخل النموذج الأصلي. ويناقش الصف سبب قيام المتصفحات بترميز القيم قبل وضعها في رابط.

لا يُستخدم في هذا التمرين أي كلمات مرور حقيقية أو سجلات طلاب أو ردود خاصة.

5. فحص روابط التحليلات

يحتوي رابط نشرة إخبارية مدرسية على عدة معاملات تتبّع. يرغب المعلم في معرفة المعلومات المضمَّنة قبل مشاركته.

يُفصَل الرابط إلى معاملات وتُفَكّ ترميز قيمها. يمكن إزالة قيم التتبّع غير الضرورية فقط إذا لم يؤدِّ ذلك إلى تعطيل الوجهة المطلوبة.

يُختبَر الرابط النهائي بدلًا من افتراض أنه يعمل بعد تعديل يدوي.

6. تعلّم ترميز الروابط متعدد اللغات

يختبر صف حاسوب عبارة قصيرة غير إنجليزية داخل رابط. تحتوي النتيجة المشفّرة على عدة تسلسلات مئوية لأن أحرف UTF-8 قد تستخدم عدة بايتات.

يفك الطلاب ترميز التسلسل كاملًا ويقارنونه بالعبارة الأصلية. قد يؤدي حذف بايت واحد مشفّر بالنسبة المئوية إلى ظهور حرف بديل أو نص غير صالح.

يُظهر هذا النشاط أن الحرف الواحد الظاهر لا يقابل دائمًا بايتًا واحدًا مشفّرًا.

7. تشخيص الترميز المزدوج

يتوقّع مطوّر مسافة لكنه يرى %2520. يمثّل التسلسل %25 علامة نسبة مئوية، فتُنتج عملية فك ترميز واحدة %20، وقد تنتج عملية أخرى مسافة.

يتتبّع المطوّر الموضع الذي رُمّزت فيه القيمة مرتين. ويُصحَّح تدفق البيانات بدلًا من فك ترميز كل مُدخل بشكل متكرر.

8. مراجعة وجهات إعادة التوجيه

يحتوي رابط على رابط آخر مشفّر داخل معامل مثل redirect أو next.

يفك المستخدم ترميز القيمة كنص عادي ويتحقق من مضيف الوجهة الفعلي قبل فتحها. لا ينبغي الوثوق بعنوان مشفّر لمجرد صعوبة قراءة وجهته النهائية.

مقارنة أداة فك ترميز الروابط بأدوات فك ترميز أخرى

المُدخل الترميز المحتمل الأداة المناسبة مثال بعد فك الترميز
lesson%20notes ترميز الروابط بالنسبة المئوية فك ترميز الروابط lesson notes
<p> كيانات HTML فك ترميز HTML <p>
SGVsbG8= Base64 فك ترميز Base64 Hello
u003F رمز هروب يونيكود محلل JSON أو محلل مخصص للغة ?

استخدم أداة فك ترميز HTML لمراجع الكيانات، وأداة فك ترميز Base64 فقط عندما يكون معروفًا أن البيانات تستخدم هذه الصيغ.

المسافات وعلامات الزائد

تُمثَّل المسافات عادةً بـ %20. وفي ترميز استعلامات النماذج، قد تُفسَّر علامة الزائد أيضًا كمسافة.

وهذا يخلق فرقًا مهمًا:

  • عادةً ما تُفَكّ ترميز class%20notes إلى class notes.
  • قد تُفَكّ ترميز class+notes إلى class notes في سياق استعلام نموذج.
  • قد يحتاج رمز الزائد الحرفي إلى أن يُرمَّز بصيغة %2B.

استخدم طريقة فك الترميز المصممة للمكوّن والصيغة المحددَين. فقد لا يعامل أداة فك ترميز المسارات وأداة فك ترميز استعلامات النماذج علامة الزائد بالطريقة نفسها.

الأحرف متعددة البايتات

يعمل الترميز بالنسبة المئوية على مستوى البايتات. فقد يُمثَّل الحرف الواقع خارج نطاق ASCII الأساسي بعدة بايتات مشفّرة.

فمثلًا، قد يظهر حرف مُنقّط أو حرف عربي كتسلسل من عدة رموز هروب مئوية. ويجب أن تبقى كل البايتات المطلوبة بترتيبها الصحيح وأن تُفسَّر باستخدام ترميز الأحرف الصحيح.

إذا احتوى الناتج على رموز بديلة، تحقق مما يلي:

  • غياب بايت واحد مشفّر.
  • فك ترميز التسلسل باستخدام ترميز أحرف خاطئ.
  • نسخ النص بشكل غير كامل.
  • فك ترميز القيمة عدد مرات أكثر من اللازم.
  • كون بيانات المصدر تالفة سلفًا.

مشكلات شائعة تحلّها هذه الأداة

  • رابط يحتوي على تسلسلات مئوية يصعب قراءتها.
  • طالب بحاجة إلى فحص معاملات البحث.
  • قيمة استعلام لواجهة برمجة تطبيقات تحتوي على مسافات أو علامات ترقيم مشفّرة.
  • رابط مُشارَك يبدو أنه يحتوي على وجهة أخرى مشفّرة.
  • مطوّر يشتبه في وجود ترميز مزدوج.
  • الحاجة إلى دراسة إرسال نموذج ضمن درس برمجة.
  • مسار أو معامل متعدد اللغات يصعب قراءته.
  • رابط معطّل قد يحتوي على قيمة مرمّزة بشكل غير صحيح.

أخطاء شائعة في فك ترميز الروابط

فك ترميز الرابط بأكمله من دون فهمه

قد تغيّر الأحرف المحجوزة البنية بعد فك ترميزها. افصل الرابط إلى مكوّناته وافك ترميز القيمة المقصودة فقط.

فك الترميز بشكل متكرر

قد يحوّل فك الترميز المتكرر بيانات كانت آمنة إلى فواصل فعّالة أو مسارات غير متوقعة. تتبّع سبب وجود عدة طبقات من الترميز.

استخدام البحث والاستبدال اليدوي

استبدال %20 بمسافات لا يعالج جميع الأحرف المشفّرة أو تسلسلات UTF-8 أو المُدخلات ذات الصياغة الخاطئة أو قواعد علامة الزائد. استخدم في الشيفرة محلل روابط بنيويًا أو واجهة برمجة تطبيقات قياسية.

فتح وجهة مفكوكة الترميز غير معروفة

افك ترميزها أولًا كنص. افحص المخطط واسم المضيف والمسار والمعاملات قبل أن تقرر زيارتها.

الخلط بين ترميز الروابط وترميز HTML

يمكن أن تمثّل كل من %26 و& علامة عطف في سياقات مختلفة. اختر أداة فك الترميز بناءً على التمثيل الفعلي.

تجاهل التسلسلات المئوية غير الصالحة

يجب أن تُتبَع علامة النسبة المئوية برقمين سداسيَي عشر. قد تشير التسلسلات غير المكتملة أو غير الصالحة إلى مُدخل تالف.

وضع كلمات المرور داخل الروابط

قد تظهر الروابط في سجل تصفّح المتصفح والسجلات وأدوات التحليل ولقطات الشاشة والرسائل المُشارَكة. ينبغي عدم وضع بيانات اعتماد حساسة داخل سلاسل الاستعلام.

اعتبارات أمنية

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

ينبغي على التطبيقات:

  • تحليل الروابط باستخدام واجهات برمجة تطبيقات قياسية للروابط.
  • فك ترميز المكوّن المناسب فقط.
  • التحقق من صحة أسماء المعاملات وقيمها المتوقَّعة.
  • تقييد وجهات إعادة التوجيه.
  • تجنّب بناء استعلامات قواعد بيانات أو أوامر شل من مُدخلات غير موثوقة.
  • معالجة (escape) الناتج بحسب سياق عرضه.
  • رفض التسلسلات ذات الصياغة الخاطئة عند الضرورة.
  • تسجيل الأخطاء دون كشف بيانات حساسة.

فك الترميز ليس تعقيمًا للبيانات. فهو يكشف الأحرف الممثَّلة لكنه لا يحدد ما إذا كانت آمنة لاستخدامها في HTML أو مسارات الملفات أو استعلامات قواعد البيانات أو عمليات إعادة التوجيه.

الخصوصية والاستخدام المسؤول

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

لا تلصق روابط مدرسية خاصة أو رموز إعادة تعيين أو روابط موقّعة أو عناوين سجلات طلاب أو بيانات مصادقة في أداة خارجية. استبدل القيم الحساسة بأمثلة خيالية أثناء الدروس وعروض تصحيح الأخطاء التوضيحية.

قبل مشاركة لقطة شاشة لرابط مفكوك الترميز، أزل أسماء الحسابات والمضيفين الخاصين والرموز ومعرّفات المستندات.

مثال عملي للمطوّرين

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

const url = new URL(
  "https://example.edu/search?q=water%20cycle"
);

const query = url.searchParams.get("q");

console.log(query);
// water cycle

يحلل هذا الأسلوب الرابط ويعيد قيمة المعامل بعد فك ترميزها. وهو غالبًا أكثر أمانًا ووضوحًا من تقسيم السلسلة الكاملة يدويًا عند كل علامة استفهام وعلامة عطف وعلامة يساوي.

قائمة التحقق النهائية

  • تم حفظ المُدخل المشفّر الأصلي.
  • تم تحديد مكوّن الرابط المطلوب فك ترميزه.
  • تحتوي التسلسلات المئوية على رقمين سداسيَي عشر صالحين.
  • فُسِّرت علامات الزائد وفق السياق الصحيح.
  • تُعرَض الأحرف متعددة البايتات بشكل صحيح.
  • تم فحص المضيف والوجهة بعد فك الترميز قبل الفتح.
  • لم تغيّر الأحرف المحجوزة البنية المقصودة عن غير قصد.
  • تم تتبّع الترميز المزدوج بدلًا من تخمينه.
  • لم تُكشَف أي كلمات مرور أو رموز أو سجلات طلاب.
  • تستخدم شيفرة التطبيق واجهات برمجة تطبيقات بنيوية للروابط قدر الإمكان.

أدوات ذات صلة

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

إذا كان المُدخل يحتوي على كيانات مثل < أو "، استخدم أداة فك ترميز HTML. أما بالنسبة إلى نص Base64 معروف، فاستخدم أداة فك ترميز Base64.

يمنع اختيار أداة فك الترميز الصحيحة تحويلات غير ضرورية ويجعل تصحيح الأخطاء أكثر موثوقية.

أفكار ختامية

يحوّل فك ترميز الروابط التسلسلات المشفّرة بالنسبة المئوية إلى أحرف مقروءة. ويساعد الطلاب على فهم عناوين الويب، ويساعد المطوّرين على فحص قيم الاستعلام وطلبات واجهات برمجة التطبيقات والنصوص متعددة اللغات وعمليات إعادة التوجيه ومشكلات الترميز المزدوج.

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

يسهل التحقيق في رابط مقروء بعد فك ترميزه، لكن ذلك لا يجعله آمنًا أو صحيحًا تلقائيًا. تحقق من بنيته ووجهته ومعاملاته وخصوصيته وترميز الأحرف المقصود قبل استخدامه.

للمعلمينللطلاب