POST Request Nedir ve Ne İşe Yarar?
1. POST Request Nedir?
POST request, HTTP (HyperText Transfer Protocol) protokolü içinde kullanılan bir istek (request) türüdür. Web uygulamalarında, sunucuya veri göndermek için en çok tercih edilen yöntemlerden biridir. Form verileri, dosya yüklemeleri, API istekleri ve veri güncellemeleri gibi işlemler için kullanılır.
2. HTTP Request Türleri ve POST'un Yeri
HTTP protokolü, istemci (client) ve sunucu (server) arasındaki veri alışverişini sağlar. En yaygın kullanılan HTTP request türleri şunlardır:
GET: Veriyi almak için kullanılır. (Örn: Bir web sayfasını görüntülemek)
POST: Sunucuya veri göndermek için kullanılır. (Örn: Form doldurup göndermek)
PUT: Var olan bir kaynağı güncellemek için kullanılır.
DELETE: Bir kaynağı silmek için kullanılır.
Bu dört temel request türü arasında POST request, özellikle form işlemleri ve veri gönderimi için kritik bir öneme sahiptir.
3. POST Request Nasıl Çalışır?
Bir POST request çalıştırıldığında, istemci belirli verileri HTTP isteği ile sunucuya yollar. Sunucu bu verileri işler ve uygun yanıtı döndürür. Aşağıdaki adımlar POST isteğinin nasıl çalıştığını gösterir:
İstemci (Tarayıcı veya Uygulama) veriyi hazırlar.
HTTP isteği oluşturulur ve veriler isteğin gövdesine (body) eklenir.
İstek sunucuya gönderilir.
Sunucu veriyi işler ve genellikle bir yanıt döndürür.
İstemci, sunucunun yanıtını işler ve ek işlemler yapabilir.
Örnek bir POST request isteği:
POST /api/kullanici-ekle HTTP/1.1
Host: www.ornek.com
Content-Type: application/json
Content-Length: 100
{
"isim": "Ahmet",
"email": "ahmet@example.com",
"sifre": "123456"
}
Bu istek sunucuya bir JSON formatında kullanıcı bilgilerini göndermektedir.
4. GET ve POST Arasındaki Farklar
Genellikle GET ve POST istekleri karıştırılır, ancak ikisi farklı amaçlar için kullanılır.
ÖzellikGETPOSTVeri Gönderme YeriURL parametreleri (Query String)İstek gövdesi (Body)GüvenlikDaha az güvenli, URL'de göründüğü içinDaha güvenli, veriler gizlidirÖnbelleklemeÖnbelleğe alınabilirÖnbelleğe alınmazVeri MiktarıSınırlı (Genellikle 2048 karakter)Daha büyük veri gönderilebilirKullanım AmacıSayfa veya veri almakForm gönderimi, veri kaydı
Kısaca, GET istekleri veri almak, POST istekleri ise veri göndermek için kullanılır.
5. POST Request Kullanım Alanları
POST request, birçok alanda kullanılır. İşte en yaygın kullanım alanları:
5.1. Form Gönderimi
Bir web sitesinde kullanıcı kayıt formları, giriş panelleri, iletişim formları gibi öğeler POST request ile çalışır.
Örnek HTML formu:
<form action="/giris" method="POST">
<input type="text" name="kullanici_adi" placeholder="Kullanıcı Adı">
<input type="password" name="sifre" placeholder="Şifre">
<button type="submit">Giriş Yap</button>
</form>
5.2. API İstekleri
RESTful API'lerde yeni veri eklemek için POST request sıkça kullanılır. Örneğin, yeni bir blog yazısı eklemek için:
POST /api/blog-ekle HTTP/1.1
Host: www.ornek.com
Content-Type: application/json
{
"baslik": "POST Request Nedir?",
"icerik": "POST request, HTTP protokolünde..."
}
5.3. Dosya Yükleme
Web sitelerine görsel, video, belge gibi dosyalar yüklemek için POST request kullanılır.
Örnek HTML dosya yükleme formu:
<form action="/upload" method="POST" enctype="multipart/form-data">
<input type="file" name="dosya">
<button type="submit">Yükle</button>
</form>
5.4. Otomatik Veri Güncellemeleri
Arka planda çalışan uygulamalar, veritabanına veri eklemek veya güncellemek için POST request kullanır. Örneğin, bir e-ticaret sitesinde sipariş detaylarını güncellemek için:
POST /api/siparis-guncelle HTTP/1.1
Host: www.ornek.com
Content-Type: application/json
{
"siparis_id": "12345",
"durum": "Kargoya verildi"
}
6. POST Request Güvenliği
POST request’ler güvenlik açısından önemlidir. Önlemler:
CSRF (Cross-Site Request Forgery) koruması kullanın.
Veri doğrulama ve giriş kontrolleri yapın.
HTTPS kullanarak verilerin şifrelenmesini sağlayın.
Rate limiting uygulayın.
7. Sonuç
POST request, web uygulamalarında veri göndermek için kullanılan temel bir HTTP yöntemi olup, özellikle formlar, API istekleri ve veri işlemleri için yaygın olarak kullanılır. Web geliştirme süreçlerinde POST request kullanımı büyük önem taşımaktadır.