HTTP Yöntemleri Nelerdir ve Bunları Nasıl Kullanabilirsiniz?

HTTP Yöntemleri Nelerdir ve Bunları Nasıl Kullanabilirsiniz?
Sizin gibi okuyucular MUO'yu desteklemeye yardımcı oluyor. Sitemizdeki bağlantıları kullanarak bir satın alma işlemi gerçekleştirdiğinizde, bir ortaklık komisyonu kazanabiliriz. Devamını oku.

Her HTTP isteği, temel amacını açıklamak için bir yöntem kullanır. Her yöntemin, bir web sayfasını getirmekten bir kaynağı silmeye kadar değişen görevler için belirli kullanımları vardır. GET ve POST en tanıdık ikisidir, ancak yedi tane daha vardır.





Bu kavram ve olası dokuz HTTP yönteminin her birinin ne için olduğu hakkında bilgi edinin.





HTTP Yöntemi Nedir?

Yaptığınız her HTTP isteği, bir nesne görevi gören bir fiil ve isim gibi, bir eylem ve bu eylem için bir hedef içerir.





GÜNÜN MAKALE VİDEOSU İÇERİKLE DEVAM ETMEK İÇİN KAYDIRIN

URL, isteğin hedefi olarak hareket eden benzersiz bir kaynağı tanımlar. Bu arada, söz konusu URL'de hangi eylemin gerçekleştirileceği fiili bir yöntemle temsil edilir.

Bir HTTP isteğinin ilk satırı, HTTP sürümü, kaynak URL'si ve istek yöntemi dahil olmak üzere en önemli bilgileri sağlar:



 GET /software/htp/cics/index.html HTTP/1.1 

9 HTTP Yöntemi Nedir?

İlk dört yöntem, CRUD modelindeki dört eylemin eşdeğeridir: Oluştur, Oku, Güncelle ve Sil. İlgili HTTP yöntemleri şunlardır: POSTALAMAK , ELDE ETMEK , KOYMAK , Ve SİLMEK .

ELDE ETMEK

Web'de gezinirken ve bağlantıları tıklarken veya bir API aracılığıyla veri isterken göndereceğiniz en yaygın, varsayılan istek. Sunucu, kaynağı yanıt gövdesinde döndürmelidir.





POSTALAMAK

Yeni kaynaklar oluşturmak için, özellikle de bu kaynakların tanımlanabilir bir üst kaynağı olduğunda, POST'u kullanın. Örneğin, bir /clients kaynağınız varsa, gerekli verileri /clients'e POST yaparak yeni bir client oluşturmalısınız.

Windows 10 uykudan uyanmıyor

KOYMAK

Mevcut bir kaynağı güncelleyin veya değiştirin. Bu, POST'a benzer, ancak kaynak için benzersiz bir tanımlayıcı seçmekten müşteri sorumludur. PUT kullanarak bir kaynak oluşturmak için kaynak URL'si bir tanımlayıcı içermelidir, örneğin, /müşteriler/007 .





SİLMEK

URL'de belirttiğiniz kaynağı silmek için bu yöntemi kullanın. Tüm HTTP yöntemleri gibi, destek sunucuya bağlıdır. Açıkça riskli olsa da, herkesin bir kaynağı silmesine izin verebilir. DELETE'i destekleyen bir sunucu genellikle Kimlik doğrulama ve yetkilendirme .

Diğer iki yöntem, yukarıdakilere göre küçük farklılıklar sağlar: YAMA Ve KAFA . Belirli API'leri kullanırken veya kendi API'nizi oluştururken bunları yararlı bulabilirsiniz.

YAMA

PATCH yöntemi, mevcut bir kaynağı yalnızca kısmi verilerle günceller. Başka bir deyişle, yeni kaynağın tam temsilini sağlamanız gerekmez, yalnızca güncellemeniz gereken alanları sağlamanız gerekir.

HEAD isteği, bir kaynak hakkında bilgi istediğiniz, ancak kaynağın kendisi hakkında bilgi istemediğiniz durumlar içindir. Yanıt bir gövde içermeyecek, ancak bir dizi yararlı HTTP başlığı içerecektir. Bir dosyanın toplam boyutunu indirmeden önce Content-Length yanıt başlığı aracılığıyla öğrenebilirsiniz.

Kalan yöntemler— SEÇENEKLER , BAĞLAMAK , Ve İZ — daha belirsizdir. Meta veriler, ağ oluşturma ve sorun giderme ile ilgilenirler. Bunları belirli programlama türlerinde yararlı bulabilirsiniz, ancak muhtemelen her gün kullanmayacaksınız.

SEÇENEKLER

Bir sunucu, kaynağın gerçekte hangi HTTP yöntemlerini desteklediğini söyleyerek bu yönteme yanıt vermelidir. Bu keşif için faydalı olabilir.

BAĞLAMAK

Bazı ağ yazılımı türleri, iki bilgisayar arasında bir tünel oluşturmak için bu yöntemi kullanabilir. Bu genellikle bir proxy aracılığıyla bir HTTPS bağlantısı başlatmak için kullanılır.

İZ

Bu yöntem sorun giderme için kullanışlıdır. Sunucu, aldığında yanıt gövdesinde aldığı isteği geri göndermelidir. Yöntem, ara makinelerin isteğin herhangi bir ayrıntısını değiştirip değiştirmediğini kontrol etmek için bir mekanizma sağlar.

