COMPUTER ENGINEER

Örneklere git
Blog
Next.js / ASP.NET Core / SQL6 dk çalışma
02/ 41

Büyük resim

İstemci, sunucu ve istek/yanıt döngüsü

Web’deki her etkileşim bir istek ve ona verilen bir yanıttan oluşur.

AnlaÖrneği inceleKendin uygula

Kavramı anlayalım

İstemci isteği başlatan taraftır; sunucu bekleyen ve yanıt veren taraftır. Tarayıcı bir istemcidir, ama Next.js sunucusu da API’ye istek attığında istemci rolündedir. Roller programın türüne değil, o anki ilişkiye göre belirlenir.

Bir HTTP isteği bir metot (GET, POST, PUT, DELETE…), bir hedef yol, başlıklar ve isteğe bağlı bir gövde taşır. Yanıt bir durum kodu (200, 404, 500…), başlıklar ve gövdeden oluşur. GET gibi ‘güvenli’ metotlar sunucudaki durumu değiştirmemelidir; bu yüzden tarayıcılar, önbellekler ve arama motorları onları rahatça tekrar edebilir.

Sunucu tarafında her istek bağımsız ele alınır ve çoğu zaman aynı anda yüzlerce istek işlenir. Bu, sunucu kodunun paylaşılan durumla dikkatli olması gerektiği anlamına gelir: bir istekte oluşturulan nesne, başka bir kullanıcının isteğine sızmamalıdır.

NERESİNDE KULLANIRSIN?

Hangi metodu kullanacağın, önbellekleme, tekrar deneme ve güvenliği doğrudan etkiler.

SIK YAPILAN HATA

Veri silen veya değiştiren işlemleri GET ile yapmak; bir bağlantı önizleyicisi bile onu tetikleyebilir.

01 / UYGULAMA

Aynı konu. Üç farklı derinlik.

Temsili örnek
GET /api/posts/ilk-yazi HTTP/1.1
Host: api.example.test

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

{"title":"İlk yazı"}

En basit döngü: bir istek, bir yanıt.

Bu sayfa gerçek bir sunucuya veya veritabanına bağlanmaz. Kod örnekleri .NET 8, Next.js ve SQL Server için temsilîdir; süreler simülasyondaki örnek değerlerdir, ölçüm değildir. Örnekleri yalnız kendi geliştirme ortamında dene; gerçek bağlantı dizesi, token veya parola paylaşma.

02 / SIRA SENDE

Önce kendin dene.

Bir bülten aboneliğini iptal eden bağlantı e-postada ‘GET /unsubscribe?id=5’ olarak gönderiliyor ve bazı kullanıcılar e-postayı açmadan aboneliklerinin iptal edildiğini söylüyor. Neden?

Çözümü ve açıklamasını göster
Açıklamalı çözüm
E-posta güvenlik tarayıcıları ve bağlantı önizleyicileri GET bağlantılarını otomatik açar.
Çözüm: GET ile onay sayfası göster, iptali POST ile yap.

GET güvenli kabul edildiği için otomatik araçlar onu çekinmeden çağırır. Durum değiştiren işlem POST olmalıdır.