ما هو الترميز بالنسبة المئوية (ترميز URL)؟
أدلة ترميز عناوين URL
صُمِّم عنوان URL في الأصل ليحمل مجموعة محدودة فقط من أحرف ASCII. فإذا وضعت مسافة أو حرفاً غير لاتيني أو حرفاً خاصاً مثل ? أو & مباشرةً داخل العنوان، فقد تفسِّره المتصفحات أو الخوادم المختلفة بطرق متباينة، أو قد يتعطّل. والحل هو الترميز بالنسبة المئوية (percent-encoding) — وهو ما يسمّيه الناس عادةً ترميز URL.
ماذا يعني %XX
يستبدل الترميز بالنسبة المئوية الحرفَ غير الآمن بقيمة بايته بالنظام الست عشري (hexadecimal)، مسبوقةً بالرمز %. فتصبح المسافة %20، وتصبح علامة الاستفهام %3F. أما الحرف المكوّن من عدة بايتات، مثل معظم الأحرف غير اللاتينية، فيحصل على %XX واحدة لكل بايت من بايتات UTF-8.
- المسافة →
%20 ?→%3F&→%26ا(UTF-8) →%D8%A7
لماذا UTF-8
يتعامل الويب الحديث مع UTF-8 باعتباره المعيار. فدالة encodeURIComponent في المتصفح تحوّل النص إلى بايتات UTF-8 ثم تحوّل كل بايت إلى %XX. وهذا يعني أن الحرف نفسه يُرمَّز دائماً بالطريقة ذاتها، وأن فكّ الترميز يستعيد النص الأصلي تماماً.
تستخدم أداة الترميز/فكّ الترميز في هذا الموقع دوال المتصفح المدمجة، لذا يُحوَّل إدخالك فوراً ولا يُرسَل أبداً إلى أي خادم.
متى تحتاج إليه
تحتاج إلى الترميز بالنسبة المئوية كلما أدرجت سلسلة نصية عشوائية داخل جزء من العنوان — رابط يحتوي على مصطلح بحث، أو قيمة معامل استعلام، أو عنوان URL هدف لإعادة توجيه موضوع داخل عنوان URL آخر. فمن دون ترميز، قد يُساء فهم & أو = الموجودة في القيمة على أنها فاصل فتُقتَطع القيمة قبل اكتمالها.