HTTP vs HTTPS: İnternette Veri İletişimi ve Güvenlik

3

Gülnisa Demir

 9 dk. ·  10 Eyl

42kraft
İÇİNDEKİLER
BU YAZIYI PAYLAŞIN

HTTPS Nedir?

HTTPS (Hypertext Transfer Protocol Secure), HTTP'nin güvenli bir versiyonudur ve iki temel amacı vardır: verilerin gizliliğini sağlamak ve sunucunun kimliğini doğrulamak. İetilen verilerin güvenliğini sağlamak için SSL (Secure Sockets Layer) veya TLS (Transport Layer Security) protokollerini kullanır. Günümüzde SSL yerine çoğunlukla TLS kullanılır, ancak SSL terimi hala yaygın olarak kullanılmaktadır.

Özellikle kullanıcıların kişisel bilgilerinin (şifreler, kredi kartı bilgileri, kimlik numaraları vb.) iletildiği durumlarda kritik bir rol oynar. E-ticaret siteleri, bankacılık sistemleri ve diğer hassas veri alışverişi yapılan web siteleri kullanmak zorundadır.

https

HTTPS’nin Çalışma Prensibi

  1. Tarayıcı HTTPS Bağlantısı İster: Bir kullanıcı bir web sitesine erişmeye çalıştığında, tarayıcı sunucuya güvenli bir bağlantı kurmak için bir istek gönderir.
  2. Sunucu Sertifikasını Gönderir: Sunucu, tarayıcıya bir dijital sertifika (SSL/TLS sertifikası) gönderir. Bu sertifika, sunucunun kimliğini doğrulayan bir belgedir ve tarayıcı bu sertifikayı doğrular.
  3. Şifreli İletişim Kurulur: Tarayıcı, sunucudan gelen sertifikayı doğruladıktan sonra, şifreli bir bağlantı kurmak için sunucuya bir anahtar gönderir. Bu anahtar ile tarayıcı ve sunucu arasındaki veri iletişimi şifrelenir.
  4. Güvenli Veri İletimi: Artık tarayıcı ve sunucu arasındaki tüm veri iletimi şifrelenmiş durumdadır. Üçüncü şahıslar bu verileri ele geçirse bile, şifrelenmiş olduğundan dolayı anlamlı bir bilgiye ulaşamazlar.

HTTP Nedir?

HTTP (Hypertext Transfer Protocol), internetteki bilgi paylaşımını sağlayan temel protokoldür. İnternet üzerindeki web sitelerinin büyük bir çoğunluğu HTTP kullanarak tarayıcılar ve sunucular arasında veri iletimi gerçekleştirir. 1990’lı yılların başında Tim Berners-Lee tarafından geliştirilen HTTP, özellikle World Wide Web (WWW) sisteminin temel yapı taşlarından biri olarak kabul edilir. HTTP, metin tabanlıdır ve tarayıcılar ile sunucular arasında istemci-sunucu modeline dayanır. Bir kullanıcının tarayıcıya bir web adresi (URL) yazıp o siteye erişmesi için tarayıcının o adrese bir HTTP isteği göndermesi gerekir. Bu istek sonucunda sunucu, gerekli yanıtı tarayıcıya iletir ve tarayıcı bu yanıtı kullanıcıya görsel olarak sunar.

HTTP’nin Tarihi ve Gelişimi

HTTP'nin ilk sürümü 1991 yılında yayımlandı ve HTTP/0.9 olarak adlandırıldı. Bu sürüm oldukça basit ve sınırlıydı; sadece bir satırlık istekler gönderebiliyordu ve yalnızca HTML dosyalarını destekliyordu. Ancak internetin hızlı büyümesiyle birlikte HTTP de gelişti.

1996 yılında HTTP/1.0 piyasaya sürüldü ve bu sürüm daha gelişmiş özelliklere sahipti. Artık isteklere yanıt olarak sadece HTML değil, resimler, videolar gibi çeşitli medya türleri de döndürülebiliyordu. Ayrıca HTTP başlıkları (headers) tanıtıldı, böylece tarayıcı ve sunucu arasında daha zengin bilgi alışverişi mümkün hale geldi.

