HTTP (Hyper-Text Transfer Protocol) bir kaynaktan dağıtılan ve ortak kullanıma açık olan hiperortam bilgi sistemleri için uygulama seviyesinde bir iletişim protokolüdür. HTTP, veri iletişiminin temelidir. Ağa bağlı cihazlar arasında bilgi aktarmak için tasarlanmış bir uygulama katmanı protokolüdür ve ağ protokol yığınının diğer katmanlarının üzerinde çalışır. HTTP tipindeki bir akış, bir istemci makinenin bir sunucuya istekte bulunmasını ve ardından bir yanıt mesajı göndermesini içerir. İlk olarak 1990’larda Tim Berners-Lee tarafından geliştirilmiştir ve internetin temel taşı olarak kabul edilmektedir.
HTTP, istemci-sunucuna modeline dayanmaktadır. Bu modelde, istemci genellikle bir web tarayıcısıdır ve sunucu ise web sayfasını veya uygulamayı barındıran bir bilgisayardır. İstemci, HTTP istekleri (HTTP requests) gönderir, sunucu da bu isteklere uygun yanıtlar (HTTP responses) gönderir.
Bir HTTP iletişimi şu adımlardan oluşur:
1- İstek Gönderimi: İstemci, belirli bir URL’ye erişmek için HTTP isteği gönderir.
2- Sunucu İşlemi: Sunucu, istemciden gelen isteği işler ve uygun bir yanıt hazırlar.
3- Yanıt Gönderimi: Sunucu, hazırladığı yanıtı istemciye iletir. Bu yanıt genellikle bir web sayfası, JSON verisi veya başka bir dosya türü olabilir.
HTTP isteği, web tarayıcıları gibi İnternet iletişim platformlarının bir web sitesini yüklemek için ihtiyaç duydukları bilgileri isteme şeklidir. İnternet üzerinden yapılan her HTTP isteği, beraberinde farklı bilgi türleri taşıyan bir dizi kodlanmış veri taşımaktadır. Tipik bir HTTP isteği şunları içerir:
HTTP yöntemi, HTTP isteğinin sorgulanan sunucudan beklediği eylemi belirtmektedir. Örneğin, en yaygın HTTP yöntemlerinden “GET” ve “POST”; “bir “GET” isteği karşılığında bilgi beklenirken (genellikle web sitesi şeklinde), bir “POST” isteği tipik olarak istemcinin web sunucusuna bilgi gönderdiğini gösterir.
Örnek HTTP yöntemleri:
HTTP başlıkları anahtar-değer çiftleri halinde saklanan metin bilgileri içerir ve her HTTP isteğine dahil edilirler. Bu başlıklar, istemcinin hangi tarayıcıyı kullandığı ve hangi verilerin talep edildiği gibi temel bilgileri iletir.
Google Chrome’un ağ sekmesinden HTTP istek başlığı örneği:
Bir isteğin gövdesi, isteğin aktardığı bilgilerin gövdesini içeren kısımdır. Bir HTTP isteğinin gövdesi, web sunucusuna gönderilen kullanıcı adı ve parola gibi bilgileri ya da bir forma girilen diğer verileri içerir.
Sunucunun istemciden gelen isteklere verdiği yanıtlar genellikle bir durum koduyla birlikte gönderilir. Durum kodları 5 bloğa ayrılmaktadır.
“xx” 00 ile 99 arasındaki farklı sayıları ifade etmektedir.
Bazı önemli HTTP durum kodları şunlardır:
Örnek bir HTTP istek başlığı:
İnternet tarayıcısı (istemci) tarafından Google.com’a gönderilen HTTP isteği, web uygulaması tarafından işlenerek arama sonuçlarının yer aldığı bir HTTP yanıtı döndürülür. Google.com tarafından döndürülen HTTP yanıtının yapısı şu şekilde olacaktır:
Yanıtın başlığında yer alan ilk satıra bakıldığında HTTP/1.1 200 OK ifadesi, isteğin sunucu tarafından başarıyla işlendiğini göstermektedir. Başlık bilgilerinden hemen sonra yer alan ve html> ifadesiyle başlayan bölüm ise “akadema” ile ilgili google.com arama sonuçlarının internet tarayıcısında görüntülenmesini sağlayan HTML kodlarını içermektedir.
Henüz Tartışma Girilmemiştir
"HTTP Protokolü" maddesi için tartışma başlatın
HTTP Çalışma Mantığı
HTTP Yöntemi
HTTP İstek Başlığı
HTTP Gövdesi
HTTP Durum Kodları
HTTP İsteğinin Yapısı
HTTP Yanıtının Yapısı
HTTP Avantajları
HTTP Dezavantajları