في مسار الطلب الذي تتبّعتَه في المقال السابق، «كيف يعمل الإنترنت»، كانت أول خطوة يقوم بها المتصفّح حين تضغط Enter هي قراءة العنوان الذي كتبتَه. هذا العنوان، الـURL، يبدو سطرا بسيطا، لكنّه في الحقيقة تعليمات مضغوطة تخبر المتصفّح ماذا تريد، وأين يجده، وكيف يصل إليه. في هذا المقال أفتحه جزءا جزءا.
تخيّل الإنترنت مدينة فيها مليارات المباني (الخوادم)، وفي كل مبنى غرف لا تُحصى (الصفحات والصور والملفّات). للوصول إلى أيّ شيء في هذه المدينة تحتاج إلى نظام عنونة دقيق يفهمه الجميع. الـURL هو ذلك النظام.
URI وURL وURN: الهوية مقابل العنوان
قبل تشريح العنوان، يلزم تمييز صغير. المفهوم الأشمل هو URI (معرّف الموارد الموحّد): نظام يمنح هوية فريدة لأيّ «مورد» يمكن تصوّره، صفحة كان أو صورة أو كتابا.[2] ويتفرّع منه نوعان، يفصل بينهما سؤالان مختلفان: «ما هذا الشيء؟» مقابل «أين أجده؟».
الاسم (URN): ماذا يكون الشيء
الـURN معرّف فريد ثابت للمورد بصرف النظر عن مكانه، أشبه برقم ISBN للكتاب. فرقم urn:isbn:978-3-16-148410-0 يشير إلى الكتاب نفسه سواء كان في مكتبة بالقاهرة أو متجر في نيويورك، بل حتى لو لم يُطبَع بعد. إنه يصف «ماذا»، لا «أين». لكنّ الويب مبنيّ على فكرة الوصول، والـURN لا يقول لك كيف تصل، فلهذا قلّ استعماله على الويب.