1999 yılında HTTP/1.1 tanıtıldı ve bu sürüm, halen yaygın olarak kullanılan HTTP sürümüdür. HTTP/1.1 ile birlikte:

  • Persistent Connections (Kalıcı Bağlantılar): Aynı bağlantı üzerinden birden fazla istek yapılabilmesine olanak tanındı.
  • Cache-Control (Önbellek Denetimi): Web sayfalarının tarayıcıda önbelleğe alınıp alınamayacağını kontrol etme imkanı sağlandı.
  • Content Negotiation (İçerik Pazarlığı): Tarayıcı ve sunucu, hangi türde veri alışverişi yapılacağı konusunda uzlaşabiliyor. Örneğin, tarayıcı Türkçe içerik isteyebilir, sunucu da buna göre yanıt verebilir.

Son olarak 2015 yılında HTTP/2 protokolü devreye girdi. HTTP/2, performansı artırmaya yönelik birçok yenilik sunar. En önemli özelliklerinden biri, sunucunun aynı anda birden fazla isteği işleyebilmesi ve yanıt verebilmesidir. HTTP/2 ile birlikte, modern web uygulamalarının hız ve güvenilirliği artırıldı. Ayrıca HTTP/3'ün geliştirilme aşamasında olduğu ve daha modern bir web deneyimi sunmayı hedeflediği biliniyor.

HTTP’nin Çalışma Mekanizması

HTTP, istemci ve sunucu arasında gerçekleşen bir istek-yanıt (request-response) modeline dayanır. Bu modelde, istemci bir tarayıcı olabilir, sunucu ise bir web sitesi veya uygulamayı barındıran sunucudur. Örneğin, bir kullanıcı bir web sayfasına erişmek istediğinde, tarayıcı sunucuya bir istek (request) gönderir ve sunucu bu isteğe karşılık bir yanıt (response) döner.

Bu süreç şu adımlardan oluşur:

  1. DNS Çözümlemesi: Kullanıcı bir web sitesine girmeye çalıştığında (örneğin, "www.ornek.com"), tarayıcı bu alan adının hangi IP adresine sahip olduğunu öğrenmek için bir DNS (Domain Name System) çözümlemesi yapar. Bu işlem, alan adını IP adresine çevirir. IP adresi, sunucunun fiziksel konumunu gösterir ve böylece tarayıcı doğru sunucuya bağlanabilir.
  2. Bağlantı Kurma: Tarayıcı, sunucuyla bir TCP (Transmission Control Protocol) bağlantısı kurar. Bu bağlantı, iki cihaz arasında veri iletiminin sağlanması için gereklidir.
  3. HTTP İsteği Gönderme: Tarayıcı, sunucuya bir HTTP isteği gönderir. İstek, belirli bir dosyanın (örneğin, bir HTML sayfasının) sunucudan alınması için yapılır. HTTP isteği başlığı (header), tarayıcıyla ilgili bilgiler ve tarayıcının ne tür bir yanıt beklediği gibi bilgileri içerir.
  4. Sunucudan Yanıt Alma: Sunucu, gelen HTTP isteğini alır ve ilgili kaynakları (örneğin bir web sayfası veya bir resim dosyası) tarayıcıya gönderir. Bu yanıt, bir HTTP başlığı (örneğin, yanıtın başarılı olup olmadığını gösteren durum kodları) ve isteğe bağlı olarak yanıtın içeriğini (örneğin, HTML dosyası) içerir.
  5. Verilerin Tarayıcıda Görüntülenmesi: Tarayıcı, sunucudan aldığı yanıtı işler ve kullanıcıya gösterir. Eğer sayfa içerisinde başka medya öğeleri (örneğin resimler veya videolar) varsa, tarayıcı bu öğeler için ek HTTP istekleri yapar.
  6. Bağlantı Kapatma: Tarayıcı ve sunucu arasındaki iletişim tamamlandıktan sonra TCP bağlantısı kapatılır. HTTP/1.1 ile birlikte, birden fazla isteğin aynı bağlantı üzerinden yapılabilmesi için kalıcı bağlantı (persistent connection) özelliği kullanılır. Bu sayede her istek için yeni bir bağlantı kurma ihtiyacı ortadan kalkar.

HTTP ve HTTPS Arasındaki Farklar

