الشبكات قراءة 2 دقائق

Localhost هو الاسم الذي يطلقه جهاز الكمبيوتر على نفسه. ويُترجم إلى عنوان الاسترجاع (loopback) 127.0.0.1 في IPv4 و::1 في IPv6. ولا تغادر الحركة المرسلة إليه جهازك أبدًا، بل ترتد مباشرةً إلى جهازك نفسه.

كيف يعمل عنوان الاسترجاع

النطاق 127.0.0.0/8 بأكمله (أكثر من 16 مليون عنوان) محجوز للاسترجاع، مع أن الجميع تقريبًا يستخدمون 127.0.0.1. ولدى نظام التشغيل واجهة شبكة افتراضية (lo في Linux وlo0 في macOS) تستجيب لهذه العناوين دون أن تمر ببطاقة الشبكة أو الموجّه.

ويرتبط الاسم localhost بالعنوان في ملف hosts:

  • Windows: C:\Windows\System32\drivers\etc\hosts
  • macOS وLinux: /etc/hosts

فيمَ يُستخدم localhost

  • تطوير الويب. يشغّل المطوّرون موقعًا على أجهزتهم ويفتحون http://localhost:3000 أو http://127.0.0.1:8080 قبل نشره. والرقم الذي يلي النقطتين هو المنفذ.
  • اختبار برامج الشبكات دون شبكة.
  • الخدمات المحلية: قواعد البيانات وواجهات الويب الخاصة بالطابعات وبعض التطبيقات لا تستمع إلا على localhost، فلا يمكن الوصول إليها من أجهزة أخرى.
  • حجب المواقع: توجيه نطاق إلى 127.0.0.1 في ملف hosts يمنع جهازك من الوصول إليه.

localhost مقابل عناوينك الأخرى

العنوان ما هو من يستطيع الوصول إليه
127.0.0.1 / ::1 جهازك نفسه البرامج على الجهاز نفسه فقط
192.168.x.x، 10.x.x.x عنوان IP الخاص بك الأجهزة على شبكتك المنزلية
عنوان IP العام اتصالك على الإنترنت الإنترنت، عبر الموجّه

أخطاء شائعة

  • "localhost refused to connect": لا يوجد برنامج يستمع على ذلك المنفذ. شغّل خادم التطوير أو تحقق من رقم المنفذ.
  • يعمل على localhost لكن ليس من جهاز آخر: الخدمة مرتبطة بـ 127.0.0.1. اربطها بـ 0.0.0.0 (كل الواجهات) واسمح بالمنفذ في جدار الحماية.
  • يُترجم localhost إلى ::1 والتطبيق لا يستمع إلا على IPv4: استخدم 127.0.0.1 صراحةً.

هل يشكّل 127.0.0.1 خطرًا أمنيًا؟

لا. فلا أحد خارج جهازك يستطيع الوصول إليه. وإذا قال أحدهم "اخترق 127.0.0.1" فهو يمزح، لأن العنوان يشير إلى جهازه هو.

‏127.0.0.1:8080 و localhost:3000 والمنافذ الأخرى

الرقم بعد النقطتين هو المنفذ (port): يحدد أي برنامج على 127.0.0.1 يجب أن يرد. العنوانان http://127.0.0.1:8080 وhttp://localhost:8080 يعنيان الشيء نفسه.

المنفذ يستخدمه عادةً
3000 Node.js وReact وNext.js وRuby on Rails
5173 Vite
4200 Angular
5000 Flask و.NET
8000 Django وpython -m http.server
8080 Tomcat وJenkins وخوادم الويب البديلة الأخرى

إذا لم يُفتح http://127.0.0.1:8080 فلا يوجد برنامج يستمع على هذا المنفذ: شغّل البرنامج أولًا وراجع ما يطبعه في الطرفية، فهو يعرض العنوان والمنفذ الصحيحين. الصفحة التي تعمل على 127.0.0.1 تعمل على الجهاز نفسه فقط، ولا يستطيع الآخرون الوصول إليها.

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

ما هو 0.0.0.0؟

بالنسبة للخادم، يعني "استمع على كل الواجهات". أما كوجهة فهو غير صالح، وعادةً ما يتصرف مثل localhost.

هل يمكنني استخدام 127.0.0.2؟

نعم. فأي عنوان في 127.0.0.0/8 يرتد إلى الجهاز في معظم الأنظمة، وهذا مفيد لتشغيل عدة خدمات محلية على المنفذ نفسه.

لماذا يقول البحث عن IP "loopback"؟

لأن 127.0.0.1 ليس عنوانًا عامًا وليس له موقع. ويصنّف البحث عن IP كل العناوين الخاصة.