Birçok web yöneticisi, web sitelerinin HTTPS’e taşınması gerektiğini biliyor, fakat bunu neden yapmaları gerektiğini bilmiyor.
Bir tarayıcı aracılığıyla herhangi bir siteye göz atarken adres çubuğunda URL'den önce HTTP veya HTTPS gördüğünüzü hiç fark ettiniz mi? Bilgi arama bağımlılığı sizi buraya getirdi. Burada HTTP ve HTTPS arasındaki farkı ayrıntılarıyla tartışacağız.
Sıradan internet kullanıcıları için HTTP ve HTTPS arasındaki fark, tarayıcı adres çubuğundaki ince değişikliklerde yatmaktadır. Ancak bu, onların verileri için son derece önemlidir.
HTTP, “Hypertext Transfer Protocol” teriminin kısaltılmış halidir ve Türkçedeki karşılığı “Hiper Metin Transfer Protokolü” veya “Hiper Metin Aktarım İletişim Protokolü”dür. İnternet üzerinden veriler/bilgiler aktarmak için kullanılan bir protokol ya da bir dizi kural olarak tanımlanabilir. HTTP protokolü, web sitesi içeriği ve API çağrıları da dahil olmak üzere çoğu veriyi internet üzerinden göndermek için kullanılır.
HTTP iletişimleri iki kategoriye ayrılır: istekler ve yanıtlar. Bir kişi çevrimiçi özelliklerle etkileşime girdiğinde tarayıcısı HTTP istekleri oluşturur. Örneğin, bir kullanıcı bir köprüye tıkladığında, tarayıcı o web sitesindeki içerik için bir dizi "HTTP GET" isteği gönderir. Bu HTTP istekleri, bir kaynak sunucuya veya bir proxy önbelleğe alma sunucusuna gönderilir. HTTP isteklerine verilen yanıtlar, HTTP yanıtları olarak ifade edilebilir.
HTTP istekleri ve yanıtları, İnternet üzerinden şifrelenmemiş (düz metin) olarak teslim edilir. Sorun şu ki, bu düz metinler bağlantıyı inceleyen herkes tarafından okunabilir. Kullanıcılar bir web sitesi veya çevrimiçi uygulama aracılığıyla hassas bilgiler girdiğinde, güvenlik açısından bazı sorunları beraberinde getirebilir. Bu sorunlar silsilesi; bir paroladan kredi kartı numarasına, bir forma girilen herhangi bir bilgiye kadar her şeyi içerebilir. Esasen, kötü niyetli bir saldırgan, sunucuya bir istek gönderilmesini veya yanıtın içeriğini okuyabilir ve tam olarak hangi bilgilerin talep edildiğini, temin edildiğini veya alındığını belirleyebilir. Aynı zamanda iletişimi bile değiştirebilir.
HTTPS, “Secure Hyper Text Transfer Protocol” teriminin kısaltılmış halidir. Türkçe karşılığı “Güvenli Metin Aktarma Protokolü” olan HTTPS, HTTP protokolünün güvenli bir sürümüdür. HTTPS, HTTP isteklerini ve yanıtlarını TLS (veya SSL) ile şifreler, böylece saldırganlar düz metin yerine rastgele oluşturulan bir dizi karakter görür.
HTTPS, World Wide Web’e bilgi alışverişine izin veren kurallar dizisi olarak da ifade edebilir. SSL sertifikasının bütün veri işlemini daha güvenli hale getirmesini ve şifrelemesini sağlar. Daha genel bir ifade ile HTTP ve SSL/TLS protokolünün birleşimi olduğunu söyleyebiliriz.
Sunucular ve tarayıcılar arasındaki bağlantı, HTTPS için de güvenli kalır. Bu durum, bilgilerinizi çalınması mümkün olmadan daha güvenli bir şekilde korumanıza yardımcı olur.
TLS, iki anahtardan oluşan ortak anahtar şifrelemesini kullanan bir sistemdir. Ortak anahtar ve özel anahtar, sunucunun SSL sertifikası aracılığıyla istemci cihazlarla paylaşılır. Bir istemci bir sunucuyla bağlantı kurduğunda, genel ve özel anahtarlar, gelecekteki iletişimleri şifrelemek için oturum anahtarları olarak bilinen yeni anahtarlar üzerinde anlaşmak için kullanılır.
Bu oturum anahtarları daha sonra tüm HTTP isteklerini ve yanıtlarını şifrelemek için kullanılır ve iletişimi izleyen herkesin düz metin yerine yalnızca rastgele bir karakter dizisini görmesini sağlar.
Kimlik doğrulama, bir kişinin veya cihazın iddia ettikleri kişi olduğunu doğrulama işlemidir. HTTP'de kimlik doğrulama yoktur; güvene dayalı bir temel üzerinde çalışır. HTTP tasarımcıları, tüm web sunucularına koşulsuz olarak güvenmek için bilinçli bir karar vermediler; sadece o sırada başka öncelikleri vardı. Öte yandan kimlik doğrulama, günümüzün İnternet'inde kritik öneme sahiptir.
Bir özel anahtar, bir kimlik kartının bir kişinin kimliğini kanıtladığı gibi sunucu kimliğini de doğrular. Bir web sitesinin SSL sertifikasındaki genel anahtarla eşleşen özel anahtarın sahipliği, bir istemci bir kaynak sunucuyla bağlantı kurduğunda (örneğin, bir kullanıcı bir web sitesini ziyaret ettiğinde) sunucunun web sitesinin gerçek ana bilgisayarı olduğunu gösterir. SSL’ye sahip olmak, kimlik doğrulama olmadan çeşitli olası saldırıları önlemeye veya sınırlamaya yardımcı olur.
HTTP | HTTPS |
HTTP'de URL, HTTP:// ile başlar. Örneğin, http://techabu.co HTTPS'de URL, HTTPS:// ile başlar. Örneğin, https://www.ajansio.com.tr/ | HTTPS'de URL, HTTPS:// ile başlar. Örneğin sitelerin HTTP görünümü şu şekildedir: http://seninsiten.com |
HTTP protokolleri, iletişim için 80 numaralı bağlantı noktasını kullanır. | HTTPS protokolleri, iletişim için güvenli bağlantı noktası 443'ü kullanır. |
HTTP güvensizdir. | HTTPS güvenlidir. |
HTTP, Uygulama Katmanında çalışır. | HTTPS, Taşıma Katmanında çalışır. |
HTTP'nin herhangi bir şifrelemesi yoktur. | HTTPS'de şifreleme mevcuttur. |
Arama motorunda kötü bir sıralama sinyalidir. | Arama motorlarında iyi bir sıralama sinyalidir. |
Genel olarak, HTTPS yüksek bir güvenlik faktörüdür. Ancak daha fazla kaynak gerektirir. HTTP daha hızlı sayfa yanıtı süresine sahipken, veri aktarımı konusunda güvenlik endişeleri taşır. Her birinin kendi avantajı ve dezavantajı vardır. Buna karşın güvenlik, hızdan daha önemli bir faktör olduğundan; web sitelerinin HTTP’den HTTPS’e geçmesi önerilir.