السبب وراء ظهور تلك الرموز الغريبة في روابط الانترنت

بالتأكيد لاحظت ظهور رموز غريبة مثل B5% أو سواها ضمن روابط الإنترنت، فدعنا نفسر سبب ظهورها ومعناها.
أثناء تصفح الإنترنت في أي وقت من الأوقات بالتأكيد لاحظت ظاهرة غريبة تحدث للروابط من حين لآخر، لاسيما عند نسخ رابط موقع أو صفحة ويب ولصقه في مكان آخر، حيث قد تجد أن الرابط البسيط مثل "مصر/example.com" يتحول فجأة عند نسخه من المتصفح إلى سلسلة معقدة من الرموز: "example.com/%D9%85%D8%B5%D8%B1". يمكنك تجربة الأمر بنفسك، فقط أنسخ رابط يحتوي أحرف عربية وستجد عند لصقه في مكان آخر أن الحروف أسُتبدلت برموز غريبة تتكون من علامة النسبة المئوية (%) وأرقام وأحرف إنجليزية. بالطبع فهذا التحول المفاجئ قد يبدو محيرًا للوهلة الأولى، لكنه في الواقع نتيجة لتاريخ طويل من تطور الإنترنت والحاجة إلى ما يمكن أن نُطلق عليه "التوافق العالمي" فدعونا نستهل السطور التالية في هذا المقال لفهم أسبابها وآثارها.
روابط الانترنت

الرموز الغريبة في روابط الانترنت

الحوسبة الأمريكية والحاجة إلى التكيف العالمي

لا يخفى على أحد أن تاريخ الكمبيوتر والحوسبة عمومًا مرتبط بتاريخ الولايات المتحدة الأمريكية، فالغالبية العظمى من التقنيات الحديثة إما طورت في الولايات المتحدة أو طورت من تقنيات صنعت هناك أصلًا. هذا الأمر له تأثير عميق على كيفية تعامل الكمبيوتر مع اللغات المختلفة عند انتشاره على مستوى العالم، وهو سبب القضية التي نتناولها في هذا المقال. لفهم ظاهرة تحول أحرف الروابط إلى رموز غريبة، علينا أن نعود بالزمن إلى بدايات عصر الحوسبة عندما كان ضروريًا وجود معيار يحول لغتنا البشرية المكونة من الأحرف والأرقام والرموز إلى اللغة التي تفهمها الآلة والمكونة من الأرقام الثنائية 0 و1.

ASCII Table

لذلك في عام 1960، تم تطوير نظام ترميز يسمى ASCII. كان هذا النظام ثوريًا في وقته، حيث ساعد في تحويل الأحرف والأرقام وبعض الرموز إلى لغة الآلة بحيث أن كل حرف في ASCII يشغل مساحة 7 بت فقط. وللتذكرة، فإن تكنولوجيا التخزين ونقل المعلومات عند ظهور ترميز ASCII كانت محدودة جدًا، وبالتالي اعتماد نظام الـ 7 بت سمح بتخزين 128 رمزًا مختلفًا (2^7 = 128)، وهو عدد كافٍ لتمثيل الحروف الإنجليزية والأرقام والعلامات الضرورية. كان لهذا ميزة إضافية أخرى، حيث ترك المجال للبت الثامن ليُستخدم في التحقق من سلامة البيانات (مثل بت التكافؤ) في الكثير من أنظمة الاتصال القديمة، مما عزز دقة نقل المعلومات.

لكن ASCII كانت به مشكلة كبيرة وهي أنه صُمم ليتعامل بشكل متوافق مع اللغة الإنجليزية فقط. وهذا يعني أنه يحتوي على الأحرف اللاتينية من A إلى Z (بالأحرف الكبيرة والصغيرة)، والأرقام، وبعض الرموز الأساسية. لكنه لم يتضمن الأحرف الخاصة بالعديد من اللغات الأوروبية الأخرى، ناهيك عن اللغات غير اللاتينية مثل العربية أو الصينية أو الروسية حيث لا تستطيع كتابة أحرف هذه اللغات باستخدام نظام ترميز ASCII وهنا كان لابد من إيجاد حل يتماشى مع انتشار الحوسبة خارج الولايات المتحدة.

ظهور طريقة الترميز بالنسبة المئوية

Percent-encoding