العنوان (URL): أين يقع الشيء وكيف تصل إليه
الـURL هو المعرّف الأشيع، وهو أشبه بالعنوان البريديّ الكامل: لا يكتفي بأن يقول لك أيّ مورد، بل يرسم لك طريق الوصول إليه. يدمج ثلاثة أشياء: ماذا تريد (صفحة about.html)، وأين تجده (على الخادم في example.com)، وكيف تصل إليه (بروتوكول https). فالعنوان الذي تستعمله كل يوم، https://www.example.com/about.html، يجمع ذلك كلّه في سطر.
باختصار: الـURI هو الهوية بمعناها الواسع، والـURN اسم ثابت لا يتغيّر، والـURL عنوان قد يتغيّر إن انتقل المورد. ولأن الويب قائم على الوصول، فبقيّة المقال عن الـURL وحده.
وفي الاستعمال اليوميّ يقول الناس «URL» لكل شيء، بل صارت بعض المواصفات الحديثة تستعمل «URL» مصطلحا جامعا وتترك التفريق الدقيق لأهل الاختصاص. فالتمييز السابق يفيدك لتفهم الجذور، لكن لا تنزعج إن وجدتَ الكلمتين تُستعملان بالتبادل.
تشريح العنوان: أجزاء URL الستة
لنأخذ عنوانا يبدو معقّدا لكنّه نموذجيّ، ونفكّكه: https://www.example.com:443/products/electronics?type=phone#details. ولكلّ جزء فاصل يميّزه: :// بعد المخطّط، و: قبل المنفذ، و/ تبدأ المسار، و? تبدأ سلسلة الاستعلام، و# تبدأ الجزء. متى عرفتَ الفواصل، قرأتَ أيّ عنوان مهما طال. وفي الشكل 1 ترى الأجزاء الستة مجتمعة في عنوان واحد، كلّ تحت قوسه.
المخطّط (Scheme): بأيّ لغة تُخاطِب الخادم؟
الجزء الأول، وينتهي بـ://، يخبر المتصفّح بالبروتوكول الذي يستعمله للوصول، أي «اللغة» التي سيخاطب بها الخادم.[1] وقد صارت المتصفّحات الحديثة تفترض https تلقائيا حين تكتب اسم النطاق وحده بلا مخطّط. أشهر ما تصادفه:
- http://: بروتوكول الويب الأصليّ، ينقل الصفحات نصّا مكشوفا يمكن لأيّ متنصّت قراءته، فصار اليوم يحمل تحذير «غير آمن».
- https://: هو HTTP نفسه لكن داخل طبقة تشفير اسمها SSL/TLS تُعمّي البيانات بين متصفّحك والخادم، وهو المعيار القياسيّ لكل موقع حديث. (لبروتوكول SSL/TLS وHTTP مقالان مستقلّان في السلسلة.)
- ftp://: متخصّص في نقل الملفّات رفعا وتنزيلا، ما زال المطوّرون ومديرو الخوادم يستعملونه.
- mailto:: ليس وسيلة نقل بل أمر للمتصفّح بفتح برنامج بريدك وإنشاء رسالة جاهزة، مثل
mailto:[email protected]. - file:///: يفتح ملفّا على جهازك مباشرةً لا على الإنترنت، مفيد للمطوّرين لاختبار صفحاتهم محليا.
اسم المضيف والنطاق: عنوانك على الشبكة
إن كان المخطّط يحدّد وسيلة النقل، فاسم المضيف هو وجهتك: العنوان المقروء الذي يحدّد الخادم. وهو الاسم الذي يُرسَل إلى نظام DNS ليُترجَم من اسم مألوف إلى عنوان IP رقميّ تفهمه الأجهزة، وهو موضوع المقال التالي. يتكوّن اسم المضيف من ثلاثة أجزاء تُقرأ من اليمين إلى اليسار:
- نطاق المستوى الأعلى (TLD): الجزء الأخير، أشبه بنوع الحيّ، ومنه العامّ مثل
.comو.org، ونطاقات الدول مثل.sa(السعودية) و.eg(مصر)، ونطاقات وصفية حديثة مثل.shopو.tech. - اسم النطاق: الاسم الذي تسجّله ليمثّلك، مثل
google. يجب أن يكون فريدا ضمن نطاقه الأعلى، فلا يوجد إلاgoogle.comواحد. هو جوهر هويتك الرقمية. - النطاق الفرعي: ما يأتي قبل اسم النطاق لتقسيم موقعك، مثل
blog.example.comأوshop.example.com. وأشهرهاwww، وهو اختصار تاريخيّ لـWorld Wide Web صار استعماله اختياريا اليوم.
ونقطة يخلط فيها كثيرون: أنت لا «تملك» اسم النطاق ملكية أبدية، بل تستأجره لمدّة تبدأ من سنة وتجدّدها، عبر «مُسجِّل نطاقات» معتمد. فإن أهملتَ التجديد عاد الاسم متاحا لغيرك. وتنسّق هذه المنظومة كلَّها هيئةُ ICANN التي مرّ ذكرها في المقال السابق، فهي ما يضمن أن لكل نطاق مالكا واحدا في العالم لا يتكرّر.
والقراءة من اليمين إلى اليسار تكفي في example.com، وتنكسر في example.com.sa. فاللاحقة هنا جزءان لا جزء: com.sa لاحقة عامّة لا يملكها أحد بعينه، والاسم الذي يُسجَّل فعلًا هو example.com.sa بكامله. ولا يستنبط المتصفّح ذلك بعدّ النقاط، فلا قاعدة في عدد النقاط تُميّز com.sa عن example.com؛ وإنّما يحمل معه قائمة تُحدَّث دوريّا اسمها «قائمة اللواحق العامّة» (Public Suffix List)، فيها كلّ لاحقة يجوز التسجيل تحتها.[7] والنطاقات العربية من هذا النوع كثيرة: com.sa و com.eg و net.ae. والأثر عمليّ لا نظريّ، فعلى هذه القائمة يعتمد المتصفّح ليمنع موقعا على example.com.sa من كتابة كوكي على com.sa كلّها، أي على كلّ من يشترك معه في اللاحقة.
وفي بنية العنوان موضع قبل اسم المضيف قليل من يعرفه: يقبل اسم مستخدم وكلمة مرور، وتفصله عن المضيف علامة @. تخلّت عنه المتصفّحات لأسباب أمنية ولم يبقَ له استعمال مشروع، لكنّ صيغته ما زالت مقروءة، وعليها يقوم خداع شائع.[6] فالعنوان https://[email protected] يأخذك إلى evil.example ولا علاقة له بـpaypal.com، لأنّ كلّ ما يسبق علامة @ معلوماتُ مستخدم لا مضيف. والقاعدة التي تعصمك من هذا قصيرة: المضيف هو ما يقع بعد آخر علامة @ وقبل أوّل شَرطة مائلة. اقرأ العنوان من ذلك الموضع، لا من أوّله.
المنفذ (Port): أيّ باب في المبنى؟
إن كان اسم المضيف عنوان المبنى، فالمنفذ رقم الباب. الخادم الواحد قد يشغّل خدمات عدّة معا (ويب، بريد، قاعدة بيانات)، ورقم المنفذ يحدّد أيّها تخاطب. وهو نقطة اتصال افتراضية مرقّمة يديرها نظام تشغيل الخادم، وأرقامه تمتدّ من 0 إلى 65535، بعضها معيار معترف به عالميا: المنفذ 80 لـHTTP، و443 لـHTTPS، و21 لـFTP، و25 لبريد SMTP.[3] وهذه المنافذ المنخفضة (من 0 إلى 1023) تُسمّى «المعروفة» ومحجوزة للخدمات الأساسية، بينما تبقى الأرقام الأعلى متاحة للتطبيقات، ويأخذ متصفّحك نفسه منفذا مؤقّتًا من هذا المدى ليستقبل عليه ردّ الخادم.
وثلاثة من هذه الأجزاء لا تعمل فُرادى: فالمخطّط واسم المضيف والمنفذ مجتمعة هي ما يسمّيه الويب «الأصل» (Origin).[6] وهذا الاسم ليس ترفا اصطلاحيّا، فالأصل هو حدّ الأمان الذي يبني عليه المتصفّح قراراته: بالأصل تُربَط الكوكيز، وبه يُحكَم على الشيفرة العاملة في صفحة أيحقّ لها أن تقرأ بيانات صفحة أخرى أم لا. ويكفي أن يختلف جزء واحد من الثلاثة ليصير الأصل غيرَه: https://example.com و http://example.com أصلان لا أصل واحد، وكذلك example.com و shop.example.com، وكذلك المنفذ 443 والمنفذ 8443 على المضيف نفسه. ولهذا لا يكفي أن تنظر إلى اسم النطاق وحده حين تحكم على صفحة.
ولماذا لا تراه عادةً؟ لأن المتصفّح يصل تلقائيا إلى المنفذ الافتراضيّ بحسب المخطّط: http:// إلى 80، وhttps:// إلى 443. لا يظهر الرقم إلا حين يستعمل الخادم منفذا غير قياسيّ، كما في خادم اختبار محليّ على العنوان http://localhost:3000، حيث يصير :3000 ضروريا لتوجيه المتصفّح إلى الباب الصحيح.

