---
title: "Localhost Nedir? 127.0.0.1 Ne İşe Yarar?"
description: "Localhost, cihazınızın kendisi için kullandığı addır: IPv4'te 127.0.0.1, IPv6'da ::1. localhost:3000 ne demek, trafik neden dışarı çıkmaz, ona kim erişebilir?"
url: https://proxynet.io/tr/blog/what-is-localhost
date: 2026-11-12
author: "Acar Diveroli"
category: "Proxy 101"
lang: tr
---

# Localhost Nedir? 127.0.0.1 Ne İşe Yarar?

Bir proje başlatıyorsunuz ve terminalde `Local: http://localhost:5173` satırı beliriyor. İzlediğiniz bir eğitim `localhost:3000` adresini açmanızı söylüyor. Ya da modeminizin bağlı cihazlar listesine bakıyorsunuz ve cihazlardan birinin adı "localhost". Bu sözcüğü bir kez fark edince her yerde görürsünüz; anlamı da hep aynıdır: cihazın kendi kendisiyle konuşması.

Bu yazıda localhost'un ne olduğunu, 127.0.0.1 ve ::1 ile ilişkisini ve bir localhost adresini açtığınızda neler olduğunu anlatıyoruz. Ardından iki noktadan sonraki sayıya, localhost'un 0.0.0.0'dan ve IP adresinizden farkına, ona kimin erişebildiğine, Windows'ta `ping localhost` komutunun ne çıktı verdiğine ve yerel trafiğin neden proxy'ye gitmemesi gerektiğine geçiyoruz.

> **Not: Kısa cevap**
>
> Localhost, her bilgisayarın, telefonun ve sunucunun kendisi için kullandığı addır. Bir geri döngü (loopback) adresine karşılık gelir: IPv4'te `127.0.0.1`, IPv6'da `::1`. Oraya gönderilen her şey modeme ya da internete ulaşmadan cihazın içinde geri döner. `localhost:3000` örneğindeki gibi iki noktadan sonra gelen sayı, kendi cihazınızda o portu dinleyen programı seçer; bu genellikle sizin başlattığınız bir geliştirme sunucusudur. Sizin localhost'unuzu başka kimse açamaz, çünkü onun cihazında aynı sözcük onun cihazı demektir.

## Localhost nedir?

Localhost, ayrılmış bir ana makine adıdır (hostname) ve her zaman "üzerinde çalıştığım cihaz" anlamına gelir. Bir tarayıcı, bir betik ya da başka bir program localhost'a bağlandığında bağlantı, bilgisayarınızdaki bir programdan yine aynı bilgisayardaki başka bir programa gider.