مع انتشار استخدام الكمبيوتر عالميًا، أصبح من الواضح أن هناك حاجة ملحة لنظام ترميز أكثر شمولية من ASCII. ظهرت العديد من الحلول، مثل UTF-8، التي تسمح بتمثيل جميع أنظمة الكتابة في العالم تقريبًا. ومع ذلك، ظل ASCII هو الأساس في العديد من جوانب البرمجة والإنترنت، وذلك بسبب هيمنة اللغة الإنجليزية في عالم التكنولوجيا. وعندما ظهر الويب في التسعينيات لأول مرة، تم اختيار ASCII كنظام الترميز الأساسي للروابط. هذا يعني أنه في السنوات الأولى من الإنترنت، كانت جميع عناوين المواقع والروابط تُكتب حصريًا بالأحرف الإنجليزية، علمًا أن هذا تقليد مستمر حتى اليوم بل ونستخدمه نحن ضمن موقعنا. لكن مع نمو الإنترنت عالميًا، أصبح من الضروري إيجاد طريقة لتضمين الأحرف من مختلف اللغات في الروابط لتسهيل انتشار الإنترنت بنحو أكبر.

كان هناك خياران أمام مطوري الويب آنذاك: الأول هو تغيير نظام الترميز المستخدم في روابط الويب بشكل كامل، وهو أمر يسهل قوله عن تنفيذه فعليًا نظرًا لحجم الإنترنت وتعقيده. أما الثاني، والذي تم اعتماده بالفعل، هو إيجاد طريقة لتمثيل الأحرف غير الإنجليزية باستخدام الأحرف المسموح بها في نظام ASCII. ما أدى إلى ظهور ما يُعرف بـ "ترميز النسبة المئوية" Percent Encoding.

ترميز النسبة المئوية هي طريقة بسيطة وذكية لتجنب اعتماد نظام ترميز آخر غير ASCII. فكرتها الأساسية هي استخدام علامة النسبة المئوية (%) كمؤشر على بداية رمز خاص، بحيث يفهم المتصفح أنه بعد علامة النسبة المئوية، يأتي رقمان سداسيان عشريان يمثلان الحرف أو الرمز المطلوب من لغة لا تُنسب إلى نظام ASCII. في البداية استُخدمت هذه الطريقة لإدخال بعض الأحرف الموجودة في ترميز ASCII، لكنها تمتلك استخدامًا محددًا في عناوين المواقع. على سبيل المثال، علامة ( / ) تعني الانتقال إلى صفحة فرعية داخل الموقع، لذا لا يجوز أن توجد في الجزء المُستبدل بشكل عشوائي، بل يتم استبدالها لتكون "%2F"، وكذلك إشارة التعجب لا تظهر بشكلها المعتاد ( ! ) بل تظهر "%21"، وفي حال أردت تضمين النسبة المئوية نفسها يجب أن تقوم بتحويلها إلى رمزها المقابل "%25" والمسافة تتحول إلى "%20".

مع انتشار الإنترنت، تم استخدام نفس الطريقة لتمثيل أي حرف أو رمز في أي لغة باستخدام الأحرف المسموح بها في ASCII فقط، لكن نتيجة لمحدودية ما يمكن التعبير عنه بترميز مئوي واحد، عادة ما يتم ترميز معظم الأحرف غير اللاتينية إلى ترميزين مئويين متتاليين.

وهكذا، يمكن للروابط أن تحتوي على نصوص بأي لغة، مع الحفاظ على التوافق مع ASCII. على سبيل المثال: الحرف العربي "ص" يتم ترميزه إلى "%D8%B5". ونتيجة لتلك الطريقة، تتسم الروابط التي تحتوي على نصوص باللغة العربية بطول ملحوظ، فكلمة بسيطة مثل "مرحبا" في رابط قد تتحول إلى سلسلة طويلة من الرموز (%D9%85%D8%B1%D8%AD%D8%A8%D8%A7).

الفرق بين عرض الروابط ونسخها

الفرق بين عرض الروابط ونسخها

عند التعامل مع متصفحات الإنترنت اليوم، قد تلاحظ أن الروابط التي تحتوي على نصوص عربية تظهر وكأنها طبيعية في شريط العنوان ودون أي تحويلات، وهذا نتيجة لتطور المتصفحات الحديثة، حيث تعمل تلقائيًا على فك ترميز الروابط لتسهيل قراءتها على المستخدمين. لكن هذا المظهر البسيط يخفي وراءه عملية معقدة، ففي حقيقة الأمر، عندما يقوم المتصفح بإرسال رابط موقع أو صفحة على الويب فإنه يُنقل بصيغته المشفرة بطريقة الترميز بالنسبة المئوية. هذا يعني أن الرابط الذي تراه كنص عربي واضح في شريط العنوان، يتم في الواقع إرساله – إلى السيرفرات – كسلسلة من الرموز والأرقام.

