HTTP hakkında bilmeniz gereken her şey HTTP (Köprü Metni Aktarım Protokolü), web tarayıcılarının ve sunucularının iletişim kurmak için kullandığı bir ağ protokol standardı sağlar. Doğrudan URL’de yazılmış olduğu için bir web sitesini ziyaret ederken bunun fark edilmesi kolaydır (örn. Http://www.codeturkiye.com ).
Bu protokol, bir istemci programı tarafından uzaktaki bir sunucudan dosya istemek için kullanıldığı için FTP gibi diğerlerine benzer. HTTP durumunda, genellikle bir web sunucusundan HTML dosyalarını isteyen ve daha sonra metin, resim, köprü vb. Ile tarayıcıda görüntülenen bir web tarayıcısıdır.
HTTP, “stateless sistem” olarak adlandırılır. Bunun anlamı, FTP gibi diğer dosya aktarım protokollerinin aksine, istek yapıldığında HTTP bağlantısı kesildiğidir. Böylece, web tarayıcınız isteği gönderdiğinde ve sunucu sayfayla karşılık verdiğinde, bağlantı kapatıyor olmasıdır.
Çoğu web tarayıcısı HTTP’ye varsayılan olduğundan, yalnızca alan adını yazabilir ve tarayıcının “http: //” bölümünü otomatik olarak doldurmasını sağlayabilirsiniz.
HTTP Geçmişi
Tim Berners-Lee, orijinal World Wide Web’i tanımlamadaki çalışmalarının bir parçası olarak 1990’ların başında ilk HTTP’yi oluşturdu. 1990’lı yıllarda üç ana sürüm kullanıldı
- HTTP 0.9 (temel köprü metin belgelerinin desteği için)
- HTTP 1.0 (zengin web sitelerini destekleyen eklentiler ve ölçeklenebilirlik)
- HTTP 1.1 (Internet RFC 2068’de belirtilen HTTP 1.0’ın performans sınırlamalarını giderecek şekilde geliştirilmiştir)
En son sürüm olan HTTP 2.0, 2015’te onaylanmış bir standart haline geldi. HTTP 1.1 ile geriye dönük uyumluluk sürdürür ancak ek performans geliştirmeleri sunar.
Standart HTTP, bir ağ üzerinden gönderilen trafiği şifrelemese de, HTTPS standardı, (orijinal olarak) Güvenli Yuva Katmanı (SSL) veya (daha sonra) Aktarım Katmanı Güvenliği (TLS) kullanılarak HTTP’ye şifreleme eklemek için geliştirilmiştir.
HTTP Nasıl Çalışır
HTTP, istemci-sunucu iletişim modelini kullanan TCP’nin üzerine kurulmuş bir uygulama katmanı protokoldür.
HTTP istemcileri ve sunucuları, HTTP istek ve yanıt mesajları üzerinden iletişim kurar. Üç ana HTTP ileti türü GET, POST ve HEAD’dir.
- Sunucuya gönderilen HTTP GET iletileri yalnızca bir URL içerir. URL’nin sonuna sıfır veya daha fazla isteğe bağlı veri parametresi eklenebilir. Sunucu, mevcutsa, URL’nin isteğe bağlı veri bölümünü işler ve sonucu (bir web sayfası veya bir web sayfasının öğesi) tarayıcıya gönderir.
- HTTP POST iletileri isteğe bağlı herhangi bir veri parametresini URL’nin sonuna eklemeden istek iletisinin gövdesine yerleştirir.
- HTTP HEAD isteği, GET istekleri ile aynı işe yarar. URL’nin tam içeriğini yanıtlamak yerine, sunucu yalnızca üstbilgi bilgilerini geri gönderir (HTML bölümünde bulunur).
Tarayıcı, sunucuya TCP bağlantısı başlatarak bir HTTP sunucusu ile iletişim başlatır. Web tarama oturumları 8080 gibi diğer bağlantı noktaları bazen bunun yerine kullanılsa da varsayılan olarak sunucu bağlantı noktası 80’i kullanır.
Bir oturum kurulduktan sonra kullanıcı, web sayfasını ziyaret ederek HTTP mesajlarının gönderilmesini ve alınmasını tetikler.
HTTP ile Sorunlar
HTTP üzerinden iletilen iletiler birkaç nedenden dolayı başarıyla teslim edilemez:
- Kullanıcı hatası
- Web tarayıcısının veya web sunucusunun arızalanması
- Web sayfalarının oluşturulmasında hatalar
- Geçici ağ glitches
Bu hatalar oluştuğunda, protokol arıza nedenini yakalar ve HTTP durum satırı / kodu adlı tarayıcıya bir hata kodu rapor eder. Hatalar, ne tür hata olduğunu belirtmek için belirli bir sayı ile başlar.
Örneğin, 4xx hataları, sayfaya yönelik talebin doğru şekilde tamamlanamadığını veya talebin yanlış söz dizimi içerdiğini gösterir. Örnek olarak, 404 hataları sayfanın bulunamadığı anlamına gelir; bazı web sitelerinde bile bazı özel 404 hata sayfaları vardır.