HTTP nedir?
HTTP tanımı
Ağ bağlantılı cihazlar arasında bilgi dağıtımı için kullanılan bir uygulama katmanı protokolüdür. İnternette HTTP, web sunucularının tarayıcılara kullanıcı ekranında bir web sitesini görüntülemek için ihtiyaç duydukları her şeyi sağlayan bir dizi kural işlevi görür.
TCP/IP ailesinin bir üyesi olan HTTP (HyperText Transfer Protocol – Hiper-Metin Transfer Protokolü), World Wide Web üzerinde iletişim kurmak için kullanılan temel uygulama katmanı protokolüdür. İstemci (web tarayıcısı) ile sunucu arasında bilgi alışverişini sağlar. HTTP, web tarayıcısı ile sunucunun birbirini anlamasını ve etkileşime girmesini sağlayan bir dile benzer. HTTP, internet üzerinden bilginin nasıl talep edileceğini, iletileceğini ve teslim edileceğini belirleyen temelleri oluşturur.
HTTP2 (veya HTTP/2) ve HTTP3 (veya HTTP/3), bu protokolünün daha yeni sürümleridir. HTTP2, HTTP'nin performansını iyileştirmek için geliştirilmiş ve 2015 yılında standart haline gelmiştir. Ardından HTTP3 gelmiş ve 2022 yılında standart haline gelerek, web iletişimini tüm kullanıcılar için daha da verimli hale getirmiştir.
HTTP nasıl çalışır?
Hiper-Metin Transfer Protokolü, istemci (genellikle bir web tarayıcısı veya uygulama) bir web sunucusuna istek gönderdiğinde yanıt vererek çalışır, yani temelinde “istek-yanıt” alışverişi yer alır. Sunucu, gerekli verileri sağlayarak bu isteğe yanıt verir.
Örneğin, tarayıcınızın adres çubuğuna bir URL adresi girip “Enter” tuşuna bastığınızda, tarayıcı o web sayfasını barındıran sunucuya bir HTTP isteği gönderir. Sunucu, isteği işler ve istenen bilgileri (örneğin, bir web sitesini yüklemek için gereken bilgileri) içeren bir HTTP yanıtı verir. Tarayıcı daha sonra bu yanıtı alıp işler ve web sayfasını ekranınızda görüntüler.
Bu istek ve yanıt alışverişleri, istemcilerin web sayfalarını almasını, sunuculara veri göndermesini ve internet üzerinden işlemler gerçekleştirmesini sağlar.
HTTP isteği nedir?
HTTP isteği, bir istemcinin (web tarayıcısı) sunucuya gönderdiği ve belirli bir eylem veya kaynak istediği mesajdır. Örneğin, bir web sitesini yüklemek için gerekli bilgiler bu mesajla talep edilir. HTTP isteği, sunucunun isteği işlemesi ve uygun bir yanıt vermesi için gereken bilgileri barındıran birkaç bileşenden oluşur. HTTP isteğinin bileşenleri şunlardır:
- 1.İstek satırı. Bu, istenen eylemi belirten HTTP yöntemini (GET, POST, PUT veya DELETE), web kaynaklarının konumunu belirten hedef URL veya kaynak yolunu ve HTTP protokolünün sürümünü içerir.
- 2.İstek başlığı. Bu, istekle ilgili ek bilgiler ve meta veriler içerir, yani tarayıcı türü, kabul edilen içerik türleri, kullanıcı aracısı bilgileri, kimlik doğrulama belirteçleri ve çerezler
- 3.İstek gövdesi. Bu, isteğe bağlı bir bileşendir ve istemcinin sunucuya gönderdiği ek bilgileri içerir. Bu bileşen, sunucuya form gönderme, profil güncellemek için veri gönderme veya dosya yükleme gibi belirli bir bilgiyi iletir.
HTTP yanıtı nedir?
HTTP yanıtı, sunucunun bir HTTP isteğine yanıt olarak istemciye gönderdiği mesajdır. İstemci tarafından talep edilen bilgilerden, ek meta verilerinden ve isteğin başarısı veya başarısızlığı hakkındaki durum bilgilerinden oluşur. HTTP yanıtları genellikle aşağıdaki bilgileri içerir:
- 1.Durum satırı. İstemci cihaza gönderilen isteğin durumunu gösterir. HTTP sürümünü, durum kodunu ve durum mesajını içeren yanıtın ilk satırıdır.
- 2.Yanıt başlığı. İçerik türü, uzunluk veya önbelleğe alma talimatları gibi sunucunun verdiği yanıtla ilgili meta verileri ve ek bilgileri içerir.
- 3.Boş satır. Tek bir boş satır, yanıt başlığını yanıt gövdesinden ayırır.
- 4.Yanıt gövdesi (opsiyonel). Sunucunun istemciye geri gönderdiği verileri içerir. İstek başarılı olmuşsa, talep edilen veriyi HTML, JSON veya XML biçiminde de gönderir. İsteğe ve sunucunun yeteneklerine bağlı olarak bir görüntü veya herhangi türden bir veri de içerebilir.
HTTP durum kodu nedir?
HTTP durum kodu, bir web sunucusunun isteği işledikten sonra, onu yerine getirip getiremeyeceğini bildirmek için istemciye gönderdiği mesajdır.
HTTP durum kodu, web sunucusunun istemciye verdiği yanıtta yer alan üç basamaklı bir sayısal bir koddur. HTTP isteğinin sonucunu (isteğin başarılı olup olmadığını, yeniden yönlendirilip yönlendirilmediğini veya bir hata ile karşılaşıp karşılaşmadığını) istemciye bildirir. Bu nedenle, beş durum kodu sınıfı bulunur: bilgilendirici, başarılı, yeniden yönlendirme, istemci hatası ve sunucu hatası.
Muhtemelen daha önce karşılaştığınız en yaygın HTTP durum kodlarından bazıları şunlardır:
- 200 OK (Tamam). İstek başarılı oldu ve sunucu istenen verileri sağladı.
- 301 Moved Permanently (Kalıcı Olarak Taşındı). İstenen kaynağın URL'si kalıcı olarak değiştirildi.
- 400 Bad Request (Hatalı İstek). Sunucu, istemcinin isteğini anlayamadı.
- 401 Unauthorized (Erişim Reddedildi). İstemci, sunucudaki bir kaynağa erişmek için uygun kimlik doğrulama bilgilerine sahip değil.
- 403 Forbidden (Yasak). İstemcinin kimliği biliniyor, ancak istenen kaynağa erişim izni yok.
- 404 Not Found (Bulunamadı). Büyük ihtimalle bu hata koduyla daha önce karşılaşmışsınızdır. Bu kod, istenen kaynağın sunucuda bulunamadığı anlamına gelir.
- 500 Internal Server Error (İç Sunucu Hatası). Sunucu, nasıl işleyeceğini bilmediği bir durumla karşılaştığı için isteği yerine getiremiyor.
- 502 Bad Gateway (Hatalı Ağ Geçidi). Sunucu, ana sunucusundan (host) geçersiz bir yanıt aldı.
HTTP ve HTTPS
Hiper-Metin Transfer Protokolü (HTTP) ve Güvenli Hiper-Metin Transfer Protokolü (HTTPS - HyperText Transfer Protocol Secure), ağ üzerinden veri aktarımı için kullanılan protokollerdir. İkisi arasındaki temel fark, sağladıkları güvenlik düzeyidir. HTTPS, HTTP'den çok daha güvenlidir:
- Veri şifreleme. HTTPS protokolü, istemci ile sunucu arasında iletilen verileri, yetkisiz kişilerden korumak için şifreleyerek okunamaz bir biçime dönüştürür.
- SSL/TLS. HTTPS, istemci ile sunucu arasındaki bağlantıyı güvenli hale getirmek için SSL/TLS protokolünü kullanır. Bu protokoller, aktarılan verilerin gizli kalmasını ve değiştirilememesini sağlar. TLS, bu ikisi arasında daha gelişmiş olanıdır ve daha yüksek düzeyde güvenlik sağlar
- Kimlik doğrulama. HTTPS, bir web sitesini ziyaret ettiğinizde tarayıcınızın doğru siteye bağlandığını onaylamak için kimlik doğrulaması yapar. Bu doğrulama, istenilen sunucuyla iletişim kurduğunuzdan emin olmanızı sağlar ve man-in-the-middle (ortadaki adam) saldırılarının önlenmesine yardımcı olur
- Veri bütünlüğü. HTTPS, istemci ile sunucu arasında iletilen verilerin yetkisiz kişiler tarafından değiştirildiğini tespit ederse, sunucu bağlantıyı kapatır ve iletişimi sonlandırır.
HTTP proxy’ler
HTTP proxy (vekil sunucu), internet trafiğinizi yönlendiren ve IP adresinizi gizleyen bir ara sunucudur. İstemci ile web sunucusu arasında bir ağ geçidi görevi üstlenir ve istemci istekleri ile web sunucusu yanıtlarını işler.
İstemci bir web sitesine erişim talebinde bulunduğunda, bu istek önce proxy'ye gider. Proxy, bu isteği web sunucusuna iletir. Web sunucusunun yanıtı da proxy üzerinden geçer ve proxy bunu istemciye iletir.
HTTP proxy'ler, istemcinin IP adresini gizleyerek ve internet servis sağlayıcının ziyaret edilen sayfaları görmesini engelleyerek gizliliği artırırlar. Buna ek olarak, web sunucularının yükünü azaltmak ve istemcilerin web sitelerine daha hızlı erişmesine yardımcı olmak için web sayfalarının ve kaynakların kopyalarını da depolayabilirler. Ayrıca, bazı internet engellemelerini atlatarak kullanıcılar için daha fazla içeriği erişilebilir hale getirebilirler.
Tek bir tıkla online güvenliğe adım atın.
Dünyanın lider VPN'i ile güvende kalın