HTML istek yöntemleri

HTTP nedir?

Hipermetin Transfer Protokolü (Hypertext Transfer Protocol, kısaltma HTTP) istemci ve sunucu arasındaki iletişimi etkinleştirmek için tasarlanmıştır.

HTTP, istemci ve sunucu arasındaki istek-yanıt protokolüdür.

Örnek: İstemci (tarayıcı) sunucuya HTTP istek gönderir; ardından sunucu yanıtını istemciye döndürür. Yanıt, istek durum bilgilerini içerir, talep edilen içeriği de içerebilir.

HTTP yöntemi

  • GET
  • POST
  • PUT
  • HEAD
  • DELETE
  • PATCH
  • OPTIONS

En yaygın iki yöntem: GET ve POST'tur.

GET yöntemi

GET, belirli bir kaynaktan veri talep etmek için kullanılır.

GET, en yaygın HTTP yöntemlerinden biridir.

Lütfen, sorgu dizisi (ad/değer çifti) GET isteminin URL'inde gönderilir:

/test/demo_form.php?name1=value1&name2=value2

GET istemleri hakkında bazı diğer notlar:

  • GET istemleri saklanabilir
  • GET istemleri tarayıcı tarihçesinde saklanır
  • GET istemleri yer imi olarak saklanabilir
  • Duyarlı veriler işlenirken GET istemleri kullanılmamalıdır
  • GET istemleri uzunluk sınırlamasına sahiptir
  • GET istemleri sadece verileri almak (değiştirmemek) için kullanmalıdır

POST yöntemi

POST, verileri sunucuya göndermek için kullanılır ve kaynakları oluşturmak veya güncellemek için kullanılır.

Sunucuya POST ile gönderilen veriler, HTTP istemlerinin istem gövdesinde saklanır:

POST /test/demo_form.php HTTP/1.1
Host: codew3c.com
name1=value1&name2=value2

POST, en yaygın HTTP yöntemlerinden biridir.

POST istemleri hakkında bazı diğer notlar:

  • POST istemleri saklanamaz
  • POST istemleri tarayıcı tarihçesinde saklanmaz
  • POST, yer imi olarak saklanamaz
  • POST istemlerine veri uzunluğu gereksinimi yoktur

PUT yöntemi

PUT, verileri sunucuya göndermek için kullanılır ve kaynakları oluşturmak veya güncellemek için kullanılır.

POST ve PUT arasındaki fark, PUT istemlerinin idempotent (idempotent) olduğunu (idempotent) anlamına gelir. Yani, aynı PUT istemini defalarca çağırmak her zaman aynı sonucu üretir. Aksine, POST istemlerini tekrar tekrar çağırmak, aynı kaynağı defalarca oluşturmanın yan etkilerine sahiptir.

HEAD yöntemi

HEAD ve GET neredeyse aynıdır, ancak yanıtı metin yoktur.

Diyelim ki GET /users, kullanıcı listesini dönerse, HEAD /users aynı istemi gönderir, ancak kullanıcı listesini dönmeyebilir.

HEAD istemi, GET istemini gerçekten göndermeden önce (örneğin, büyük dosyaları indirmeden veya yanıtı metin olarak almadan) GET istemisinin döneceği içeriği kontrol etmek için çok faydalıdır.

DELETE yöntemi

DELETE yöntemi, belirtilen kaynağı siler.

OPTIONS yöntemi

OPTIONS yöntemi, hedef kaynağın iletişim seçeneklerini tanımlar.

GET ile POST karşılaştırma

Aşağıdaki tablo, iki HTTP yöntemini: GET ve POST karşılaştırır.

  GET POST
Geri düğmesi/çözünürlük Masum Veriler yeniden sunulacaktır (tarayıcı, kullanıcıya verilerin yeniden sunulacağını bildirmelidir).
Yer imi Yer imi olarak saklanabilir Yer imi olarak saklanamaz
Kahve Kahve saklanabilir Önbellekleme yapılamaz
Kodlama Türü application/x-www-form-urlencoded application/x-www-form-urlencoded veya multipart/form-data. İkili veri için çoklu kodlama kullanın.
Tarih Parametreler tarayıcı tarihi'nde saklanır. Parametreler tarayıcı tarihi'nde saklanmaz.
Veri uzunluğuna yönelik sınırlamalar Evet. Veri gönderirken GET yöntemi URL'ye veri ekler; URL uzunluğu sınırlıdır (URL'nin maksimum uzunluğu 2048 karakterdir). Sınırlama yok.
Veri türüne yönelik sınırlamalar Sadece ASCII karakterlerine izin verilir. Sınırlama yok. İkili veri de izin verilir.
Güvenlik

POST'a göre GET, gönderilen verilerin URL'in bir parçası olduğu için güvenlik açığı daha fazladır.

Parola veya diğer hassas bilgileri gönderirken GET'i asla kullanmayın!

POST, GET'e göre daha güvenlidir çünkü parametreler tarayıcı tarihi veya web sunucusu günlüklerinde saklanmaz.
Görünürlük Veriler URL'de herkes için görülebilir. Veriler URL'de görüntülenmez.