ترميز وفك ترميز URL عبر الإنترنت
الروابط المرمزة والمليئة بالتسلسلات `%3A` و`%2F` يصعب قراءتها من النظرة الأولى. تخفي روابط التتبع وسجلات الخادم ومعلمات الاستدعاء محتواها الحقيقي وراء الترميز بالنسبة المئوية. وإرجاعها يدويًا بطيء ومليء بالأخطاء.
هذه الأداة المجانية لترميز وفك ترميز URL تحول السلاسل في الاتجاهين فورًا. الصق أي نص، واختر فك الترميز أو الترميز، ثم انسخ نتيجة نظيفة بنقرة واحدة. كل شيء يعمل داخل متصفحك، لذا لا تغادر بياناتك جهازك أبدًا.
تحويل URL
يعمل التحويل المباشر داخل متصفحك أثناء الكتابة.
أفضل للقيم المفردة مثل معلمات الاستعلام ووجهات إعادة التوجيه ومقاطع المسار.
ماذا يعني فك ترميز URL؟
فك ترميز URL يعيد التسلسلات المرمزة بالنسبة المئوية إلى أحرفها الأصلية المقروءة. يُترجم كل زوج `%XX` باستخدام قيمته السداسية، لذلك تتحول `%20` إلى مسافة وتتحول `%40` إلى @. وتسمى العملية أيضًا فك الترميز بالنسبة المئوية.
الترميز هو العملية العكسية، وقد عرّفتها RFC 3986، وهي معيار URI المنشور في 2005. وقد حلت محل RFC 2396 الأقدم وما زالت تنظم كل عنوان ويب صالح حتى اليوم.
تنطبق الآلية على عائلة URI كلها، وليس فقط على عناوين الويب. كما تغطي URN وصيغة بيانات النماذج المستخدمة في طلبات HTTP POST.
ما هو ترميز URL ولماذا هو ضروري؟
ترميز URL هو عملية تحويل الأحرف إلى صيغة `%XX` التي يمكن للمتصفحات والخوادم نقلها بثبات. يتحول كل حرف غير آمن إلى علامة نسبة مئوية متبوعة بقيمته السداسية. من دون ذلك، فإن مسافة خام أو `&` داخل قيمة ستكسر بنية العنوان.
هناك أربع مجموعات من الأحرف لا يمكنها الانتقال مباشرة داخل URL. أحرف التحكم ASCII غير قابلة للطباعة، والأحرف المحجوزة مثل `?` و`/` و`&` تحمل معنى بنيويًا. كما تسبب الأحرف غير الآمنة مثل المسافات وعلامات الاقتباس أخطاء في التحليل، بينما يقع النص غير ASCII خارج المجموعة المسموح بها. يحول الترميز هذه المجموعات الأربع إلى تسلسلات نسبة مئوية آمنة.
تأتي الحاجة إلى ذلك من طريقة تحليل الخوادم للطلبات. إذا ظهر `&` خام داخل قيمة معلمة فسيُفهم كبداية معلمة جديدة، مما يفسد البيانات بصمت. يزيل الترميز هذا الالتباس، ولهذا تعتمد عليه كل المتصفحات وعملاء API وعمليات إرسال النماذج.
كيفية فك ترميز سلسلة URL
يعيد أداة فك الترميز أي إدخال مرمز بالنسبة المئوية إلى نص عادي خلال ثوانٍ. استخدمها لفك ترميز معلمات URL وسلاسل الاستعلام الكاملة والعناوين الكاملة في تمريرة واحدة.
- اختر وضع فك الترميز أعلى حقل الإدخال.
- الصق السلسلة المرمزة في مربع نص الإدخال.
- شغّل التحويل لإظهار النص المقروء.
- انسخ النتيجة المفكوكة للاستخدام في السجلات أو التقارير أو جلسات التصحيح.
يعالج الناتج تسلسلات UTF-8 متعددة البايت بشكل صحيح. أزواج مثل `%C3%A9` تعود لتتحد في `é` واحد بدلًا من رمزين مكسورين. كثير من أوامر الطرفية السريعة تخطئ هنا، لذلك تكون أداة مجربة في المتصفح خيارًا أكثر أمانًا.
كيفية ترميز URL
يحوّل الترميز الأحرف غير الآمنة إلى صيغة مرمزة بالنسبة المئوية لنقلها بأمان. اختر وضع الترميز، والصق النص، ثم انقر على ترميز URL. تستبدل أداة الترميز كل حرف محجوز أو غير آمن تلقائيًا.
تمر الأحرف غير المحجوزة كما هي، لذلك تبقى الأجزاء المقروءة من النص مقروءة. انسخ النتيجة المرمزة مباشرة إلى الرابط أو طلب API أو النموذج.
أمثلة على فك ترميز URL وما الذي تعنيه النتائج
رؤية المدخلات والمخرجات الحقيقية هي أسرع طريقة لفهم الترميز بالنسبة المئوية. تغطي الأمثلة التالية أكثر الحالات شيوعًا التي يواجهها المطورون عمليًا.
المثال 1 - فك ترميز رابط تتبع
فك ترميز `https%3A%2F%2Fexample.com%2Foffer%3Fid%3D42` يعيد `https://example.com/offer?id=42`. تعود التسلسلات `%3A` و`%2F` و`%3F` و`%3D` إلى النقطتين والشرطة المائلة وعلامة الاستفهام وعلامة المساواة.
المثال 2 - سلسلة مرمزة مرتين
فك ترميز `%2520` يعيد `%20` وليس مسافة. يمثل الزوج `%25` رمز النسبة المئوية نفسه، لذلك تحتاج إلى فك ترميز URL مرة ثانية للوصول إلى المسافة النهائية.
المثال 3 - نص غير ASCII
فك ترميز `q=caf%C3%A9` يعيد `q=café`. الزوجان هما بايتات UTF-8 تتحد لتكوين حرف مشدد واحد.
المثال 4 - معلمة استعلام تحتوي على مسافة
ترميز `city=New York` ينتج `city=New%20York`. المسافة غير آمنة داخل عناوين URL، لذلك يحولها المشفر إلى `%20` قبل الإرسال.
المثال 5 - عنوان بريد إلكتروني داخل URL
ترميز `user@example.com` ينتج `user%40example.com`. الرمز @ حرف محجوز، و`40` هي قيمته السداسية في ASCII.
- كل نتيجة تخبرك بشيء محدد عن بياناتك. إذا كان الناتج بعد فك الترميز لا يزال يحتوي على أزواج `%`، فهذا يعني أن السلسلة رُمزت أكثر من مرة وتحتاج إلى تمريرة إضافية.
مرجع الأحرف المرمزة في URL
يوضح الجدول التالي الأحرف التي يحولها المطورون أكثر من غيرها. احتفظ به قريبًا عندما تقرأ السجلات الخام أو تبني سلاسل الاستعلام يدويًا.
الحرف | القيمة المرمزة | الاستخدام الشائع |
|---|---|---|
مسافة | %20 | فصل الكلمات داخل القيم |
! | %21 | علامات ترقيم داخل القيم النصية |
# | %23 | مؤشر الجزء داخل URL |
$ | %24 | قيم العملات |
% | %25 | حرف الهروب نفسه |
& | %26 | يفصل معلمات الاستعلام |
+ | %2B | إشارة زائد داخل القيم |
, | %2C | قوائم داخل معلمة |
/ | %2F | فاصل المسار |
: | %3A | فاصل المخطط والمنفذ |
; | %3B | فاصل المعلمات |
= | %3D | يربط المفاتيح بالقيم |
? | %3F | يبدأ سلسلة الاستعلام |
@ | %40 | عناوين البريد الإلكتروني وبيانات الاعتماد |
الأحرف غير المحجوزة لا تحتاج إلى ترميز أبدًا. تحدد RFC 3986 عددها بدقة بـ 66 حرفًا: 52 حرفًا أبجديًا و10 أرقام والشرطة السفلية والواصلة والنقطة والتيلدا.
الأحرف المحجوزة تحتاج إلى ترميز فقط عندما تُستخدم خارج دورها البنيوي. الشرطة المائلة التي تفصل مقاطع المسار تبقى حرفًا عاديًا، لكن الشرطة داخل قيمة معلمة يجب أن تصبح `%2F`.
متى يجب ترميز URL أو فك ترميزه؟
قم بترميز أي قيمة قبل وضعها داخل سلسلة استعلام أو مقطع مسار أو إرسال نموذج. ينطبق ذلك على مصطلحات البحث ووجهات إعادة التوجيه وعناوين البريد الإلكتروني وأي نص يولده المستخدم. تتوقع المتصفحات والخوادم صيغة `application/x-www-form-urlencoded` في عمليات الإرسال القياسية.
قم بفك الترميز كلما احتجت إلى قراءة البيانات العائدة في الاتجاه المعاكس. تصل سجلات الخادم وصادرات التحليلات وحمولات webhooks وسلاسل الإحالة كلها مرمزة بالنسبة المئوية. تمريرة سريعة لفك ترميز URL تحولها إلى نص يمكنك البحث فيه ومقارنته.
يواجه المسوقون والمحللون الحاجة نفسها مع وسوم UTM وروابط الحملات. يجب ترميز أسماء الحملات التي تحتوي على مسافات أو `&`، وإلا فسيقسمها Google Analytics إلى معلمات مكسورة. تمرير القيمة عبر مشفر URL يستغرق ثوانٍ ويمنع فساد التقارير.
يشمل تطوير واجهات API الاتجاهين يوميًا. ترفض نقاط REST النهائية الطلبات أو تفسرها بشكل خاطئ عندما تحتوي المعلمات على مسافات خام أو `&` أو أحرف غير ASCII. وللبيانات الثنائية داخل عناوين URL، اجمع هذه الأداة مع مشفر/مفكك Base64 .
decodeURIComponent و encodeURIComponent و encodeURI
يوفر JavaScript دوالًا مدمجة للاتجاهين، واختيار الدالة الخاطئة خطأ شائع. استخدم `decodeURIComponent` لفك ترميز قيم المعلمات و`encodeURIComponent` لترميزها. تحافظ الدالة `encodeURI` على الأحرف البنيوية مثل `/` و`?` و`&`، لذا فهي مناسبة فقط للعناوين الكاملة.
تدعم هذه الأداة سير العملين معًا. استخدم وضع مكوّن URL لقيم المعلمات، ووضع URL الكامل عندما تحتاج إلى الحفاظ على بنية العنوان كاملة بشكل مقروء.
توفر لغات أخرى بدائل مشابهة. تستخدم Python الدالتين `urllib.parse.quote` و`unquote`، وتستخدم PHP `rawurlencode` و`rawurldecode`، وتستخدم Java `URLEncoder` و`URLDecoder`.
كيف يسيء المهاجمون استخدام ترميز URL
تستخدم حملات التصيد الاحتيالي الترميز بالنسبة المئوية لإخفاء الوجهات الخبيثة داخل روابط تبدو مشروعة. جدار من تسلسلات `%XX` يخفي النطاق الحقيقي عن النظرة السريعة. فك ترميز الرابط قبل النقر يكشف الوجهة الحقيقية خلال ثوانٍ.
يستخدم المهاجمون أيضًا الترميز المزدوج لتجاوز فلاتر الأمان. قد يحظر الفلتر `../` كاجتياز للمسار، لكنه يفوّت `%252e%252e%252f` الذي يتحول إلى التسلسل نفسه بعد تمريرتين. توثق OWASP هذه الحيلة كأسلوب شائع للتهرب من الفلاتر. فك ترميز المدخلات المشبوهة مرتين خطوة معيارية في المراجعات الأمنية واختبارات الاختراق.
هذه الأداة آمنة لفحص السلاسل العدائية. يحدث فك الترميز كنص عادي داخل متصفحك، لذلك لا يتم تنفيذ أي شيء أو متابعته أو طلبه.
لماذا تستخدم هذا المفكك والمشفر لعناوين URL عبر الإنترنت؟
ترسل كثير من الأدوات عبر الإنترنت مدخلاتك إلى خادم من أجل المعالجة. يعمل مفكك URL هذا بالكامل على جانب العميل، لذلك تبقى السلاسل التي تحتوي على رموز الجلسات أو مفاتيح API أو البيانات الشخصية على جهازك. هذا الضمان مهم عندما تقوم بتصحيح حركة الإنتاج.
الأداة مجانية ولا تتطلب تسجيلًا ولا تفرض أي حدود على عدد التحويلات أو طول الإدخال. الترميز وفك الترميز موجودان في الواجهة نفسها، لذلك يكفي نقرة واحدة للتبديل بينهما. وتعمل الأداة بنفس الطريقة على متصفحات سطح المكتب والجوال.
يجمع Toolkit Wizard هذه الأداة مع أدوات أخرى مفيدة للعمل اليومي في التطوير. افحص الرموز باستخدام مفكك ومشفر JWT أو قم بترميز العلامات باستخدام أداة تحويل HTML إلى رموز واستعادته.
الأسئلة الشائعة
أسئلة مكررة