لم يكن الحال هكذا في الماضي، فمع بدايات الإنترنت كانت المتصفحات تعرض الروابط باستخدام ترميز النسبة المئوية فقط، مما جعل قراءة الروابط التي تحتوي على لغات غير لاتينية أمرًا صعبًا للغاية. بل إن العديد من المتصفحات القديمة لم تكن تدعم إدخال روابط بأحرف غير لاتينية أصلاً وتقبل فقط بالروابط المتوافقة مع نظام ASCII بالكامل. 

مع تطور المتصفحات ودعمها عرض الأحرف الأصلية، ظهرت تحديات جديدة تتعلق بالتوافقية. فالروابط التي تظهر بشكل صحيح في المتصفحات الحديثة قد لا تعمل في الإصدارات القديمة، مما يشكل عائقاً أمام تجربة تصفح سلسة وموحدة. للتغلب على هذا، تم التوصل إلى حل وسط ذكي وهو أن تعرض المتصفحات الروابط بأحرفها الأصلية لسهولة القراءة، لكنها تحتفظ بالنسخة المشفرة أثناء التعامل على الويب. وهكذا، عندما تقوم بنسخ رابط يحتوي على نص عربي، فإنك تحصل على النسخة المشفرة. هذا الحل يضمن التوافق مع الأنظمة والخدمات القديمة التي قد لا تزال تعتمد على ترميز ASCII، بينما يوفر تجربة سلسة وسهلة القراءة للمستخدمين.

تأثير الترميز بالنسبة المئوية على شكل الروابط

القيود التاريخية على طريقة كتابة الروابط كان لها تأثير عميق على كيفية تسمية المواقع وتنظيمها. في البداية، كانت معظم المواقع، حتى تلك الموجهة لجماهير غير ناطقة بالإنجليزية، مُجبرة على استخدام أسماء إنجليزية في عناوينها. وحتى اليوم، نجد أن معظم المواقع الكبرى تستخدم أسماء نطاقات إما باللغة الإنجليزية أو على الأقل تهجئة للاسم الأصلي مكتوبة بالإنجليزية.

ومع تطور الويب ودعمه للغات المختلفة، بدأت بعض المواقع في تسمية عناوين صفحات بلغاتها المحلية، بينما تظل عناوين المواقع نفسها (اسم الدومين) بالإنجليزية. وهذا بالنسبة لمعظم المواقع، فبسبب قدرة المتصفحات على إظهار الروابط دون ترميزها، قامت مواقع مختلفة حول العالم باستخدام لغاتها الأصلية في اسم الدومين أيضًا. ومع ذلك، في العالم العربي على سبيل المثال، لا يزال هذا الأمر نادراً نسبيًا. صحيح لا يوجد ما يمنع من تسمية كلًا من الموقع وعناوين الصفحات الداخلية باللغة العربية، لكن امتداد الدومين نفسه، مثل "COM."، غير قابل للتعريب، وبالتالي إذا أصبح اسم الموقع مكتوب بالعربية فستكون هناك بمشاكل عديدة من حيث التنسيق وحتى الكتابة، فاللغة العربية تكتب من اليمين إلى اليسار، بينما تكتب الإنجليزية ومعظم لغات العالم من اليسار إلى اليمين.

في النهاية، الرموز الغريبة التي نراها في الروابط هي نتيجة لتاريخ طويل من تطور الإنترنت، والحاجة إلى التوافق بين الأنظمة القديمة والجديدة، واللغات المختلفة حول العالم، فهي تمثل حلاً عمليًا لمشكلة معقدة، تسمح للإنترنت بأن يكون حقاً شبكة عالمية، مع الحفاظ على إمكانية الوصول والتوافق للجميع.
عبدالرحمن
عبدالرحمن
مدير المحتوى بموقع عالم الكمبيوتر منذُ قرابة 10 سنوات، مدفوعًا بشغفي العميق بالتكنولوجيا الذي أحمله معي في كل مقال ومراجعة.
تعليقات

احدث المقالات