GET ile POST Arasındaki Fark | ||||||||||||||||||||||||||||||||
Bu yazıda en yaygın iki HTTP talep methodu olan GET ve POST'un arasındaki farklardan bahsedilecektir. Bu farklara geçmeden önce GET ve POST'un nerelerde kullanıldığına değinelim. GET ve POST birer HTML Talep methodlarıdır. Yani GET ve POST ile sunucudan sayfa talebinde bulunabildiğimiz gibi aynı zamanda sunucuya veri de gönderebiliriz. Bu iki HTTP Talep methodu dışında başka HTTP talep methodları da vardır(Örn; HEAD, PUT, DELETE, OPTIONS ve CONNECT gibi...). Bu yazıda GET ve POST dışındaki HTTP Talep methodlarından bahsedilmeyecektir.
Şimdi GET ile POST'un arasındaki farkına geçelim: GET methodu ile bir html formundan gönderilen veri herkes için görünürdür. Çünkü tüm gönderilen değişkenler ve değerleri URL'ye yerleşir. POST methodunda ise html formundan gönderilen veriler HTML dosyasının body'sine gömülü bir şekilde sunucuya gittiklerinden dolayı bu veriler başka kişiler tarafından görünür değildir. Dolayısıyla POST'un bir güvenlik avantajı vardır. GET ile POST'un bir diğer farkı şudur ki GET ile veri göndermede karakter limiti varken POST'ta böyle bir limit yoktur. POST ve GET arasında bahsettiğimiz farklara bakacak olursanız sanki POST methodu GET'e göre daha avantajlı duruyor değil mi? Fakat POST'un avantajları olduğu gibi GET'in de avantajları vardır. Şimdi GET'i ön plana çıkaran bir farktan bahsedelim. GET ile değişkenler URL'de yer aldığı için sayfayı değişken değerleri kaybolmadan yer imlerine atmak mümkündür. Yani GET ile bir sayfa içeriğini sunucudan almak için tekrar tekrar forma veri girmeler ya da sayfa içi tıklamalar yapılmasına gerek yoktur. Dolayısıyla hazır URL'yi yer imlerine atarak kullanıcı zahmetten kurtarılmış olur. POST'ta ise kullanıcı daha önce geldiği aşamaya(sayfa içeriğine) tekrar varabilmek için forma veri girme ya da tıklama zahmetlerine katlanmak zorundadır. GET'in POST'a karşı bu avantajına mukabil GET'in POST'a karşı bir diğer dezavantajı şudur: multi-part binary türündeki verilerin gönderimi. "multi-part binary" ile kastedilen şey dosyadır. Mesela resimdir. POST ile forma bir resim koyup sunucuya upload edebiliriz. Fakat GET ile bu mümkün değildir. Aşağıda GET ve POST'un daha kapsamlı farkını inceleyebilirsiniz:
[1] Varsayılan kodlama tipi budur. Tüm karakterler sunucuya gönderilmeden önce kodlanır. Yani boşluklar + yapılır, özel karakterler ASCII karşılıklarına dönüştürülür. [2] Kodlanacak bir karakter yoktur. Bu kodlama tipi dosya yükleme kodlarını içeren bir form kullanıldığında gereklidir. Bu farkları gördükten sonra eğer bir web geliştiricisi iseniz POST'u mu yoksa GET'i mi kullanacağınıza artık karar verebilirsiniz. Bu arada Web geliştiricileri form verisi göndermede genellikle POST'u tercih etmektedirler. Bunu da not olarak düşmüş olalım. Eğer GET'i tercih edeceklerdenseniz hassas verileri(mesela kullanıcı adı ve şifreyi) iletirken değişken ve değerleri URL'de görüneceğinden bunları POST ile iletmeye özen gösteriniz. Yoksa başkalarına hesap bilgilerini kaptırabilirsiniz. Eğer POST'u tercih edeceklerdenseniz kullanıcıya çok zahmet vermemek adına kritik olmayan noktalarda GET'i kullanabilirsiniz. Kaynak : |
||||||||||||||||||||||||||||||||
Bu yazı 18.06.2015 tarihinde, saat 18:40:37'de yazılmıştır. 22.08.2024 tarihi ve 20:02:51 saatinde ise güncellenmiştir. | ||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||
Yorumlar |
||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||
Yorum Ekle | ||||||||||||||||||||||||||||||||