Jquery Ajax GET ve POST arasındaki farklar

POST ile GET arasındaki fark jQuery ile ilgili değil HTTP ile ilgilidir.

Bildiğiniz gibi web uygulamaları request – response denilen istek – cevap mantığı ile çalışırlar. HTTP yedi adet request yani istek tipi tanımlar.

1- GET
2- POST
3- PUT
4- TRACE
5- DELETE
6- HEAD
7- OPTIONS

Metodlar arasında bazı farklar vardır ve kullanım yerleri farklılık gösterir. Tarayıcılar nadiren GET ve POST yöntemleri dışındaki diğer HTTP yöntemleri ile ilgilenir. Örneğin dosya yüklemede (file upload) kullanılan PUT yöntemi yerine MIME veri tipleri ile POST yöntemi ile aynı iş yapılabilir. Çoğu web uygulaması sadece GET ve POST yöntemlerini kullanır.

HTTP’de sunucuya gidebilecek çeşitli istek türleri/metotları bulunur. Bunlar GET, POST, HEAD, DELETE (…) gibi türlerdir.

Get methodu kullanıldığında istekler adres satırında görüntülenir. Gönderilen bilgiler adres çubuğunda görüntülendiği için güvenliği düşük bir yöntemdir ancak daha hızlıdır. Web’te varsayılan yöntemdir.

http://www.cemelma.wordpress.com/index?ad=cem

Post metodu ise adres satırında görüntülenmesi istenmeyen istekler gönderildiğinde kullanılır. Gönderilen bilgiler adres satırında görünmediği için daha güvenlidir ancak Get methoduna göre daha yavaştır. Yani POST durumunda form alanları HTTP REQUEST HEADER içinde kodlanmış olarak gider, adres satırında çıkmaz. Post işleminde her türlü dosyayı post edebiliriz xml,image, file post edebiliriz.

Get metodu sunucudan veri çekmek için tasarlanmış bir metodtur. Post,Put,Delete ise sunucudaki veriyi düzenlemek için tasarlanmıştır. Get metodu sunucudaki veriyi düzenlemek/silmek için kullanılmamalıdır. Örneğin eğer bir veriyi silmek için Get yöntemi kullanan bir bağlantı (link) kullanırsanız, Google bot sitenizi tararken “silme linki”ne bol bol tıklayarak tüm verilerinizi rahatlıkla silebilir.

GET isteğinde belirli bir karakter sayısı sınırı varken (512) POST isteğinde böyle bir sınır yoktur. Örneğin formda bir textarea/ varsa POST kullanmak gerekir, aksi taktirde textarea/ içine yazılan metnin bir kısmı gitmeyebilir.

//Post methodu bu şekilde kullanılabilir

$.post(“@Url.Action(“action”, “controller”)”,{ id: id }, function (data) {

});

3 thoughts on “Jquery Ajax GET ve POST arasındaki farklar

  1. Web page’imdeki dinamik bölümleri ajax ile çekiyorum; asp.net mvc de controllerdeki public ActionResult Anasayfa() ilk yüklenen ve sitedeki statik içerik. Ajax ile kullandığım metotlar ise aşağıdakiler;

    YeniBolumler()
    Iletisim()
    DigerOyunlar()

    lâkin bunları get ya da post olarak da çağırsam ajax ile, browser domain tarafında herhangi bir controller ya da index değişimi olmuyor… misal Iletisim() metodunu ajax ile get olarak da çağırsam ….com/Iletisim yazmıyor browser domain kısmında… (ki arkaplanda işlem yapıtığından mantıklı) Ben de bunun ancak bu şekilde gerçekleşebileceğini düşünüyordum ama

    http://www.digitalatelier.ro/ sitesi hem ajax kullanıyor

    hem de sayfasını refresh etmeden dinamik içeriğini

    http://www.digitalatelier.ro/#/work
    http://www.digitalatelier.ro/#/services
    http://www.digitalatelier.ro/#/contact

    linkleri aracılığı ile sağlıyor. Yalnız ben ….com/Iletisim yazarsam browser’da bu sayfam refresh oluyor (kim evet bu da mantıklı :)) bu sefer public ActionResult Anasayfa() ile edindiğim arkaplan, navigasyon gibi tüm static içeriğimi kaybediyor sadece iletisim() metodunun yolladığı içeriği görüntülüyorum.

    Ama http://www.digitalatelier.ro/#/contact yazdığımda hem contact bilgileri hem de http://www.digitalatelier.ro/ sitesinin sağladığı anasayfadaki içerik pekalâ eksiksiz görüntüleniyor. Yani sadece benim sitemde olduğu gibi iletişim bilgileri değil, arkaplan resmi, navigasyon barı gibi static olan içerik de sunuluyor…

    Atladığım mutlaka birşey var. Çünkü yukarıdaki işleyişlerin tümü son derece mantıklı ve akla uygun. Bilmediğim farklı bir metodoloji mi kullanılmaktadır? Bu konuda bir fikriniz var mıdır?

    Saygılarımla,

  2. Merhaba, Ben yazılımla ilgilenen bir makine mühendisiyim. Basit işler yapabilecek kadar kurcalıyorum yazılımı. Bir web sayfası yapmaktayım. Amacı uzak kaynakta yer alan bir XML dosyasından veri çekmek. Bu XML dosyası dinamik, saat başı güncellenen bir dosya. Ben bu dosyadan veri çekip kendi sayfama yazdırıyorum. Sayfam sürekli bu XML dosyasına istek gönderip veri alıyor belirli bir pariyotla (10 dk’da bir vs.). Fakat şöyle bir sorun yaşıyorum; saat başı gelip XML dosyasındaki veri güncellendiğinde benim sayfam tekrar XML dosyasına istek göndermesine rağmen bir önceki veriyi sayfaya yazdırıyor. Aradan bir süre geçtikten sonra ancak yeni veriyi çekebilmiş oluyorum. Arada bir geçikme oluyor. POST methodu kullanıyordum sonra GET methoduna geçtim fakat aynı sorunu yine yaşıyorum. Tarayıcı geçmişini sildiğimde güncel veri anında geliyor. Sorunu tam çözebilmiş değilim. Bu arada sayfayı bilgisayar masaüstünden çalıştırdığımda bir sıkıntı oluşmazken. Kendi server’ımda çalıştırdığımda böyle bi

    • Merhaba,

      Bu durum get/post ile alakalı değil anladığım kadarıyla. Veri kaynağın cache kullanıyor olabilir veya senin çekmeye çalıştığın verde aynı şekilde sürekli aynı dosya isminde içerikleri almaya çalışıyosan cachlemiş olabilir browser. Verileri çekmek için ne kullanıyosun biraz detay verebilirsen yardımcı olmaya çalışayım. İyi Günler.

Bir Cevap Yazın

Aşağıya bilgilerinizi girin veya oturum açmak için bir simgeye tıklayın:

WordPress.com Logosu

WordPress.com hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Google fotoğrafı

Google hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Twitter resmi

Twitter hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Facebook fotoğrafı

Facebook hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Connecting to %s