HTTPS, veya Güvenli Yuva Katmanı (SSL) sertifikası bir site için servis edilir ve genellikle etkili siteniz hakkında bazı temel bilgilerini doğrular güvenilir 3. taraf bir sertifika yetkilisi (CA) tarafından imzalanır ve kullanım için onaylar tarayıcılarda. Tarayıcınız CA güveniyorsa, o zaman bu CA tarafından imzalanan herhangi bir sertifikaları (bu güven zinciri olarak da bilinir) güvenir.
Bir istek ve yanıt: Her HTTP (veya HTTPS) isteği, iki bölümden oluşur. Eğer HTTPS yoluyla bir şey talep ettiğinde, arka planda oluyor bir kaç şey var aslında:
- The client (browser) does a "handshake", where it requests the server's public key and identification.
- Bu noktada, tarayıcı (site adı eşleşmiyor? Tarih aralığı geçerli mi? Bunun güvenen bir CA tarafından imzalanmış?) Geçerliliği için kontrol edebilirsiniz. Hatta CA başvurun ve sertifikanın geçerli olduğunu emin olabilirsiniz.
- İstemci daha sonra sunucunun ortak anahtarını kullanarak talebini şifreler ve sadece sunucu kendi özel anahtarını kullanarak bu mesajı deşifre edebilirsiniz. Aynı zamanda (genellikle, anında oluşturulan) kendi ortak anahtarını gönderir.
- Sunucu daha sonra normal isteği işler ve sonra müşterinin ortak anahtarını kullanarak yanıt şifreler ve sadece istemci çözebilir.
Certificates and Hostnames
Sertifikalar HTTPS için alan adı olan bir Ortak Ad (CN), atanır. CN, tam örneğin maç var, "domain.com" bir CN ile bir sertifika "www.domain.com" etki eşleşMEyecektir ve kullanıcılar tarayıcılarında bir uyarı alırsınız.
Bu bir IP üzerinde birden fazla alan adları barındırmak mümkün değildir. Müşteri bile gerçek HTTP isteği gönderir, ve HTTP isteği Sunucuyu içeren önce sertifika getirilen Çünkü: Başlık satırı kullanmak için ne URL sunucuya bildirir, belirli bir hizmet için hangi sertifika bilmek sunucu için hiçbir yolu yoktur istek - Bu nedenle, güvenli olan her alanı kendi IP adresine ihtiyaç duyar. Ancak, aynı IP üzerinde diğer HTTPS olmayan siteleri hizmet edebilir.
Bunun tek istisnası Joker sertifikaları ile. Bu ".domain.com" in which case "www.domain.com" and "foo.domain.com" will both be valid for that certificate. However, note that "domain.com" does not match ". Domain.com" gibi bir sertifika almak mümkündür ve ne yapar "foo.bar.domain.com". Eğer sertifika için "www.domain.com" kullanırsanız, siz için "domain.com" Birine yönlendirmelidir "www." bir site. Onlar https://domain.com istiyorsa ayrı bir IP üzerinde host ve iki sertifika yoksa, bir sertifika hatası alırsınız.
Forms
Strictly sürece teslim URL https:// URL'ye gider gibi, bir form göndererek eğer form sayfası kendisi şifreli değilse, o önemli değil, konuşma. Gerçekte, kullanıcılar küçük bir "kilit simgesini" görmeden sayfaları göndermek için değil (en azından teoride) eğitim almış, bu yüzden bile formun kendisi bu almak için HTTPS ile servis edilmelidir.
Traffic and Server Load
HTTPS trafiği (nedeniyle şifreleme ve sertifika havai) eşdeğer HTTP trafiği çok daha büyük olduğunu ve aynı zamanda (şifrelemek ve şifresini) sunucu üzerinde büyük bir yük koyar. Eğer ağır yüklü sunucu varsa, bu içerik HTTPS kullanan servis edilir konusunda çok seçici olmak istenebilir.
Best Practices
Siteniz otomatik olarak HTTPS ve HTTP gerektiği gibi arasındaki yönlendirmelidir. Eğer HTTPS kullanıyor olmalıdır (diğer insanların görmediği gerektiğini herhangi verilere bakarak, kullanıcıların şifreleri kurma, giriş) hassas verileri içeren bir şey yapıyorsun zaman.
Sayfada herhangi kaynaklar sayfası için kullanılan aynı düzeni gelmelidir. Eğer sayfa HTTPS ile yüklendiğinde http:// görüntüleri alıp denerseniz, kullanıcının güvenlik uyarıları alacak. Sen tam olarak nitelenmiş URL'leri kullanmalısınız, ya başka bir kolay yolu her ikisi için çalıştıkları için hostname (örn., src = "/ images / foo.png") dahil değildir mutlak URL'ler kullanmaktır.
- Bu dış kaynaklar (örneğin, Google Analytics) içerir
HTTP, HTTPS değişen zaman (form gönderdiğinde) Mesajlar yapmayın. Tarayıcıların çoğu, bir güvenlik uyarısı olarak bayrak bu olacak.