ما هو ترميز URL؟ دليل شامل للترميز بالنسبة المئوية
ترميز URL، المعروف أيضًا باسم الترميز بالنسبة المئوية، هو آلية لترميز المعلومات في معرف الموارد الموحد (URI) في ظل ظروف معينة. يحوّل الأحرف غير المسموح بها في عنوان URL إلى تنسيق آمن باستخدام علامات النسبة المئوية متبوعة برقمين سداسي عشريين.
لماذا وُجد ترميز URL
بُني الإنترنت على ASCII، الذي يعرّف 128 حرفًا فقط. يجب نقل عناوين URL بأمان عبر أنظمة قد لا تتعامل مع الأحرف غير ASCII أو الأحرف الخاصة بشكل صحيح. يضمن ترميز URL أن أي حرف — مسافات أو أحرف Unicode أو رموز خاصة — يمكن تضمينه بأمان في عنوان URL.
على سبيل المثال:
- المسافة →
%20 @→%40你好→%E4%BD%A0%E5%A5%BD
الأحرف المحجوزة مقابل الأحرف غير المحجوزة
يُعرّف RFC 3986 فئتين من الأحرف في عناوين URL:
الأحرف غير المحجوزة (لا تحتاج أبدًا إلى ترميز): A-Z a-z 0-9 - _ . ~
الأحرف المحجوزة (لها معنى خاص، وتحتاج إلى ترميز عند استخدامها حرفيًا): : / ? # [ ] @ ! $ & ' ( ) * + , ; =
عندما يُقصد بحرف محجوز أن يكون جزءًا من البيانات وليس بنية URL، يجب ترميزه بالنسبة المئوية.
متى تستخدم كل وظيفة ترميز
- encodeURI: ترميز عنوان URL كامل، مع الحفاظ على الأحرف البنيوية
- encodeURIComponent: ترميز معامل URL واحد أو قيمة مكون
استخدام الوظيفة الخاطئة هو أحد أكثر الأخطاء شيوعًا في تطوير الويب. جرب أداة ترميز/فك ترميز URL لتجربة كلا الوضعين.