HTTP ve HTTPS Nedir? Aralarındaki Temel Farklar
HTTP, tarayıcı ile web sunucusu arasında veri alışverişini sağlayan protokoldür. HTTPS ise bu iletişime şifreleme, veri bütünlüğü ve sunucu doğrulaması ekler. Adresteki HTTPS ifadesi bağlantının aktarım sırasında daha güvenli olduğunu gösterir; ancak sitenin her açıdan güvenilir olduğunu garanti etmez.
Bu yazıda (5)
Bir web sitesine girildiğinde tarayıcı ile sunucu arasında istek ve yanıt mesajları alışverişi yapılır. HTTP bu iletişimin temel kurallarını belirler; HTTPS ise aynı iletişimi güvenlik katmanlarıyla birlikte yürütür.
HTTP ve HTTPS'nin temel tanımları
HTTP, web tarayıcısı gibi bir istemci ile web sunucusu arasındaki veri alışverişini düzenleyen uygulama katmanı protokolüdür. İstemci bir kaynak için istek gönderir, sunucu da isteğin sonucunu ve gerekiyorsa HTML sayfası, görsel ya da başka bir içeriği yanıt olarak iletir. Bu yapı, bir web sayfasındaki bağlantıya tıklamak veya adres çubuğuna bir adres yazmak gibi işlemlerin temelinde bulunur.
HTTP'nin çalışma mantığı istek-yanıt döngüsüne dayanır. Tarayıcı sunucuya hangi kaynağı istediğini bildirir; sunucu isteği değerlendirip içerik, hata mesajı veya başka bir yanıt döndürür. HTTP tek başına kullanıldığında iletişim şifrelenmez. Bu nedenle ağ üzerindeki uygun konumda bulunan bir kişi, aktarım sırasında gönderilen bilgileri okuyabilir veya değiştirebilir. HTTP bağlantıları için yaygın olarak 80 numaralı bağlantı noktası kullanılır.
HTTPS, HTTP'nin güvenlik özellikleri eklenmiş biçimidir. Tarayıcı ile sunucu arasındaki HTTP mesajları TLS adı verilen güvenlik katmanı üzerinden taşınır; böylece içerik aktarılırken gizlilik, bütünlük ve sunucu kimliği için ek koruma sağlanır. HTTPS bağlantıları için yaygın olarak 443 numaralı bağlantı noktası kullanılır. HTTPS bağlantısının kurulma aşamasındaki TLS el sıkışması ayrı ve daha ileri bir konudur; burada yalnızca HTTPS'nin HTTP iletişimini güvenlik katmanıyla taşıdığı bilinmelidir. TLS sürümleri, kullanılan şifreleme algoritmaları ve sertifika zinciri de bu makalenin kapsamı dışındaki ayrıntılardır.
HTTPS sertifikası, tarayıcının bağlandığı sunucunun ilgili alan adıyla ilişkilendirilebilmesine yardımcı olan temel bir kimlik doğrulama unsurudur. Ancak sertifikaya sahip olmak, sitenin sunduğu her bilginin doğru veya güvenilir olduğu anlamına gelmez.
HTTP ile HTTPS arasındaki temel farklar
İki protokolün ortak noktası, tarayıcı ile sunucu arasında istek ve yanıt alışverişi sağlamalarıdır. Temel fark, HTTPS'nin bu alışverişe güvenlik katmanı eklemesidir. HTTP'de mesajlar şifrelenmeden iletilebilirken HTTPS'de aktarım sırasında okunmalarını ve değiştirilmelerini zorlaştıran korumalar bulunur. Bu nedenle kullanıcı adı, parola veya ödeme bilgisi gibi hassas verilerin gönderildiği bağlantılarda HTTPS tercih edilir.
Fark, web adresinde de görülebilir: adresin başında http:// bulunuyorsa bağlantı HTTP, https:// bulunuyorsa bağlantı HTTPS üzerinden kurulmaya çalışılır. Örneğin aynı alan adına ait bir sayfanın http:// ile başlayan adresi ile https:// ile başlayan adresi, kullanılan iletişim güvenliği bakımından aynı değildir. HTTPS bağlantısı ek güvenlik işlemleri nedeniyle HTTP'den farklı bir bağlantı kurulmasını gerektirir; bunun karşılığında veri aktarımı daha korumalı hâle gelir.
HTTP ve HTTPS arasındaki fark, protokol sürümünden ibaret değildir. HTTP/2 ve HTTP/3 gibi sürümler iletişimin hızını ve aktarım biçimini geliştirebilir; HTTPS ise bağlantının güvenlik özelliklerini ifade eder. HTTP/3, TCP yerine UDP üzerinde çalışan QUIC protokolünü kullanır, ancak bu ayrıntı HTTP ile HTTPS arasındaki temel güvenlik karşılaştırmasının yerine geçmez.
HTTPS'nin sağladığı üç temel güvenlik işlevi
HTTPS'nin güvenli kabul edilmesinin üç temel nedeni şifreleme, veri bütünlüğü ve sunucu doğrulamasıdır. Şifreleme, tarayıcı ile sunucu arasında taşınan verinin ağ üzerinde izinsiz kişiler tarafından doğrudan okunmasını engellemeyi amaçlar. Kullanıcının bir forma yazdığı parolanın veya sunucuya gönderdiği başka bir bilginin aktarım sırasında açık metin olarak görünmemesi bu işlevin sonucudur. Örneğin ortak bir ağ üzerinden HTTPS kullanan bir sayfaya gönderilen bilgi, bağlantıyı dinleyen kişinin anlayabileceği biçimde taşınmaz.
Veri bütünlüğü, iletilen mesajın yolda değiştirilip değiştirilmediğinin fark edilmesine yardımcı olur. Bir saldırgan sayfanın içeriğini, gönderilen bir form verisini veya sunucudan gelen yanıtı değiştirmeye çalışırsa, HTTPS'nin bütünlük kontrolleri bu iletişimin güvenilir olmadığını ortaya çıkaracak şekilde tasarlanmıştır. Böylece tarayıcı ile sunucunun aynı veriyi iletiyor olması hedeflenir. Bu özellik gizlilikten farklıdır: şifreleme verinin okunmasını, bütünlük koruması ise değiştirilmesini ele alır.
Sunucu doğrulaması, tarayıcının iletişim kurduğu sunucunun istenen web adresiyle ilişkili olup olmadığını kontrol etmeye yöneliktir. Sertifika bu kimlik kontrolünde rol oynar. Örneğin tarayıcı belirli bir alan adına bağlanmak isterken, bağlantının başka bir sunucuya yönlendirilmesi durumunda sertifika uyuşmazlığı bir uyarıya yol açabilir. Böylece HTTPS yalnızca veriyi gizlemeyi değil, kullanıcının yanlış sunucuyla iletişim kurma riskini azaltmayı da hedefler.
Bu üç işlev birlikte çalışır: veri aktarımı gizlenir, aktarımın değiştirilmesi fark edilebilir ve sunucunun adresle ilişkisi kontrol edilir. HTTPS'nin bağlantı kurulurken bu korumaları nasıl müzakere ettiği TLS el sıkışması ve TLS bağlantı süreci başlığında ayrıca incelenir.
HTTPS'nin koruduğu ve ortadan kaldırmadığı riskler
HTTPS, özellikle ağ üzerinden yapılan iletişimin dinlenmesi, aktarım sırasında verinin değiştirilmesi ve kullanıcının yanlış bir sunucuya yönlendirilmesi gibi riskleri azaltır. Bu koruma, tarayıcı ile HTTPS sunucusu arasındaki veri aktarımı için geçerlidir. Örneğin bir form gönderilirken bağlantının HTTPS olması, form verisinin ağ üzerinde açık biçimde taşınmamasına ve iletinin değiştirilmesinin fark edilebilmesine yardımcı olur.
Bununla birlikte HTTPS, web sitesinin dürüst veya güvenilir olduğunu tek başına kanıtlamaz. Kimlik avı amacıyla hazırlanmış bir site de HTTPS kullanabilir; bu durumda bağlantı şifreli olsa bile kullanıcı bilgilerini isteyerek kötü niyetli bir siteye vermiş olabilir. HTTPS ayrıca kullanıcının cihazındaki kötü amaçlı yazılımı, zayıf parolayı, yanlış kişiye gönderilen bilgiyi veya sitenin kendi içindeki güvenlik sorunlarını ortadan kaldırmaz. Kısacası HTTPS, bağlantı yolunu korur; sitenin amacı, içeriği ve kullanıcının cihazındaki bütün riskler hakkında tek başına güvence vermez.
Web adresinde HTTP veya HTTPS ifadesini yorumlama
Tarayıcının adres çubuğunda adresin başındaki ifade, bağlantının hangi protokolle kurulacağını gösterir. http:// ile başlayan bir adres, iletişimin HTTP üzerinden ve şifreleme olmadan yapılabildiğini belirtir. https:// ile başlayan bir adres ise HTTP mesajlarının HTTPS güvenlik katmanı üzerinden taşınmasının amaçlandığını gösterir. Bu nedenle özellikle parola, kimlik veya ödeme bilgisi girilecek sayfalarda adresin HTTPS ile başlayıp başlamadığını kontrol etmek önemlidir.
Adres HTTPS ile başlıyorsa tarayıcı genellikle bağlantının güvenlik durumunu bir kilit simgesiyle gösterir. Kilit simgesinin görünmesi, bağlantının şifreli olduğunu ve sertifika kontrollerinin başarılı olduğunu belirtir; bu simge sitenin otomatik olarak güvenilir, doğru veya risksiz olduğunu söylemez. Sertifika uyuşmazlığı, süresiyle ilgili sorun veya başka bir bağlantı problemi varsa tarayıcı güvenlik uyarısı gösterebilir. Böyle bir uyarıyı görmezden gelerek hassas bilgi girmek yerine adresin ve uyarının nedeni dikkatle değerlendirilmelidir.
Adres çubuğundaki HTTPS ifadesi olumlu bir bağlantı güvenliği işaretidir, fakat kararın tek ölçütü değildir. Alan adının gerçekten ulaşılmak istenen siteye ait olup olmadığı ve sayfanın kullanıcıdan ne istediği de ayrıca kontrol edilmelidir.
Bir web sitesinde parola veya ödeme bilgisi girerken adres çubuğunda https:// ifadesinin bulunması, bu bilgilerin tarayıcı ile sunucu arasındaki aktarımda şifreleme ve bütünlük korumasından yararlanmasına yardımcı olur.
HTTP ile HTTPS arasındaki temel ayrım, HTTPS'nin HTTP iletişimine güvenlik katmanı eklemesidir. HTTPS; şifreleme, veri bütünlüğü ve sunucu doğrulaması sağlar, ancak sitenin güvenilir olduğunu tek başına garanti etmez.
Sık sorulan sorular
HTTPS nedir?
HTTPS, HTTP iletişiminin TLS güvenlik katmanı üzerinden yürütülen biçimidir. Veri aktarımında şifreleme, bütünlük kontrolü ve sunucu doğrulaması sağlar.
HTTP ile HTTPS arasındaki en önemli fark nedir?
HTTP bağlantısında veriler şifrelenmeden taşınabilirken HTTPS, tarayıcı ile sunucu arasındaki aktarımı güvenlik korumalarıyla gerçekleştirir.
Adres çubuğundaki kilit simgesi sitenin tamamen güvenli olduğunu gösterir mi?
Hayır. Kilit simgesi bağlantının HTTPS ile korunduğunu gösterir; sitenin dürüst olduğunu, içeriğinin doğru olduğunu veya cihazdaki tüm risklerin ortadan kalktığını garanti etmez.
HTTPS hangi tehditlere karşı koruma sağlar?
Ağ üzerinden iletişimin dinlenmesi, aktarım sırasında verinin değiştirilmesi ve yanlış sunucuyla iletişim kurulması gibi riskleri azaltır.
HTTPS kullanmak tüm internet tehditlerini ortadan kaldırır mı?
Hayır. Kimlik avı, kötü amaçlı yazılımlar, zayıf parolalar, yanlış alan adına bilgi girme ve sitenin kendi güvenlik sorunları HTTPS tarafından tek başına çözülmez.
- •Wikipedia (EN) — HTTP — HTTP / girisen.wikipedia.org