Lajiverta Academy Satın Al — 499₺

Academy 🔌 Backend & API Sunucu Nedir?

İstek–cevap döngüsü

🔌 Sunucu Nedir? bölümü · Code Quest Backend & API parkuru

Backend'in tamamı tek bir cümleye sığar: bir istek gelir, bir cevap gider. Bu döngü saniyede binlerce kez tekrar eder ve her seferinde aynı beş adım işler:

  1. İstemci bir istek (request) hazırlar: "şu adresten şunu istiyorum".
  2. İstek ağ üzerinden sunucuya ulaşır.
  3. Sunucu isteği eşleştirir: bu adresi hangi kod parçası karşılayacak?
  4. O kod çalışır: veritabanına bakar, hesap yapar, kural uygular.
  5. Sunucu bir cevap (response) döndürür: durum kodu + veri.

Bir isteğin iskeleti şudur — ham hâliyle böyle görünür:

HAM HTTP MESAJI
GET /oyunlar/3 HTTP/1.1
Host: pikselmarket.com
Accept: application/json

Ve cevabın iskeleti:

HAM HTTP MESAJI
HTTP/1.1 200 OK
Content-Type: application/json

{"id": 3, "ad": "Gölge Avcısı"}

Buradaki dört parçayı ezberle, çünkü bu dünyanın tamamı bunların üstüne kurulu:

  • Metot (GET) — ne yapmak istiyorsun? Okumak mı, eklemek mi, silmek mi?
  • Yol (/oyunlar/3) — hangi kaynağı istiyorsun?
  • Başlıklar (Accept: ...) — mesajla ilgili ek bilgiler.
  • Durum kodu (200 OK) — cevabın tek satırlık özeti: oldu mu, olmadı mı?

Bu laboratuvarda istek göndermenin iki yolu var. Birincisi kodun içinden: send(metot, yol). İkincisi ekrandaki 📮 İstek Gönder paneli — gerçek geliştiricilerin Postman veya curl ile yaptığı şeyin aynısı.

Trafik dökümünü okurken şu iki işareti takip et: giden istek, gelen cevap.

💡 Sunucu kendi kendine konuşmaz. Kimse istek göndermezse sunucu hiçbir şey yapmaz — sadece bekler. Backend her zaman tepki verendir, başlatan değil.

Kendini test et

Bu kod ne yapar?

  • /oyunlar adresine hemen bir istek gönderir
  • /oyunlar adresine GET isteği gelirse çalışacak işleyiciyi kaydeder
  • Sunucuyu 3000 portunda başlatır
Cevabı gör

Cevap: /oyunlar adresine GET isteği gelirse çalışacak işleyiciyi kaydeder

app.get yalnızca kayıt yapar. İşleyicinin içi, gerçek bir istek gelene kadar çalışmaz.

Express uygulamasını üreten satırı tamamla.

const express = require('express');
const app = ____;

app.get('/x', (req, res) => res.send('ok'));
send('GET', '/x');
Cevabı gör

Cevap: express()

express() çağrısı uygulama nesnesini üretir; bütün rotalar bu nesnenin üstüne kurulur.