HTTP Nedir?
HTTP (Köprü Metni Aktarım Protokolü), dağıtılmış, işbirliğine dayalı, hiper ortam bilgi sistemleri için uygulama düzeyinde bir protokoldür. Bu, 1990’dan beri World Wide Web (yani internet) için veri iletişiminin temelidir. HTTP, istek yöntemlerinin, hata kodlarının ve başlıklarının uzantılarını kullanarak başka amaçlar için de kullanılabilen genel ve durumsuz bir protokoldür.

Temel olarak HTTP, World Wide Web üzerinde veri (HTML dosyaları, görüntü dosyaları, sorgu sonuçları vb.) teslim etmek için kullanılan TCP/IP tabanlı bir iletişim protokolüdür. Varsayılan bağlantı noktası TCP 80’dir, ancak diğer bağlantı noktaları da kullanılabilir. Bilgisayarların birbirleriyle iletişim kurması için standart bir yol sağlar. HTTP belirtimi, istemcilerin istek verilerinin nasıl oluşturulacağını ve sunucuya gönderileceğini ve sunucuların bu isteklere nasıl yanıt vereceğini belirtir.
Temel Özellikler
HTTP’yi basit ama güçlü bir protokol yapan üç temel özellik vardır:
- HTTP bağlantısızdır: HTTP istemcisi, yani bir tarayıcı bir HTTP isteği başlatır ve bir istek yapıldıktan sonra istemci yanıtı bekler. Sunucu isteği işler ve istemcinin bağlantıyı kesmesinden sonra bir yanıt gönderir. Böylece istemci ve sunucu birbirlerini yalnızca mevcut istek ve yanıt sırasında bilirler. İstemci ve sunucunun birbirleri için yeni olması gibi yeni bağlantılarda daha fazla istek yapılır.
- HTTP medyadan bağımsızdır: Bu, hem istemci hem de sunucu veri içeriğinin nasıl işleneceğini bildiği sürece her tür verinin HTTP tarafından gönderilebileceği anlamına gelir. İstemcinin yanı sıra sunucunun da uygun MIME türünü kullanarak içerik türünü belirtmesi gerekir.
- HTTP durumsuzdur: Yukarıda bahsedildiği gibi, HTTP bağlantısızdır ve HTTP’nin durumsuz bir protokol olmasının doğrudan bir sonucudur. Sunucu ve istemci, yalnızca geçerli bir istek sırasında birbirlerinden haberdardır. Daha sonra ikisi de birbirini unutur. Protokolün bu doğası gereği, ne istemci ne de tarayıcı web sayfalarındaki farklı istekler arasında bilgi tutamaz.
Temel Mimari
Aşağıdaki diyagram, bir web uygulamasının çok temel bir mimarisini gösterir ve HTTP’nin nerede olduğunu gösterir:

HTTP protokolü, web tarayıcılarının, robotların ve arama motorlarının vb. HTTP istemcileri gibi davrandığı ve Web sunucusunun bir sunucu olarak hareket ettiği istemci/sunucu tabanlı mimariye dayalı bir istek/yanıt protokolüdür.
Client
HTTP istemcisi, sunucuya bir istek yöntemi, URI ve protokol sürümü biçiminde bir istek gönderir, ardından bir TCP/IP bağlantısı üzerinden istek değiştiricileri, istemci bilgilerini ve olası gövde içeriğini içeren MIME benzeri bir mesaj gelir.
Server
HTTP sunucusu, mesajın protokol sürümü ve bir başarı veya hata kodu dahil olmak üzere bir durum satırı ve ardından sunucu bilgilerini, varlık meta bilgilerini ve olası varlık gövdesi içeriğini içeren MIME benzeri bir mesajla yanıt verir.