Bu ad bir standartla korunur. [RFC 6761](https://www.rfc-editor.org/rfc/rfc6761) (2013), localhost'u özel kullanımlı alan adları arasında sayar: ad çözümleyen yazılım bu adı DNS sunucusuna sormadan her zaman bir geri döngü adresiyle yanıtlamalıdır ve alan adı kayıt kuruluşları bu adı kimseye veremez. Kural `app.localhost` gibi `.localhost` ile biten adları da kapsar.

Her cihazın kendi localhost'u vardır: dizüstü bilgisayarınızda dizüstü bilgisayarınızdır, telefonunuzda telefonunuzdur. Localhost'la ilgili kafa karışıklığının çoğu bu tek bilgiyle çözülür; "bilgisayarımda çalışıyor ama telefonumda açılmıyor" da, "iş arkadaşım bağlantımı açamıyor" da buradan gelir.

## 127.0.0.1 ve ::1 nedir?

`127.0.0.1` ve `::1`, localhost'un karşılık geldiği geri döngü adresleridir; ilki IPv4'te, ikincisi IPv6'da kullanılır. **Geri döngü adresi** (loopback address), trafiği geri döngü arayüzü denen sanal bir ağ arayüzüne gönderir; bu arayüz trafiği doğrudan aynı cihaza geri verir.

IPv4'te bu işe koca bir blok ayrılmıştır. 1989 tarihli ana makine gereksinimleri belgesi RFC 1122, 127 ile başlayan her adresi "ana makine içi geri döngü adresi" olarak tanımlamış ve bu adreslerin ana makinenin dışında görünmemesi gerektiğini yazmıştır. [RFC 6890](https://www.rfc-editor.org/rfc/rfc6890)'daki özel amaçlı adresler kaydı `127.0.0.0/8` bloğunu bugün de "Loopback" diye listeler ve "yönlendirilemez", "genel değil" diye işaretler: yönlendiriciler bu adresleri başka bir ağa asla aktarmaz.

Blok `127.0.0.0` ile `127.255.255.255` arasındaki yaklaşık 16,7 milyon adresi kapsar ve hepsi cihazın içinde geri döner: Windows 11 test makinemizde `ping 127.45.6.7` komutu da `127.0.0.1` gibi yanıt verdi. IPv6'da ise tek bir geri döngü adresi vardır, `::1`; RFC 4291, bu adrese gönderilmiş bir paket dışarıdan, bir ağ üzerinden gelirse atılmasını şart koşar.

## Localhost'a giden bir istek nasıl yol alır?

Localhost isteği her web isteğiyle aynı adımlardan geçer, ama her adım cihazınızın içinde gerçekleşir. Tarayıcıya `localhost:3000` yazdığınızda sırasıyla şunlar olur:

1. **Tarayıcı adresi sorar.** İşletim sistemi `localhost` adını, `example.com` için yapacağı gibi bir adrese çevirmelidir.
2. **Sistem ağa sormadan yanıt verir.** Ad çözümleyiciler localhost'u kendileri tanır; Linux ve macOS ayrıca hosts dosyasında `127.0.0.1 localhost` gibi bir satır tutar. Hosts dosyası, adları DNS'e sorulmadan önce adreslere eşleyen küçük bir metin dosyasıdır ([hosts dosyası nerede, nasıl düzenlenir](/tr/blog/hosts-file)). Windows 11'deki curl testimizde `localhost` hem `::1` hem `127.0.0.1` olarak çözümlendi.
3. **Paket geri döngü arayüzüne gider.** Sistem paketi Wi-Fi ya da Ethernet bağdaştırıcısına değil, arkasında kablo olmayan sanal bir arayüze verir. Modeminize hiçbir şey ulaşmaz.
4. **Sistem 3000 numaralı portta bir program arar.** Bu portu dinleyen bir program varsa istek ona gider. Yoksa sistem bağlantıyı hemen reddeder.
5. **Yanıt aynı yoldan,** makineden çıkmadan geri gelir.

Ad iki adrese çözümlendiği için bir istemci önce `::1` adresini deneyip sonra `127.0.0.1` adresine geçebilir; test sunucumuz yalnız `127.0.0.1` adresini dinlerken curl tam olarak bunu yaptı. İkinci adrese geçmeyen bir istemci ise sunucu çalıştığı hâlde bağlantı reddi alır.

## Localhost:3000 ne anlama gelir?

`localhost:3000`, "bu cihazda 3000 numaralı portu dinleyen program" demektir. **Port**, sisteme bir bağlantıyı hangi programın alacağını söyleyen 0 ile 65.535 arasındaki bir sayıdır: IP adresi cihazı, port da o cihazdaki programı bulur.

En çok aranan sayılar, yaygın geliştirme araçlarının varsayılan portlarıdır:

- **3000:** Next.js'teki `next dev` komutunun varsayılan portu; Node.js eğitimlerinde de sık kullanılır.
- **5173:** Vite geliştirme sunucusunun varsayılan portu.
- **8000:** Python'un yerleşik web sunucusunun (`python -m http.server`) varsayılan portu.
- **8080:** web trafiği için kayıtlı alternatif port; birçok yerel sunucu ve proxy bu portu kullanır.

Hiçbir şey başlatmadıysanız bu portları dinleyen bir program yoktur ve sayfa açılmaz. 8080'in neden hem proxy'lerde hem geliştirme sunucularında kullanıldığını ve bir portu kullanan programı nasıl bulacağınızı [8080 Portu Nedir, Ne İşe Yarar?](/tr/blog/port-8080) yazısında anlattık.

Port, tarayıcının güvenlik kuralları için de önemlidir. Tarayıcı, protokolü, adı ve portu aynı olan adresleri tek bir köken (origin) sayar; bu yüzden yalnız portu farklı olan iki adres farklı kökendir. `localhost:5173` üzerindeki bir sayfanın `localhost:3000` üzerindeki bir API'yi çağırması da kökenler arası bir istektir ve API'nin buna CORS başlıklarıyla, yani hangi kökenlere izin verdiğini söyleyen yanıt satırlarıyla izin vermesi gerekir.

## Localhost, 127.0.0.1, 0.0.0.0 ve IP adresiniz arasındaki farklar

Bu adresler terminalde birbirine benzer, ama her birine erişebilenler çok farklıdır:

| Adres | Anlamı | Kim erişebilir? |
|---|---|---|
| `localhost` | Bu cihazın adı | Yalnız bu cihaz |
| `127.0.0.1` | IPv4 geri döngü adresi | Yalnız bu cihaz |
| `::1` | IPv6 geri döngü adresi | Yalnız bu cihaz |
| `0.0.0.0` | Sunucu için: cihazın bütün adresleri | Güvenlik duvarı izin verirse diğer cihazlar da |
| `192.168.1.20` (örnek) | Cihazın ev ağındaki adresi | Aynı ağdaki cihazlar |
| Genel IP adresi | Modeminizin internetteki adresi | İnternet, yalnız modem bir portu yönlendirirse |

`0.0.0.0` bir hedef değil, bir dinleme ayarıdır: bu adresi dinleyen bir sunucu, cihazın sahip olduğu her adresten gelen bağlantıyı kabul eder. Next.js'in geliştirme sunucusu ve Python'un yerleşik sunucusu varsayılan olarak bütün adresleri dinler; Vite ise `--host` eklemediğiniz sürece localhost'ta kalır.

## Localhost neden bağlanmayı reddeder?

"localhost bağlanmayı reddetti" mesajı, tarayıcının kendi bilgisayarınıza ulaştığını ama o portta bağlantıyı kabul eden bir program bulunmadığını gösterir. Türkçe Chrome'da sayfanın başında "Bu siteye ulaşılamıyor" yazar; altında "localhost bağlanmayı reddetti." satırı ve `ERR_CONNECTION_REFUSED` kodu görünür.

Genellikle geliştirme sunucusu çalışmıyordur, başka bir portta çalışıyordur ya da diğer geri döngü adresini dinliyordur. Her durum için yapılacak kontrolleri [err_connection_refused Hatası Nedir, Nasıl Çözülür?](/tr/blog/err-connection-refused) yazısında bulabilirsiniz.

## Tarayıcılar localhost'u neden güvenli bağlam sayar?

Geri döngü adresine giden trafik cihazdan hiç çıkmadığı için tarayıcılar `http://localhost` adresini, sertifika olmasa da HTTPS sayfası gibi değerlendirir. **Güvenli bağlam** (secure context), tarayıcının hassas özellikleri açacak kadar güvendiği sayfadır; service worker'lar (sayfa kapalıyken de çalışabilen site betikleri), konum bilgisi ya da `getUserMedia()` ile kamera erişimi bu tür özelliklerdir.

[MDN'nin güvenli bağlam rehberi](https://developer.mozilla.org/en-US/docs/Web/Security/Secure_Contexts) bu ayrıcalığın tanındığı adresleri sayar: `localhost`, `.localhost` ile biten adlar, `127.0.0.0/8` bloğu ve `::1`. Chromium 145 ile yaptığımız testte `window.isSecureContext` hem `http://localhost:3000` hem `http://127.0.0.1:3000` adresinde `true` değerini verdi.

Bu istisna cihazın sınırında biter. Aynı uygulama telefonunuzdan, bilgisayarın ev ağındaki adresiyle düz `http://` üzerinden açıldığında güvenli bağlam sayılmaz; localhost'ta çalışan bir özellik orada çalışmayabilir.

## Localhost güvenli mi, başkaları erişebilir mi?

Ağınızdaki ya da internetteki hiç kimse sizin `127.0.0.1` ya da `::1` adresinize bağlanamaz: yönlendiriciler bu adresleri aktarmaz ve başka her cihazda bu adresler o cihazın kendisidir. Yalnız localhost'u dinleyen bir programa ancak kendi bilgisayarınızdaki yazılımlar ulaşabilir.

Riskler başka üç yerdedir:

- **Bütün adresleri dinleyen programlar.** `0.0.0.0` adresini dinleyen bir sunucuya ev ağınızdan, modem o portu yönlendiriyorsa internetten de erişilebilir. Python'un yerleşik sunucusu, `--bind 127.0.0.1` eklemezseniz böyle çalışır.
- **Ziyaret ettiğiniz siteler.** Bir sayfanın betikleri tarayıcınızda çalışır ve localhost'a istek göndermeyi deneyebilir. Chrome'un yeni sürümleri önce sizden izin ister; CORS da yerel program izin vermedikçe sayfanın yerel yanıtı okumasını engeller.
- **Bilgisayarınızda zaten çalışan yazılımlar.** Makinedeki her program, kötü amaçlı yazılımlar da dahil, localhost'la konuşabilir; bu yüzden yerel veritabanlarını ve yönetim panellerini de şifreyle koruyun.

## Localhost'a nasıl ping atılır?

Ping komutu bir adrese küçük test paketleri gönderir ve yanıtların ne kadar sürede döndüğünü ölçer. Windows'ta Komut İstemi'ni ya da PowerShell'i, macOS ve Linux'ta Terminal'i açıp şunu yazın:

```bash
ping localhost
```

Aşağıdaki çıktı Windows 11 test makinemizden; bilgisayarın adını `MY-PC` ile değiştirdik. Satırların dili Windows'unuzun diline göre değişebilir, adresler aynı kalır:

```text
Pinging MY-PC [::1] with 32 bytes of data:
Reply from ::1: time<1ms
Reply from ::1: time<1ms
Reply from ::1: time<1ms
Reply from ::1: time<1ms

Ping statistics for ::1:
    Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
    Minimum = 0ms, Maximum = 0ms, Average = 0ms
```

Windows ilk satırda "localhost" sözcüğünü değil, bilgisayarın kendi adını yazar. Yanıtlar `::1` adresinden geldi, çünkü Windows önce IPv6'yı kullandı; `ping -4 localhost` komutu IPv4'ü zorlar ve yanıt `127.0.0.1` adresinden gelir. Bütün süreler bir milisaniyenin altında kaldı, çünkü paketler makineden hiç çıkmadı.

macOS ve Linux'ta ping, siz Ctrl+C'ye basana kadar devam eder; `ping -c 4 localhost` dört yanıttan sonra durur. `ping localhost` başarısız olursa sorun modemde ya da internet sağlayıcınızda değil, bilgisayarın kendisindedir; örneğin hosts dosyası localhost'u başka bir adrese yönlendiriyor olabilir.

## Localhost ve proxy: yerel trafik neden proxy'ye gitmemeli?

İnternetteki bir proxy sizin localhost'unuza ulaşamaz, çünkü proxy sunucusu için `localhost` kendisi demektir. Proxy ayarlarında yerel adresler için istisna bulunmasının nedeni budur.

Windows'ta **Ayarlar > Ağ ve internet > Proxy** sayfasındaki el ile proxy kurulumunda iki ayar vardır: Microsoft'un işaretli bırakılmasını önerdiği **Yerel (intranet) adresler için ara sunucuyu kullanma** kutusu ve `localhost` ile `127.0.0.1` adreslerini kendiniz ekleyebileceğiniz özel durum listesi. Chrome ise özel bir atlama kuralıyla başlatılmadıkça localhost'u ve geri döngü adreslerini hiçbir zaman proxy'ye göndermez.

Komut satırı araçları bunu sizin yerinize yapmayabilir. curl 8.22.0 ile yaptığımız testte `http_proxy` değişkeni tanımlıyken `http://localhost:3000` isteği proxy'ye gitti ve zaman aşımına uğradı; `NO_PROXY=localhost,127.0.0.1,::1` eklenince istek doğrudan yerel programa ulaştı. [curl'ün proxy ortam değişkenleri belgesi](https://everything.curl.dev/usingcurl/proxies/env.html) bu değişkenin virgülle ayrılmış ad ve adres listesi aldığını anlatır.

Localhost işin öbür tarafında da karşınıza çıkar: hata ayıklama proxy'leri kendi bilgisayarınızda `127.0.0.1:8080` gibi bir adreste çalışır ve tarayıcının proxy ayarı bu adresi gösterir. Betikleriniz dış trafiğini [Residential Proxy](https://proxynet.io/tr/residential-proxy) gibi uzak bir hizmet üzerinden gönderiyorsa yerel adları `NO_PROXY` içinde tutun; kendi API'nize giden çağrılar makinede kalsın.

## Localhost ile nerede karşılaşırsınız?

- **Web geliştirme.** Geliştirme sunucuları başlarken bir localhost adresi yazar; siteyi önce orada denersiniz.
- **Yerel veritabanları ve yönetim araçları.** Kendi kullanımınız için kurduğunuz bir veritabanı yalnız `127.0.0.1` adresini dinleyebilir; başka makineler ona ulaşamaz.
- **Masaüstü uygulamalarında oturum açma.** Bazı uygulamalar girişi, tarayıcınızı uygulamanın kendisinin dinlediği `http://127.0.0.1:51004/...` gibi bir adrese göndererek tamamlar; RFC 8252 bu yöntemi, uygulamaların hesabınıza şifrenizi görmeden erişmesini sağlayan OAuth standardı için tarif eder.
- **Modeminizin cihaz listesi.** Kendine ait bir ad bildirmeyen bir cihaz orada "localhost" diye görünebilir.

## Sık yapılan hatalar

- **Bilgisayara ulaşmak için telefonda localhost'u açmak.** Telefonda localhost telefonun kendisidir; bilgisayarın ev ağındaki adresini kullanın.
- **Localhost bağlantısı paylaşmak.** İş arkadaşınıza gönderdiğiniz `http://localhost:3000` sizin değil, onun bilgisayarını açar.
- **Uygulamayı yalnız siz kullanacakken `0.0.0.0` adresini dinlemek.** Başka bir cihazın erişmesi gerekmiyorsa `127.0.0.1` adresine bağlayın.
- **Yerel trafiği uzak bir proxy'ye göndermek.** İstisna yoksa istek, makinenizi göremeyen proxy'ye gider.
- **Hosts dosyasında localhost'u başka bir adrese yönlendirmek.** Programlar onun geri döngü adresi olmasını bekler ve değilse beklenmedik biçimde bozulur.

## Karar rehberi

| İhtiyacınız | Ne yapmalı? |
|---|---|
| Yeni başlattığınız projeyi açmak | Geliştirme sunucusunun yazdığı adresi kullanın |
| "localhost bağlanmayı reddetti" | Sunucuyu başlatın, portu kontrol edin, aynı portla `127.0.0.1` adresini deneyin |
| Siteyi telefonunuzdan denemek | Sunucuyu ağı dinleyecek şekilde başlatın, bilgisayarın yerel IP'sini açın |
| Yerel bir aracı gizli tutmak | `127.0.0.1` adresine bağlayın ve şifreyle koruyun |
| Bilgisayarın kendi ağ yazılımını sınamak | `ping localhost` komutunu çalıştırın |
| Betiklerde proxy kullanırken yerel çağrıları korumak | `NO_PROXY` içine `localhost,127.0.0.1,::1` yazın |

## Sıkça sorulan sorular

### Localhost:3000 nedir?

Kendi cihazınızda 3000 numaralı portu dinleyen programdır; çoğu zaman bir geliştirme sunucusudur. Next.js varsayılan olarak 3000 portunu kullanır, bu yüzden adres genellikle bir başlatma komutu çalıştırdıktan sonra karşınıza çıkar. O portta çalışan bir program yoksa tarayıcı "localhost bağlanmayı reddetti" der.

### Localhost benim IP adresimle aynı mı?

Hayır. Localhost, yalnız sizin cihazınızın kullanabildiği ve her cihazda aynı olan geri döngü adresidir: `127.0.0.1` ya da `::1`. `192.168.1.20` gibi ev ağındaki adresiniz diğer cihazların size ulaşmasını sağlar; genel IP adresiniz ise sitelerin gördüğü adrestir.

### Bir site benim localhost'uma erişebilir mi?

Kendi sunucusundan erişemez, ama açtığınız sayfa tarayıcınızda betik çalıştırır ve bu betikler localhost'a istek göndermeyi deneyebilir. Chrome, 142. sürümden beri herkese açık bir site yerel ağ ya da geri döngü adreslerine ulaşmadan önce sizden izin ister ([Chrome'un Local Network Access duyurusu](https://developer.chrome.com/blog/local-network-access)).

### Modemim neden localhost adlı bir cihaz gösteriyor?

Modem her cihazı, cihazın DHCP ile adres isterken gönderdiği adla listeler. Bazı cihazlara hiç ad verilmez ve bunlar varsayılan bir ad gönderir; Linux tabanlı birçok sistemde bu varsayılan ad `localhost` olur. Bu, ağınızdaki gerçek bir cihazdır, bilgisayarınızın geri döngü adresi değildir; MAC adresini kendi cihazlarınızınkiyle karşılaştırın, tanıyamıyorsanız Wi-Fi şifresini değiştirin.

### Localhost'u telefonumdan nasıl açarım?

"localhost" sözcüğüyle açamazsınız, çünkü telefonda bu sözcük telefonun kendisi demektir. Telefonu aynı Wi-Fi ağına bağlayın, geliştirme sunucusunu ağı dinleyecek şekilde başlatın (Vite için `--host` gerekir) ve bilgisayarın ev ağındaki adresini portla birlikte açın, örneğin `http://192.168.1.20:5173`. Bilgisayarın güvenlik duvarı bu bağlantıya izin vermelidir.

### Localhost internet bağlantısı olmadan çalışır mı?

Evet. Localhost trafiği cihazdan hiç çıkmaz; yerel bir sunucu, yerel bir veritabanı ve `ping localhost` Wi-Fi kapalıyken de çalışır.

## Özet

Localhost, her cihazın kendisi için kullandığı addır; arkasında `127.0.0.1` ve `::1` geri döngü adresleri durur ve oraya giden trafik makinenin içinde geri döner. Programı port numarası seçer; `localhost:3000` bu yüzden geliştirme sunucunuzu açar. Diğer cihazlar sizin localhost'unuza ulaşamaz; asıl riskler bütün adresleri dinleyen programlar ve uzak bir proxy'ye gönderilen yerel isteklerdir. Betikleriniz dış trafiği proxy üzerinden gönderiyorsa localhost'u istisnalarda tutun ve seçenekleri [proxy ürünleri sayfamızda](/tr/proxy) karşılaştırın.
