كيفية تشفير وفك تشفير عناوين URL

· 3 دقيقة للقراءة

إذا رأيت يومًا %20 في عنوان URL حيث كان من المفترض أن تكون مسافة، أو %C3%A9 حيث كان حرف مع علامة تشكيل، فقد واجهت تشفير URL. إنه لبنة أساسية للويب، وفهمه يساعد في تصحيح الروابط المعطلة ومشاكل API وإرسالات النماذج.

ما يفعله تشفير URL

يمكن أن تحتوي عناوين URL على مجموعة محدودة من الأحرف الآمنة فقط: الحروف (A-Z وa-z) والأرقام (0-9) وبعض الأحرف الخاصة (- و_ و. و~). كل شيء آخر — المسافات والتشكيلات والإيموجي والرموز مثل & و= و# و? — يجب تحويله إلى تنسيق آمن.

يستبدل تشفير URL (الذي يسمى أيضًا percent-encoding) الأحرف غير الآمنة بـ % متبوعًا بقيمتها السداسية العشرية بالبايت:

الحرف المشفَّر
مسافة %20
& %26
= %3D
# %23
? %3F
/ %2F
@ %40

متى يكون تشفير URL ضروريًا

كيفية التشفير وفك التشفير

  1. اختر التشفير أو فك التشفير — حدّد الاتجاه. اختر encodeURIComponent لمعلمات الاستعلام أو encodeURI لعناوين URL الكاملة.
  2. الصق إدخالك — أدخل النص أو عنوان URL. تُحدَّث النتيجة فورًا.
  3. انسخ المخرج — استخدم النتيجة في كودك أو طلب API أو متصفّحك.

نصائح

الأسئلة الشائعة

ما الفرق بين encodeURI وencodeURIComponent؟

تحافظ encodeURI على الأحرف الصالحة في بنية URL (الشرطات المائلة، النقطتان، علامات الاستفهام). تشفّر encodeURIComponent كل شيء باستثناء الحروف والأرقام وبعض الأحرف الآمنة. استخدم encodeURIComponent لقيم معلمات الاستعلام، وencodeURI لعناوين URL الكاملة.

لماذا تصبح المسافات %20 أو +؟

في تشفير URL، تصبح المسافات %20. في بيانات النموذج (application/x-www-form-urlencoded)، تصبح المسافات +. كلاهما صالح في سياقاتهما، لكن %20 هو المعيار العالمي لعناوين URL.

هل يجب أن أشفّر عناوين URL يدويًا؟

في معظم الحالات، تتعامل لغتك أو إطار عملك مع التشفير تلقائيًا. التشفير اليدوي مفيد عند بناء عناوين URL يدويًا، أو تصحيح طلبات API، أو العمل مع سلاسل استعلام تحتوي على أحرف خاصة.

هل يتم إرسال بياناتي إلى خادم؟

لا. يتم كل التشفير وفك التشفير في متصفّحك.