المسار (Path): أين الملفّ داخل الخادم؟
أوصلك اسم النطاق إلى المبنى، والمنفذ إلى الباب، وبقي أن تصل إلى الملفّ بعينه داخل الخادم. هذا ما يفعله المسار، ويعمل تمامًا كمسار المجلّدات على جهازك. في المثال /products/electronics: الشَّرطة الأولى تمثّل الجذر (المجلّد الرئيس للموقع)، ثم products مجلّد داخله، وelectronics مجلّد فرعيّ. هذه البنية الهرمية تساعد على تنظيم المحتوى منطقيا.
وغالبًا ما ينتهي المسار باسم ملفّ وامتداده، مثل /about-us.html، فالامتداد يخبر المتصفّح بنوع الملفّ. وقد تلاحظ أن كثيرًا من الروابط الحديثة لا امتداد لها، مثل example.com/products/electronics، وهذا لا يعني غياب الملفّ، بل أن الخادم هُيّئ ليُخفي الامتداد فيصير العنوان أقصر وأوضح للقارئ.
وملاحظة تنفع المطوّر: خلافا لاسم النطاق الذي لا يفرّق بين كبير الحروف وصغيرها، كثير من الخوادم (خاصة العاملة بنظام Linux) تعدّ المسار حسّاسا لحالة الأحرف، فقد يكون /Page ملفّا غير /page.
سلسلة الاستعلام (Query): تعليمات للخادم
إن كان المسار رقم المكتب، فسلسلة الاستعلام هي المذكّرة التي تسلّمها للموظّف داخله، فيها تعليمات دقيقة. بها يمرّر المتصفّح معلومات إضافية إلى الخادم، فيردّ بصفحة ديناميكية مخصّصة بدل ملفّ ثابت. تبدأ بعلامة استفهام ?، وتتكوّن من أزواج «مفتاح=قيمة»، ويفصل بينها الرمز &. فالسلسلة ?category=laptops&brand=apple&sort=price-desc تقول: «فئة الحواسيب المحمولة، ماركة آبل، مرتّبة من الأغلى إلى الأرخص». ولها ثلاثة استعمالات شائعة:
- البحث: كلّما بحثتَ في جوجل استعملتَ سلسلة استعلام، فبحثك يظهر في العنوان
google.com/search?q=...، حيث المعاملqيحمل عبارة بحثك ليبني الخادم صفحة نتائجك. - التصفية والفرز: أساس المتاجر الإلكترونية: الرابط
/products?category=smartphones&brand=apple&color=blueأمر للخادم أن يستعلم قاعدة بياناته ويبني صفحة تضمّ هذه المنتجات وحدها. - تتبّع الحملات: الروابط الطويلة في الإعلانات تحمل معاملات UTM مثل
?utm_source=facebook&utm_campaign=ramadan_sale. لا تغيّر الصفحة، بل تُخبر أدوات التحليل من أين أتى الزائر وأيّ حملة جلبته.
وقاعدة مهمّة هنا: لا تضع بيانات حسّاسة (كلمة مرور أو رمزا سرّيا) في سلسلة الاستعلام، فالعناوين تُسجَّل في خوادم الويب وفي سجلّ متصفّحك، وتظهر لمن يقف خلف شاشتك أو يتلقّى منك الرابط. للبيانات الحسّاسة موضع أكثر أمانا داخل طلب HTTP نفسه لا في العنوان الظاهر.

