Intern
HTTP isteklerinin hangi türleri vardır?
sobes.tech yapay zeka
AI'dan gelen yanıt
Temel HTTP isteği türleri: GET, POST, PUT, DELETE, PATCH, HEAD, OPTIONS, TRACE, CONNECT.
En yaygın olanların açıklaması:
- GET: Belirtilen kaynağın görünümünü talep eder. Bu yöntemle yapılan istekler sadece veri almalıdır.
- POST: Belirli bir kaynağa işlenmek üzere veri gönderir. Sık görülen sonuçlar durum değişikliği veya sunucuda yan etkilerdir.
- PUT: Hedef kaynağın tüm mevcut gösterimlerini istek gövdesindeki verilerle değiştirir.
- DELETE: Belirtilen kaynağı siler.
- PATCH: Kaynağa kısmi değişiklikler uygular.
- HEAD:
GETgibi başlıkları talep eder, ancak yanıt gövdesi olmadan. Meta verileri almak için kullanılır. - OPTIONS: Hedef kaynak için iletişim parametrelerini açıklar.
- CONNECT: Talep edilen bağlantıyı şeffaf bir TCP/IP proxy'sine dönüştürür.
- TRACE: Hedef kaynağa giden yolda geri bildirim testi yapar.
GET ve POST arasındaki farklar:
| Özellik | GET | POST |
|---|---|---|
| Amaç | Veri almak | İşlem için veri göndermek |
| Veri iletimi | URL parametreleri (Sorgu Dizesi) aracılığıyla | İstek gövdesi aracılığıyla |
| Güvenlik | İdempotent (tekrarlanan istekler durumu değiştirmez) | İdempotent olmayan |
| Veri görünürlüğü | URL'de görünür, tarayıcı geçmişinde ve sunucu loglarında saklanır | URL'de görünmez, geçmişte saklanmaz |
| Veri boyutu | URL uzunluğu ile sınırlıdır | Sınırsızdır (veya çok büyük olabilir) |
| Önbellekleme | Önbelleğe alınabilir | Temel araçlarla önbelleğe alınmaz |
| Yer imleri | GET parametreleriyle sayfa yer imlerine eklenebilir | Mümkün değil (normal form gönderme yöntemleriyle) |
PHP'de GET kullanımı örneği:
<?php
// URL'den 'id' parametresini al
$userId = $_GET['id'];
echo "Kullanıcı ID'si: " . htmlspecialchars($userId);
?>
PHP'de POST kullanımı örneği (form verilerini işleme):
<?php
// POST yöntemiyle istek olup olmadığını kontrol et
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
// İstek gövdesinden verileri al
$username = $_POST['username'];
$password = $_POST['password'];
// Verileri işle (örneğin, veritabanına kaydet)
echo "Kullanıcı adı: " . htmlspecialchars($username) . "<br>";
echo "Şifre alındı.";
}
?>