المدونة
ما هو URL Encoding ولماذا هو مهم؟ الدليل الكامل للمبتدئين
Main image Drag or paste image here Upload Select Alt text Caption Content No style Empty Published date SEO If omitted, title/description/main image are used as fallback. Meta title Meta description Canonical URL Open Graph title Open Graph description Open Graph image Drag or paste image here Upload Select Alt text Caption No index Edited just now - - Publish

ما هو URL Encoding ولماذا هو مهم؟
في كل مرة تنقر فيها على رابط، أو ترسل نموذجًا، أو ترسل بيانات إلى واجهة برمجة تطبيقات (API)، فإن URL Encoding يعمل غالبًا في الخلفية. وعلى الرغم من أن المطورين يستخدمونه يوميًا، إلا أن الكثير منهم لا يعرفون لماذا هو ضروري أو كيف يعمل.
في هذا الدليل ستتعرف على مفهوم URL Encoding، وكيف يعمل الترميز بالنسبة المئوية (Percent Encoding)، ومتى يجب استخدامه، والأخطاء الشائعة التي يجب تجنبها، ولماذا يُعد جزءًا أساسيًا من تطوير الويب الحديث.
ما هو URL Encoding؟
URL Encoding، المعروف أيضًا باسم Percent Encoding، هو عملية تحويل الأحرف الخاصة إلى صيغة يمكن إرسالها بأمان داخل عنوان URL.
بعض الأحرف لها معنى خاص داخل عنوان URL أو لا يُسمح باستخدامها مباشرة. لذلك يستبدلها URL Encoding بعلامة النسبة (%) متبوعة برقمين بالنظام السداسي عشري.
على سبيل المثال:
المسافة → %20
@ → %40
? → %3F
# → %23
وبذلك يستطيع المتصفح والخادم تفسير عنوان URL بشكل صحيح.
لماذا نحتاج إلى URL Encoding؟
تدعم عناوين URL مجموعة محدودة فقط من الأحرف.
مثل:
- المسافات
- علامة الاستفهام
- &
- /
- أحرف Unicode
إذا لم يتم ترميزها فقد تؤدي إلى كسر عنوان URL.
بدون URL Encoding:
https://example.com/search?q=hello world
قد يفسر المتصفح المسافة بشكل خاطئ.
الصيغة الصحيحة:
https://example.com/search?q=hello%20world
كيف يعمل الترميز بالنسبة المئوية؟
يتم استبدال كل حرف خاص بالشكل التالي:
%
+
قيمته بالنظام السداسي عشري
أمثلة:
| الحرف | الترميز |
|---|---|
| المسافة | %20 |
| ! | %21 |
| " | %22 |
| # | %23 |
| % | %25 |
| & | %26 |
| + | %2B |
| / | %2F |
| : | %3A |
| ? | %3F |
| = | %3D |
مثال على URL Encoding
عنوان URL الأصلي:
https://example.com/search?q=Hello World&lang=en
بعد الترميز:
https://example.com/search?q=Hello%20World&lang=en
URL Encoding أم Base64؟
يخلط الكثير من المبتدئين بين هاتين التقنيتين.
URL Encoding
- يجعل عناوين URL آمنة
- يرمز الأحرف الخاصة
- يحافظ على قابلية القراءة
Base64
- يحول البيانات الثنائية إلى نص
- يُستخدم للصور والملفات والرموز (Tokens)
- لم يُصمم خصيصًا لعناوين URL
ورغم أن Base64 قد يظهر داخل عنوان URL، إلا أنه غالبًا يحتاج أيضًا إلى URL Encoding.
URL Encoding في JavaScript
يوفر JavaScript دوال مدمجة.
الترميز:
encodeURIComponent("Hello World!")
الناتج:
Hello%20World%21
فك الترميز:
decodeURIComponent("Hello%20World%21")
الناتج:
Hello World!
URL Encoding في Node.js
يستخدم Node.js الدوال نفسها:
encodeURIComponent()
decodeURIComponent()
وتُستخدم بشكل شائع مع:
- REST APIs
- Query Parameters
- OAuth
- Redirect URLs
الأخطاء الشائعة
يقوم المطورون غالبًا بـ:
- إعادة ترميز عنوان URL تم ترميزه مسبقًا
- نسيان ترميز معاملات الاستعلام (Query Parameters)
- الخلط بين Base64 وURL Encoding
- استبدال الأحرف الخاصة يدويًا بدلًا من استخدام الدوال المدمجة
أفضل الممارسات
✔ قم دائمًا بترميز بيانات المستخدم.
✔ قم بترميز معاملات الاستعلام بشكل منفصل.
✔ لا تستبدل الأحرف الخاصة يدويًا.
✔ استخدم الدوال المدمجة في لغة البرمجة.
✔ لا تقم بفك الترميز إلا عند الحاجة.
متى يجب استخدام URL Encoding؟
استخدم URL Encoding عندما:
- تنشئ عناوين URL بشكل ديناميكي
- ترسل طلبات إلى API
- تعيد توجيه المستخدمين
- تعمل مع Query Parameters
- ترسل أحرفًا دولية
- تنشئ روابط تنزيل
الخلاصة
يُعد URL Encoding إحدى التقنيات الأساسية في الويب الحديث. فهو يضمن أن تكون عناوين URL صحيحة وآمنة ويمكن فهمها من قبل المتصفحات والخوادم وواجهات برمجة التطبيقات.
سواء كنت تطور مواقع ويب أو REST APIs أو تطبيقات جوال أو خدمات Backend، فإن فهم URL Encoding يساعدك على تجنب الروابط المعطلة وأخطاء الترميز ومشكلات نقل البيانات.
إن استخدام الترميز الصحيح خطوة صغيرة لكنها تجعل تطبيقاتك أكثر موثوقية واستقرارًا.