GET ve HEAD, her genel web sunucusunun desteklediği tek iki yöntemdir. Belirli bir sunucu diğer yöntemleri destekleyebilir veya desteklemeyebilir, bu nedenle önce kontrol etmelisiniz.

Bu Yöntemleri Ne Zaman Kullanabilirsiniz?

Çoğu zaman, HTTP yöntemleri sizin için şeffaf olacaktır. Ancak, bir web sayfasına form eklerseniz veya bir API kullanırsanız bunları göz önünde bulundurmanız gerekir.

HTML'de HTTP Yöntemleri

bu biçim elementler yöntem niteliği, form gönderildiğinde kullanılacak HTTP yöntemini ayarlamanıza olanak tanır. HTML yalnızca şunları destekler: postalamak Ve elde etmek bu öznitelik için değerler ve belirsiz bir diyalog alternatifi.

 <form method="post"> 
  ...
</form>

gibi özellikleri kullanabilirsiniz. Chrome'un Geliştirici Araçları görüntülemek için trafik ve tarayıcınızın belirli bir istek için gönderdiği yöntemi onaylayın. Genellikle sunucudaki verileri güncelledikleri için çoğu web formunun bir POST göndereceğini unutmayın. Bununla birlikte, birçok arama formu, verileri değiştirmeden basitçe getirdikleri için GET'i kullanır.

tarama trafiğinizle birlikte bir "izleme" isteği gönderin
  Farklı yöntemlerle 3 isteği gösteren Chrome geliştirici araçları paneli: POST, GET ve PATCH

POST verileri URL'nin bir parçası olmadığı için, onu bir GET yoluyla göndermenizden daha özeldir. Veriler, teorik olarak bir saldırganın onu engelleyebileceği talebin gövdesinde hâlâ mevcuttur. Ancak HTTPS yoluyla veri göndermek bu sorunu azaltmalıdır.

GET istekleriyle asla bir kullanıcı girişi uygulamamalısınız. Oturum açma, bir oluşturma veya güncellemeden çok bir okuma işlemi gibi görünse de, verileri güvenceye almak için yine de POST kullanmanız gerekir.

HTML formları yalnızca GET ve POST'u desteklediğinden, örneğin sunucudaki bir kaynağı silen bir formu doğrudan oluşturamazsınız. Sunucudaki REST ilkelerine uyan yaygın bir geçici çözüm, bir yer tutucu değişken kullanmak ve orijinal HTTP yöntemiymiş gibi davranmaktır. Örneğin:

F2ED0D7A1E1170B462C057AF9A274955AACD873

Sunucu tarafı kodunuz, bu 'proxy yöntemi' değişkeninin varlığını kontrol edebilir ve ona, kullanılan gerçek yöntemmiş gibi davranabilir. Örneğin, PHP'de:

 $method = $_SERVER["REQUEST_METHOD"]; 

if (array_key_exists("_method", $_REQUEST)) {
  $method = $_REQUEST["_method"];
}

HTTP İsteklerini Programlı Olarak Gönderme

Web Fetch API, bir HTTP isteği göndermek için kullanabileceğiniz bir fetch() JavaScript işlevi sağlar. Yalnızca HTML'nin desteklediği GET ve POST'u değil, tüm yöntemleri destekler.

Getirme işlevi, varsayılan olarak bir GET isteği gönderir. Farklı bir yöntem kullanmak için, adını bir değer olarak belirtin. yöntem özelliği, ikinci bağımsız değişken olarak gönderdiğiniz bir nesnede.

 fetch('https://example.com/', { method: "HEAD" }); 

PHP de dahil olmak üzere birçok sunucu tarafı dilden HTTP istekleri de gönderebilirsiniz. Bu dilde curl kitaplığı, bu tür istekleri göndermenin yaygın bir yoludur.

Kıvrılma kitaplığında, bir yöntem belirtmek için ayarlayabileceğiniz bir CURLOPT_CUSTOMREQUEST seçeneği vardır.

 if ($ch = curl_init($url)) { 
    curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'PUT');
    curl_exec($ch);
    // ...
}

Komut Satırı aracılığıyla

curl komut satırı aracı birkaç protokolden biri aracılığıyla bir sunucuya veya sunucudan veri aktarmanıza olanak tanır. HTTP (ve HTTPS) çok yaygın iki kullanım durumudur.

Aşağıdaki komutla onaylayabileceğiniz gibi, varsayılan olarak curl bir GET isteği gönderir:

 curl -v -s -o /dev/null example.com/get-test 

Çıktının beşinci satırında istek yöntemini görebilirsiniz:

  curl kullanan örnek bir GET isteği.

Curl'ün -X işaretini kullanarak gönderdiği istek yöntemini değiştirebilirsiniz:

 curl -v -s -o /dev/null example.com/get-test -X POST 

Şimdi curl, POST yöntemini kullanarak bir istek gönderir:

  curl kullanan örnek bir POST isteği.

HTTP'nin Birçok Kullanımı Vardır

Web'de yaptıklarınızın çoğu standart GET isteklerini içerecek ve ara sıra form gönderimleri için POST yapılacaktır. Ancak HTTP, bunun önerdiğinden çok daha anlamlı bir protokoldür.

En yaygın yöntemlerden bazıları, HTTP'yi kaynak odaklı bir API oluşturmak için mükemmel bir temel haline getiren CRUD modelini yansıtır.