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

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

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

الصق رابطًا كاملاً واحدًا أو أكثر (كل رابط في سطر) لتفصيل كل منها إلى البروتوكول والمضيف والمسار وسلسلة الاستعلام والجزء (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. العنوان يعمل، لكن قراءته وتتبّع أخطائه متعبان.

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

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

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

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

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

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

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

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

كيف تفكّ ترميز عنوان

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

افهم أجزاء العنوان أولًا

خذ هذا المثال:

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

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

  • المخطّط: https
  • المضيف: example.edu
  • المسار: /search
  • الاستعلام: q=water%20cycle&level=grade%206
  • الجزء: 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: اعكس العملية

يستعمل الطلاب أداة ترميز URL لتجهيز قيمة جديدة، ثم يفكّون ترميزها ويقارنون النتيجة.

الخطوة 5: شخّص خطأً

تحتوي إحدى المتتاليات على هروب مئوي ناقص مثل %2. ويعلّل الطلاب لماذا يُنتظر رقمان ست عشريان بعد علامة النسبة المئوية.

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

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

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

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

وهكذا يفهم كيف ينقل الموقع معلومات البحث من صفحة إلى أخرى.

2. تتبّع خطأ في طلب واجهة برمجية

يرسل مبرمج مبتدئ طلبًا فيه اسم مقرّر يتضمّن علامة عطف، فيستقبل الخادم الاسم على أنه معاملان منفصلان.

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

أداة الفك تساعده على فهم الطلب، لكن الإصلاح الدائم يكون بمعالجة العنوان معالجة بنيوية لا باستبدال يدوي.

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

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

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

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

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

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

يفكّون قيم المعاملات ويقارنونها بما كتبوه في النموذج. ويناقش الصف سبب ترميز المتصفّحات للقيم قبل وضعها في العنوان.

ولا تُستعمل في التمرين كلمات مرور حقيقية ولا سجلّات طلاب ولا إجابات خاصة.

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

يحمل رابط في نشرة المدرسة عدّة معاملات تتبّع، وتريد المعلّمة أن تعرف ما فيه من معلومات قبل مشاركته.

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

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

6. تعلّم ترميز العناوين متعدّدة اللغات

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

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

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

7. كشف الترميز المزدوج

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

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

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

يحمل رابط عنوانًا مرمّزًا آخر داخل معامل مثل redirect أو next.

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

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

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

استعمل أداة فك ترميز HTML مع مراجع الكيانات، ولا تلجأ إلى أداة فك ترميز Base64 إلا حين تعرف أن البيانات مكتوبة بهذه الصيغة.

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

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

ومن هنا يأتي فرق مهم:

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

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

الرموز متعدّدة البايتات

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

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

وإن ظهرت في المُخرَج رموز استبدال، فتحقّق مما يلي:

  • هل سقط أحد البايتات المرمّزة؟
  • هل فُكّت المتتالية بترميز محارف خاطئ؟
  • هل نُسخ النص ناقصًا؟
  • هل فُكّت القيمة أكثر مما ينبغي؟
  • هل كانت البيانات الأصلية تالفة أصلًا؟

المشكلات التي تعالجها هذه الأداة

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

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

فكّ العنوان كله من غير فهمه

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

تكرار الفك

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

الاعتماد على البحث والاستبدال اليدوي

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

فتح وجهة مفكوكة مجهولة

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

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

يمكن أن يمثّل %26 و& علامة العطف كلٌّ في سياقه. فاختر أداة الفك بحسب التمثيل الفعلي أمامك.

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

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

وضع كلمات المرور في العناوين

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

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

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

وعلى التطبيقات أن:

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

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

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

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

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

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

مثال عملي للمبرمجين

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

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

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

console.log(query);
// water cycle

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

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

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

أدوات ذات صلة

استعمل أداة ترميز URL لتجهيز نص ليكون جزءًا من عنوان، ثم افكك ترميزه للتحقّق من مثال صفّي.

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

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

خلاصة

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

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

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

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