Web Projelerinde Request Yapısı: Verb, Header, Content
Web projelerinde, istemciden sunucuya veri gönderimi ve sunucudan istemciye veri alımı HTTP (Hypertext Transfer Protocol) protokolü ile gerçekleştirilir. Bu iletişimde kullanılan temel yapı taşları HTTP istekleridir (requests). Bir HTTP isteği, üç ana bileşenden oluşur: verb (fiil), header (başlık), ve content (içerik). Bu makalede, bu bileşenleri ayrıntılı olarak ele alacak ve örnekler vereceğiz.
1. HTTP Verb (Fiil)
HTTP verb, istemcinin sunucuya hangi tür işlem yapmak istediğini belirtir. Yaygın olarak kullanılan HTTP verb'ler şunlardır:
- GET: Sunucudan veri almak için kullanılır. Bu istek, sunucuda veri değiştirmez.
- POST: Sunucuya yeni veri göndermek veya sunucuda bir işlem yapmak için kullanılır.
- PUT: Sunucuda mevcut bir veriyi güncellemek için kullanılır.
- DELETE: Sunucudaki mevcut bir veriyi silmek için kullanılır.
- PATCH: Sunucudaki mevcut veriyi kısmi olarak güncellemek için kullanılır.
- HEAD: GET isteğine benzer, ancak sadece başlık bilgilerini alır, veri içeriği gönderilmez.
- OPTIONS: Sunucunun hangi HTTP metodlarını desteklediğini öğrenmek için kullanılır.
Örnek:
GET /api/users HTTP/1.1
Bu örnek, sunucudan /api/users
yolundaki kullanıcı verilerini almak için bir GET isteğidir.
2. HTTP Header (Başlık)
HTTP header, istemci ve sunucu arasında veri iletimi sırasında ek bilgiler taşır. Başlıklar, anahtar-değer çiftleri olarak düzenlenmiştir ve çeşitli türde bilgiler içerebilir:
- Host: İstek yapılan sunucunun adresi.
- Content-Type: Gönderilen verinin türünü belirtir (örneğin,
application/json
). - Authorization: Kimlik doğrulama bilgilerini taşır.
- User-Agent: İstek yapan istemcinin yazılım bilgilerini içerir.
- Accept: İstemcinin hangi türde içerikleri kabul edebileceğini belirtir.
Örnek:
POST /api/users HTTP/1.1
Host: example.com
Content-Type: application/json
Authorization: Bearer abc123
Bu örnekte, bir POST isteği yapılmakta ve başlık bilgileri arasında Content-Type
ve Authorization
gibi önemli bilgiler bulunmaktadır.
3. HTTP Content (İçerik)
HTTP content, isteğin veya yanıtın gövdesinde taşınan veri kısmıdır. GET ve HEAD isteklerinde genellikle içerik bulunmaz, ancak POST, PUT, PATCH gibi isteklerde içerik önemli rol oynar. İçerik, genellikle JSON, XML, HTML, metin veya ikili veri formatında olabilir.
Örnek:
POST /api/users HTTP/1.1
Host: example.com
Content-Type: application/json
Authorization: Bearer abc123
{
"name": "John Doe",
"email": "[email protected]"
}
Bu POST isteğinde, içerik kısmında JSON formatında yeni bir kullanıcının bilgileri gönderilmektedir.
Örnek Uygulama Senaryosu
Bir kullanıcı kaydı oluşturmak için bir web uygulamasında aşağıdaki adımlar izlenebilir:
1. Kullanıcı Kayıt Formu (HTML)
< form id="userForm" >
< label for="name">Name:
< input id="name" name="name" required="" type="text" />
< label for="email">Email:
< input id="email" name="email" required="" type="email" />
< button type="submit">Register
2. JavaScript ile Form Verilerinin Gönderilmesi
document.getElementById('userForm').addEventListener('submit', function(event) { event.preventDefault(); const name = document.getElementById('name').value; const email = document.getElementById('email').value; fetch('https://example.com/api/users', { method: 'POST', headers: { 'Content-Type': 'application/json', 'Authorization': 'Bearer abc123' }, body: JSON.stringify({ name: name, email: email }) }) .then(response => response.json()) .then(data => { console.log('Success:', data); }) .catch((error) => { console.error('Error:', error); }); });
Bu örnekte, form verileri JavaScript kullanılarak toplanır ve fetch
API'si ile sunucuya POST isteği yapılır. İstek başlıklarında Content-Type
ve Authorization
bilgileri yer alır ve içerik kısmında JSON formatında kullanıcı verileri gönderilir.
HTTP istek yapısı, verb, header ve content bileşenlerinden oluşur ve web projelerinde veri alışverişi için temel bir yapı sağlar. Her bir bileşen, istemci ile sunucu arasında hangi işlemlerin yapılacağını ve bu işlemlerin nasıl gerçekleştirileceğini belirler. Doğru yapılandırılmış HTTP istekleri, web uygulamalarının güvenli, etkili ve doğru şekilde çalışmasını sağlar.
- Web Yazılım
Tepkini Göster
- 2
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
Yorumlar
Sende Yorumunu Ekle