Ana içeriğe geç
Kitap 11 · AğlarSayfa 16 / 37

Localhost

Okunuşu
lokıl houst
Güncellendi 2 dk okuma

Bu sayfayı paylaşın

Bağlantıyı gönderin, tanımı bağlantısıyla birlikte alıntılayın ya da kendi sitenizde bir kart olarak gösterin.

https://softwaredictionary.org/tr/terimler/localhost

Kısaca

Localhost, kullandığınız bilgisayarı gösteren host adıdır; 127.0.0.1 loopback adresine (IPv6'da ::1) çözümlenir, bu yüzden ona giden trafik makineden çıkmaz.

Localhost nedir?

Localhost'a gönderilen trafik işletim sisteminin ağ yığınına girer ve sanal bir loopback arayüzünden doğrudan geri çıkar; ağ kartına ya da internete hiç ulaşmaz. IPv4'te bütün 127.0.0.0/8 aralığı loopback için ayrılmıştır ve standart adres 127.0.0.1'dir; IPv6'da loopback adresi ::1'dir.

Geliştiriciler onu sürekli kullanır. npm run dev ile başlatılan bir geliştirme sunucusu http://localhost:3000 adresinde açılır, yerel bir veritabanı localhost:5432'de dinler, araçlar da aynı makinedeki portlar üzerinden birbiriyle konuşur. Port numarası, işletim sistemine trafiği hangi programın alması gerektiğini söyler.

Tarayıcılar localhost'u düz HTTP üzerinden bile güvenli bir bağlam (secure context) olarak görür; bu yüzden service worker'lar ve pano (clipboard) API'si gibi normalde HTTPS gerektiren özellikler geliştirme sırasında çalışır. Birçok araç 127.0.0.1 ile 0.0.0.0'ı da ayırt eder: 127.0.0.1'e bağlanan bir sunucu yalnızca yerel bağlantıları kabul eder, 0.0.0.0'a bağlanan ise her ağ arayüzünde dinler.

Sık yapılan bir yanlış, bir Docker container'ının içindeki localhost'un sizin bilgisayarınız olduğunu düşünmektir. Her container'ın kendi ağ alanı (network namespace) vardır; bu yüzden oradaki localhost container'ın kendisidir. Host'taki bir servise ulaşmak için Docker'ın sağladığı host.docker.internal gibi bir adresi kullanın ya da iki servisi aynı Docker ağına koyun.

Önemli noktalar

  • Localhost, kendi makinenizin adıdır, yani loopback adresi.
  • IPv4'te 127.0.0.1'e, IPv6'da ::1'e çözümlenir.
  • Loopback trafiği bilgisayardan hiç çıkmaz.
  • Portlar programları ayırır; bir geliştirme sunucusu için localhost:3000 gibi.
  • Bir container'ın içinde localhost, host değil container'ın kendisidir.

Örnek

Bir sunucuyu localhost'a ya da her arayüze bağlamak (Node.js)javascript
import http from "node:http";

const handler = (req, res) => res.end("Hello from this machine\n");

// Only reachable from this computer
http.createServer(handler).listen(3000, "127.0.0.1");

// Reachable from other devices on the network too (e.g. a phone on the same Wi-Fi)
http.createServer(handler).listen(3001, "0.0.0.0");

// curl http://localhost:3000   → works
// curl http://<your-LAN-IP>:3000 → refused; :3001 works

Sık sorulan sorular

Localhost ile 127.0.0.1 arasındaki fark nedir?

Localhost bir ad, 127.0.0.1 ise bir adrestir. Ad genellikle 127.0.0.1'e, birçok sistemde de IPv6 loopback'i olan ::1'e çözümlenir; yalnızca IPv4'te dinleyen bir sunucunun bazen farklı davranmasının nedeni budur.

Başkaları benim localhost'uma erişebilir mi?

Hayır. Loopback trafiği makinenizin içinde kalır. Başkalarının yerel bir sunucuya ulaşması için sunucunun bir ağ arayüzünde dinlemesi ve ağınız üzerinden erişilebilir olması ya da bir tünel aracıyla dışarı açılması gerekir.

localhost:3000 ne demek?

Kendi makinenizdeki 3000 numaralı port. Geliştirme sunucuları genellikle 3000, 5173 ya da 8080 gibi portlar kullanır; port da sisteme isteği hangi programın ele alacağını söyler.

İlgili sayfalar

Bu sayfada bir hata ya da eksik mi gördünüz?Düzeltme önerin

Daha fazla

Ayarlar