الجزء (Fragment): قفزة داخل الصفحة
الجزء الأخير يؤدّي وظيفة تختلف عن كل ما سبق. فبينما يرسل المسار وسلسلة الاستعلام تعليمات إلى الخادم، الجزء رسالة إلى المتصفّح وحده. اسم النطاق والمسار يوصلانك إلى «الكتاب» الصحيح، أما الجزء فعلامة مرجعية تقول لك إلى أيّ صفحة وفقرة تقفز بعد فتح الكتاب.
يبدأ بعلامة #، والنصّ بعده يطابق سمة id لعنصر في الصفحة. فإن وُجد في صفحة عنوان يحمل id="main-idea":
<a href="#main-idea">الفكرة الرئيسية</a>
...
<h2 id="main-idea">الفكرة الرئيسية</h2>
فالنقر على الرابط يقفز بك مباشرةً إلى ذلك العنوان. والنقطة التقنية الأهمّ: الجزء لا يُرسَل إلى الخادم أبدًا.[1] يطلب المتصفّح من الخادم العنوان كاملا دون ما بعد #، فيستقبل الصفحة كلّها (والخادم لا يعرف أنك تريد جزءا بعينه)، ثم يبحث المتصفّح محليا عن العنصر المطابق ويتمرّر إليه. لهذا يُستعمل الجزء في جداول محتويات المقالات الطويلة، وفي صفحات الأسئلة الشائعة، وفي إرسال رابط يقفز بمن يتلقّاه إلى فقرة بعينها. وله استعمال حديث آخر: تطبيقات الصفحة الواحدة (SPA) استعملت الجزء سنوات للتنقّل بين «صفحاتها» الداخلية (مثل #/profile) دون طلب جديد من الخادم، استفادة من أنه لا يُغادر المتصفّح.
وللجزء استعمال أحدث لا يحتاج إلى سمة id في الصفحة أصلًا. فصار بوسعك أن تُشير إلى عبارة بنصّها لا إلى عنصر باسمه، بصيغة تبدأ بـ#:~:text= يتبعها النصّ المطلوب، فيبحث المتصفّح عن أوّل موضع يطابقه، ثمّ يقفز إليه ويظلّله.[8] وإن تكرّرت العبارة في الصفحة أمكنك تضييق المطابقة بما يسبقها وما يليها. والطريف أنّ هذا يعمل على أيّ صفحة في الويب حتى إن لم يضع صاحبها معلما واحدا، وهو أوضح دليل على ما قلتُه قبل قليل: العمل كلّه يجري في متصفّحك، فلا يبلغ الخادمَ من هذا شيء.
الروابط المطلقة والنسبية
حين تكتب عنوانا في المتصفّح فأنت تستعمل «رابطا مطلقًا»: عنوانا كاملا فيه المخطّط واسم المضيف وكل ما يلزم للوصول من أيّ مكان، مثل https://example.com/blog/article. لكن داخل صفحات الموقع نفسه، يستعمل المطوّرون غالبًا «روابط نسبية»: عناوين مختصرة تُفهَم بالنسبة إلى الصفحة الحالية، مثل /blog/article أو ../images/logo.png.
والفائدة عملية: لو نُقل الموقع من نطاق إلى آخر، أو من http إلى https، تبقى الروابط النسبية صحيحة دون تعديل، لأنها لا تذكر اسم المضيف أصلًا بل تُحلّ بالنسبة إلى عنوان الصفحة التي وردت فيها. لهذا تكثر الروابط النسبية داخل بنية الموقع، وتُحجَز المطلقة للإحالة إلى المواقع الأخرى.
والروابط النسبية نفسها نوعان: ما يبدأ بشَرطة مائلة / يُحسَب من جذر الموقع مهما كانت الصفحة الحالية، وما لا يبدأ بها يُحسَب من مجلّد الصفحة التي وردت فيها. الخلط بين الاثنين سبب شائع لكسر الصور والروابط داخل المواقع، فانتبه إلى نقطة البداية.
لماذا ترى رموزا مثل %20؟ ترميز العنوان
لا يقبل العنوان أيّ حرف كان، فمجموعة الأحرف المسموحة فيه محدودة: حروف لاتينية وأرقام وقليل من الرموز. فما لا يدخل في هذه المجموعة، كالمسافة أو الحروف العربية، يُحوَّل إلى «ترميز نسبيّ» (Percent-Encoding): يُكتب كلُّ بايت على هيئة علامة % يتبعها رقمه بالنظام الست عشري.[2] لهذا تصير المسافة %20، وقد ترى عنوان بحث عربيّ مكتوبا سلسلة طويلة من %D8 و%D9، وهي بايتات الحروف العربية مرمّزة. المتصفّح يرمّز ما تكتبه قبل إرساله، ويفكّ الترميز عند العرض، فلا تشعر بذلك غالبًا.
وللأحرف في العنوان نوعان: «غير محجوزة» تُكتب كما هي (الحروف اللاتينية والأرقام وقليل من الرموز)، و«محجوزة» لها معان خاصة مثل / و? و# و&؛ فإن أردتَ أحدها جزءا من قيمة لا فاصلا وجب ترميزه. ولسبب تاريخيّ تُكتب المسافة أحيانا في سلاسل الاستعلام + بدل %20. القاعدة العملية: المتصفّح والخادم يتكفّلان بهذا، لكن إن بنيتَ روابط بنفسك فرمّز القيم لئلّا ينكسر العنوان.
حين يكون العنوان بالعربية: IDN وPunycode
نظام أسماء النطاقات في أصله لا يفهم إلا حروفا لاتينية وأرقاما والشَّرطة. فكيف تُكتب نطاقات عربية كاملة مثل «السعودية.» أو «مصر.»؟ الجواب نظام «أسماء النطاقات المُدوّلة» (IDN): يحوّل المتصفّح الاسم العربيّ خلف الكواليس إلى صيغة لاتينية تبدأ بالبادئة xn-- عبر خوارزمية اسمها Punycode، فيبقى ما تراه عربيا بينما يتعامل النظام مع الصيغة اللاتينية.[5] فالاسم العربيّ يُسجَّل فعليا في نظام DNS بصيغة لاتينية تبدأ بـxn--، بينما يُظهر المتصفّح في شريط العنوان نصّه العربيّ المقروء.
وللعربية مكانة خاصة هنا: في الخامس من مايو 2010 صارت نطاقات عربية أوّلَ نطاقات دول بأبجدية غير لاتينية تدخل الإنترنت فعليا، وكانت مصر والسعودية والإمارات في المقدّمة.[4] هذا يتيح لك تسجيل عنوان عربيّ بالكامل. لكن انتبه إلى وجه أمنيّ: لأن بعض الحروف تتشابه شكلا بين الأبجديات، يستغلّ المحتالون التشابه لانتحال عناوين مواقع معروفة (هجوم يُعرف بـ«تشابه المحارف»)، فتأكّد دائمًا من العنوان قبل أن تثق به. ولهذا تلجأ بعض المتصفّحات إلى إظهار صيغة xn-- نفسها بدل النصّ العربيّ حين تشكّ في خلط مريب بين أبجديّتين، تحذيرا لك. أما تسجيل نطاق عربيّ فمتاح اليوم عبر المُسجِّلين أنفسهم الذين يبيعون النطاقات اللاتينية.
ما الذي يجعل العنوان جيدا؟
بعد فهم تشريح العنوان، يبقى سؤال عمليّ: ما صفات العنوان الجيّد؟ الجواب يدور حول الوضوح، لقارئ بشريّ أولا (ومحرّكات البحث تستفيد منه تبعا):
- قصير وبسيط: أسهل في القراءة والنسخ والمشاركة، وأكثر ثقة في عين القارئ.
example.com/what-is-a-urlخير من مسار من ست طبقات. - مقروء ووصفيّ: يفهم القارئ محتوى الصفحة من العنوان قبل أن ينقر.
/products/laptops/dell-xpsأوضح من/cat.php?id=15. - يفصل الكلمات بالشَّرطة
-لا بالشَّرطة السفلية: تُقرأ الشَّرطة فاصلا بين الكلمات، أما_فقد تَدمج الكلمتين. - أحرف صغيرة دائمًا: بعض الخوادم يفرّق بين
/Pageو/pageفيعدّهما صفحتين، والالتزام بالأحرف الصغيرة يجنّبك هذا الالتباس. - غير مفرط في الطول: للمتصفّحات والخوادم حدود عملية لطول العنوان (آلاف الأحرف)، والعناوين الطويلة جدا قد تُقتطع عند المشاركة أو تُرفَض، فأبقِها في حدود المعقول.
الأجزاء مجتمعة في عنوان واحد
بعد تفكيك الأجزاء واحدا واحدا، فلنرها الآن مجتمعة في عنوان واحد كامل، كلّ في موضعه:
اقرأه كجملة من اليسار: «تكلّم بلغة HTTPS الآمنة، مع المضيف shop.example.com على المنفذ 443، واطلب المسار /products/123، بالتعليمة color=red، ثمّ اقفز إلى قسم المراجعات في الصفحة». سطر واحد يحمل كلّ ما يحتاجه المتصفّح ليصل بدقّة إلى ما تريد، وهذا ما يجعل العنوان أكثر من مجرّد اسم تكتبه.
من العنوان إلى الموقع الفعليّ
العنوان الذي فكّكتَه ليس سطرا اعتباطيا، بل نظام منظّم يقول للمتصفّح ماذا تريد وأين ولماذا، ويتيح التنقّل في مدينة من مليارات الصفحات بدقّة. لكنّه ما زال اسما، والأجهزة لا تفهم الأسماء بل الأرقام.
فما إن يقرأ المتصفّح اسم المضيف داخل العنوان حتى ينتقل إلى الخطوة التالية: تحويل ذلك الاسم إلى عنوان IP. وهذا عمل «دليل هاتف الإنترنت»، موضوع المقال التالي: «نظام أسماء النطاقات (DNS)».
المصادر
- MDN Web Docs: What is a URL? أجزاء العنوان الستة، وأن الجزء (Fragment) لا يُرسَل إلى الخادم.
- IETF: RFC 3986: URI Generic Syntax. تعريف الـURI، والأحرف المسموحة، والترميز النسبيّ (Percent-Encoding).
- IANA: Service Name and Transport Protocol Port Number Registry. أرقام المنافذ المعيارية (80، 443، 21، 25).
- ICANN: Arabic IDN ccTLDs. دخول أول نطاقات الدول العربية الإنترنت في 5 مايو 2010 (مصر، السعودية، الإمارات).
- Wikipedia: Internationalized domain name. آلية IDN وتحويل الأسماء غير اللاتينية عبر Punycode إلى صيغة xn--.
- web.dev: What are the parts of a URL?. تعريف «الأصل» (المخطّط واسم المضيف والمنفذ مجتمعة)، وأنّ موضع اسم المستخدم وكلمة المرور مهجور لأسباب أمنية.
- Mozilla: Public Suffix List. قائمة اللواحق العامّة التي يعتمدها المتصفّح ليعرف أيّ جزء من الاسم يجوز التسجيل تحته.
- MDN Web Docs: Text fragments. صيغة الإشارة إلى عبارة بنصّها داخل الصفحة، وكيف يقفز إليها المتصفّح ويظلّلها.