HTTP İstek Yöntemleri


HTTP nedir?

Köprü Metni Aktarım Protokolü (HTTP), istemciler ve sunucular arasında iletişimi sağlamak için tasarlanmıştır.

HTTP, bir istemci ve sunucu arasında bir istek-yanıt protokolü olarak çalışır.

Örnek: Bir istemci (tarayıcı) sunucuya bir HTTP isteği gönderir; daha sonra sunucu, istemciye bir yanıt döndürür. Yanıt, istekle ilgili durum bilgilerini içerir ve ayrıca istenen içeriği de içerebilir.


HTTP Yöntemleri

  • ALMAK
  • İLETİ
  • KOYMAK
  • KAFA
  • SİLMEK
  • YAMA
  • SEÇENEKLER

En yaygın iki HTTP yöntemi şunlardır: GET ve POST.


GET Yöntemi

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

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

Sorgu dizesinin (ad/değer çiftleri) bir GET isteğinin URL'sinde gönderildiğini unutmayın:

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

GET istekleriyle ilgili diğer bazı notlar:

  • GET istekleri önbelleğe alınabilir
  • GET istekleri tarayıcı geçmişinde kalır
  • GET istekleri işaretlenebilir
  • Hassas verilerle uğraşırken GET istekleri asla kullanılmamalıdır
  • GET isteklerinin uzunluk kısıtlamaları vardır
  • GET istekleri yalnızca veri istemek için kullanılır (değiştirilmez)

POST Yöntemi

POST, bir kaynağı oluşturmak/güncellemek için bir sunucuya veri göndermek için kullanılır.

Sunucuya POST ile gönderilen veriler, HTTP isteğinin istek gövdesinde saklanır:

POST /test/demo_form.php HTTP/1.1
Host: w3schools.com

name1=value1&name2=value2

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

POST istekleriyle ilgili diğer bazı notlar:

  • POST istekleri asla önbelleğe alınmaz
  • POST istekleri tarayıcı geçmişinde kalmıyor
  • POST istekleri işaretlenemez
  • POST isteklerinin veri uzunluğu üzerinde herhangi bir kısıtlaması yoktur


PUT Yöntemi

PUT, bir kaynağı oluşturmak/güncellemek için bir sunucuya veri göndermek için kullanılır.

POST ve PUT arasındaki fark, PUT isteklerinin önemsiz olmasıdır. Yani, aynı PUT isteğini birden çok kez çağırmak her zaman aynı sonucu verecektir. Buna karşılık, bir POST isteğini tekrar tekrar çağırmak, aynı kaynağı birden çok kez yaratmanın yan etkilerine sahiptir.


HEAD Yöntemi

HEAD, GET ile hemen hemen aynıdır, ancak yanıt gövdesi yoktur.

Başka bir deyişle, GET /users bir kullanıcı listesi döndürürse, HEAD /users aynı isteği yapar ancak kullanıcı listesini döndürmez.

HEAD istekleri, büyük bir dosya veya yanıt gövdesini indirmeden önce olduğu gibi, bir GET isteğinde bulunmadan önce bir GET isteğinin ne döndüreceğini kontrol etmek için kullanışlıdır.


DELETE Yöntemi

DELETE yöntemi, belirtilen kaynağı siler.


SEÇENEKLER Yöntemi

OPTIONS yöntemi, hedef kaynak için iletişim seçeneklerini açıklar.


GET ile POST'u karşılaştırın

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

  GET POST
BACK button/Reload Harmless Data will be re-submitted (the browser should alert the user that the data are about to be re-submitted)
Bookmarked Can be bookmarked Cannot be bookmarked
Cached Can be cached Not cached
Encoding type application/x-www-form-urlencoded application/x-www-form-urlencoded or multipart/form-data. Use multipart encoding for binary data
History Parameters remain in browser history Parameters are not saved in browser history
Restrictions on data length Yes, when sending data, the GET method adds the data to the URL; and the length of a URL is limited (maximum URL length is 2048 characters) No restrictions
Restrictions on data type Only ASCII characters allowed No restrictions. Binary data is also allowed
Security GET is less secure compared to POST because data sent is part of the URL

Never use GET when sending passwords or other sensitive information!
POST is a little safer than GET because the parameters are not stored in browser history or in web server logs
Visibility Data is visible to everyone in the URL Data is not displayed in the URL