POST İsteği Nedir?
İngilizce: POST Request
Yayın: · Son güncelleme:
POST İsteği Nedir? Kısaca
POST isteği, sunucuya yeni veri göndermek, örneğin form doldurmak, kayıt oluşturmak ya da dosya yüklemek için kullanılan HTTP metodudur. Gönderilen veri adreste değil, isteğin gövdesinde taşınır.

POST isteği nedir?
POST, HTTP'de sunucuya veri göndermek için kullanılan metottur. Bir üyelik formunu doldurup "Kaydol" düğmesine bastığınızda, bir yorum gönderdiğinizde ya da profil fotoğrafı yüklediğinizde tarayıcı genellikle bir POST isteği yollar.
POST isteği çoğu zaman sunucuda bir şeyi değiştirir: yeni bir kayıt oluşturur, bir sipariş başlatır ya da bir dosyayı saklar. Bu yüzden aynı POST isteğini iki kez göndermek iki ayrı kayıt oluşturabilir.
Nasıl çalışır?
POST isteğinde veri, adres yerine isteğin gövdesinde (body) taşınır. Content-Type başlığı bu verinin biçimini belirtir. HTML formlarında genellikle form kodlaması, API'lerde ise JSON kullanılır.
Örneğin bir yemek siparişi uygulaması siparişi onayladığınızda sunucuya ürünleri, adresi ve ödeme tercihini içeren bir JSON gövdesi gönderir. Sunucu siparişi kaydeder ve genellikle 201 Created ya da 200 durum koduyla sipariş numarasını döndürür.
GET ile farkı ve dikkat edilecekler
GET veriyi adreste taşır ve okumak için kullanılır. POST veriyi gövdede taşır ve göndermek için kullanılır. POST'ta veri adreste görünmez, ama bu tek başına güvenlik sağlamaz. Bağlantı HTTPS değilse gövde de okunabilir.
Ödeme sayfasında "Sayfayı yeniden gönder" uyarısı görmenizin nedeni, tarayıcının aynı POST isteğini tekrarlamak istemesidir. Bu uyarıya onay vermek çift sipariş veya çift ödemeye yol açabilir. Geliştiriciler bu riski, işlem sonrasında kullanıcıyı başka bir sayfaya yönlendirerek ve aynı isteğin iki kez işlenmesini engelleyen kontrollerle azaltır.
Sıkça Sorulan Sorular
POST isteği GET'ten daha mı güvenli?
Veri adreste görünmediği için geçmiş ve kayıtlarda iz bırakmaz. Ancak gerçek güvenlik için bağlantının HTTPS olması ve sunucunun gelen veriyi doğrulaması gerekir.
POST ile PUT arasındaki fark nedir?
POST genellikle yeni bir kayıt oluşturmak için kullanılır. PUT ise belirli bir kaydı, verilen içerikle bütünüyle güncellemek ya da değiştirmek için kullanılır.