1. Güvenlik

  • HTTP: HTTP, verilerin şifrelenmediği bir protokoldür. Bu nedenle, araya giren biri (siber saldırganlar, kötü niyetli kullanıcılar) iletilen verileri okuyabilir veya değiştirebilir.
  • HTTPS: Verilerin şifrelenerek iletilmesini sağlar. Kullanıcı ile sunucu arasındaki veri alışverişi sırasında üçüncü şahıslar bu verilere erişemez.

2. Performans

  • HTTP: HTTP, veri şifreleme gibi ek işlemler içermediği için genellikle daha hızlıdır.
  • HTTPS: Verileri şifrelemek ve çözmek için ek işlemler gerektirir, bu nedenle küçük bir gecikme olabilir. Ancak modern donanımlar ve yazılım optimizasyonları sayesinde bu fark çoğu durumda çok küçük seviyededir.

3. SEO (Arama Motoru Optimizasyonu)

  • HTTP: Google ve diğer arama motorları, HTTP kullanan sitelere güvenli olmadığı için daha düşük puan verebilir.
  • HTTPS: Google, kullanan sitelere daha yüksek öncelik verir ve sıralamada avantaj sağlar.

4. Tarayıcı Desteği ve Uyarılar

  • HTTP: HTTP kullanan siteler, özellikle modern tarayıcılarda "Güvensiz" olarak işaretlenebilir. Bu, kullanıcıların siteye güvenini azaltabilir.
  • HTTPS: Siteleri, tarayıcılar tarafından güvenli olarak kabul edilir ve kullanıcıların bu sitelere güvenmesi teşvik edilir.

5. Veri Bütünlüğü

  • HTTP: HTTP ile iletilen veriler, kötü niyetli kişiler tarafından değiştirilebilir.
  • HTTPS: Verilerin bütünlüğünü korur. Gönderilen veriler, karşı tarafa değiştirilmeden ulaşır.

HTTP'nin Dezavantajları ve HTTPS’nin Getirdiği Çözümler

  • Veri Dinleme (Eavesdropping): HTTP protokolü üzerinden iletilen veriler şifrelenmediği için, araya giren kişiler (örneğin bir Wi-Fi ağındaki kötü niyetli kullanıcılar) verileri okuyabilir. HTTPS bu sorunu şifreleme ile çözer.
  • Orta Adam Saldırıları (Man-in-the-Middle Attacks): HTTP kullanan sitelerde, bir saldırgan tarayıcı ile sunucu arasındaki veri alışverişine müdahale edebilir ve verileri değiştirebilir. Verilerin şifrelenmesi ve doğrulanması sayesinde bu tür saldırıları önler.
  • Kimlik Doğrulama (Authentication): HTTP üzerinden yapılan bağlantılarda, sunucunun gerçekten o siteye ait olup olmadığını anlamanın bir yolu yoktur. Dijital sertifikalar sayesinde sunucunun kimliğini doğrular.

HTTPS'nin Web Dünyasındaki Önemi

Günümüzde internet kullanıcılarının kişisel verilerini korumak daha da önem kazandı. E-ticaret, bankacılık, sosyal medya gibi alanlarda kullanıcı verilerinin güvenliği hayati önem taşır. HTTPS, bu güvenliği sağlayarak hem kullanıcılara hem de site sahiplerine daha güvenilir bir ortam sunar. Bu nedenle birçok web sitesi artık HTTPS’ye geçiş yapmış durumda.

Sonuç

HTTP, internetin temel taşı olan bir protokoldür ve sunucu ile tarayıcı arasındaki veri iletişimini sağlar. Ancak güvenlik açısından yetersiz olduğu için günümüzde HTTPS kullanımı giderek yaygınlaşmaktadır. HTTPS, HTTP’nin güvenli bir versiyonudur ve verileri şifreleyerek hem kullanıcıların gizliliğini korur hem de veri bütünlüğünü sağlar. Özellikle hassas verilerin iletildiği durumlarda HTTPS, güvenli bir iletişim için zorunlu hale gelmiştir. Hem arama motorları hem de tarayıcılar HTTPS kullanan siteleri daha güvenilir bulur ve bu sitelere daha fazla önem verir.

✤ Daha fazla bilgi için buraya tıklamayı unutmayın!

✤ Bu yazımızı beğendiyseniz bir önceki yazımıza da göz atmayı unutmayın :)

42kraft


# İlginizi çekebilecek diğer içerikler
İlginizi çekebilecek diğer içerikler