ترميز الروابط: احمِ معنى القيمة دون كسر الرابط
قد يكون الرابط صحيحًا حتى تضيف إليه اسمًا يحتوي & أو + أو مسافة. المشكلة ليست أن الاسم ممنوع، بل أن بعض الرموز تحمل معنى بنيويًا داخل الرابط.
القيمة ليست الرابط كله
عندما تضع نصًا داخل معامل بحث، رمّز القيمة نفسها حتى لا تصبح & بداية معامل آخر أو # بداية جزء جديد من الرابط. أما ترميز الرابط كله فيحتاج الإبقاء على علاماته البنيوية.
اختر المعالجة بحسب ما بين يديك: عنوان كامل، أم جزء مستقل، أم قيمة نموذج. الناتج الصحيح في سياق ليس بالضرورة مناسبًا لسياق آخر.
المراجع: WHATWG URL Standard — Percent encoding and form encoding
علامة + تتغير دلالتها حسب السياق
في ترميز النماذج تمثل + مسافة، بينما تحتاج علامة الجمع الأصلية إلى %2B. في ترميز مكوّن مستقل تظهر المسافة عادة %20 ولا تُفسّر + تلقائيًا كمسافة.
لذلك لا تستبدل كل + في أي نص قبل معرفة مصدره. افصل بين قيمة المستخدم الأصلية والطريقة التي نُقلت بها عبر الرابط.
المراجع: WHATWG URL Standard — Percent encoding and form encoding
فك الترميز خطوة محددة لا حلقة إصلاح
قد يغيّر فك الترميز مرتين معنى القيمة. اعرف عدد طبقات الترميز المقصود من النظام الذي أنتجها، ولا تكرر العملية فقط حتى يبدو النص مألوفًا.
هذه الأداة تحول التمثيل النصي ولا تفحص سلامة موقع الوجهة أو تزوره. ظهور رابط مقروء بعد الفك ليس دليلًا على أنه موثوق، كما أن ترميز معلومة حساسة لا يخفيها.
مثال: قيمة تحتوي جمعًا ومسافة وعطفًا
القيمة A+B & C تصبح A%2BB%20%26%20C عند ترميزها كمكوّن مستقل. بصيغة النماذج تصبح A%2BB+%26+C. في الحالتين يجب أن تعود القيمة الأصلية عند استخدام الفك المطابق.
أما %252F فتعود بعد فك واحد إلى %2F، وبعد فك ثانٍ إلى /. الفارق قد يغير معنى مسار أو قيمة؛ لذلك لا تعتبر الفك المتكرر خطوة تنظيف آمنة تلقائيًا.