host
Başlık web sunucusu söyler sanal konak (ayarlanmışsa) kullanmak için. Birkaç takma ad (= etki alanları ve joker-etki alanları) kullanarak aynı sanal ana makineye bile sahip olabilirsiniz . Bu durumda, adreslenen farklı etki alanlarına göre farklı davranışlar sağlamak istiyorsanız, bu başlığı web uygulamanızda manuel olarak okuma olanağınız vardır. Bu mümkündür çünkü web sunucunuzda varsayılan ana bilgisayar olarak bir sankon kurabilirsiniz (ve yanılmıyorsam gerekir) . Bu varsayılan sankon, host
başlık herhangi bir yapılandırılmış sanal konaklarla eşleşmediğinde kullanılır .
Bunun anlamı: Doğru anladınız, ancak "birden çok ana bilgisayar" biraz yanıltıcı olabilir: Ana bilgisayar (adreslenen makine) aynıdır, IP adresine gerçekten çözümlenen şey, aynı zamanda atıfta bulunulan farklı alan adlarıdır (alt alanlar dahil) olarak ana bilgisayar adları (ama ana!).
Sorunun bir parçası olmasa da, eğlenceli bir gerçek: Bu belirtim, ilk günlerde SSL ile ilgili sorunlara yol açtı çünkü web sunucusunun, istemcinin adreslediği alana karşılık gelen sertifikayı teslim etmesi gerekiyordu. Ancak, hangi sertifikanın kullanılacağını bilmek için, web sunucusunun adreslenen ana bilgisayar adını önceden bilmesi gerekir. Ancak, istemci bu bilgiyi yalnızca şifrelenmiş kanal üzerinden gönderdiği için (yani: sertifika zaten gönderildikten sonra), sunucunun varsayılan ana bilgisayara göz attığınızı varsayması gerekiyordu. Bu, IP adresi / bağlantı noktası kombinasyonu başına bir SSL korumalı alan anlamına geliyordu.
Bu, Sunucu Adı Göstergesi ile aşılmıştır ; ancak, sunucu adı şimdi tekrar düz metin olarak aktarıldığı için bu yine bir miktar gizliliği bozar, böylece ortadaki her adam bağlanmaya çalıştığınız ana bilgisayar adını görebilir .
Web sunucusu ana bilgisayar adını Sunucu Adı Göstergesinden biliyor olsa da host
, Sunucu Adı Göstergesi bilgileri yalnızca TLS el sıkışmasında kullanıldığından üstbilgi eski değildir. Güvenli olmayan bir bağlantıda, hiçbir Sunucu Adı Göstergesi yoktur, bu nedenle host
başlık hala geçerlidir (ve gereklidir).
Bir başka eğlenceli gerçek: Çoğu web sunucusu (hepsi değilse de) host
, yalnızca varsayılan sankon yapılandırıldığı için ihmal edilse bile, tam olarak bir başlık içermiyorsa http-isteğinizi reddeder . Araçlarının en az bir HTTP (dinlemek daha) isteğinde gerekli bilgileri ilk içeren hattıdır METHOD
RESOURCE
ve PROTOCOL VERSION
ve en azından host
bu gibi bir -Üstbilgi:
GET /someresource.html HTTP/1.1
Host: www.example.com
In Ana bilgisayar Üstbilgi MDN Belgeleri böyle aslında ifade it:
Tüm HTTP / 1.1 istek mesajlarında bir Ana bilgisayar başlığı alanı gönderilmelidir. Bir Ana Bilgisayar başlık alanı olmayan veya birden fazla içeren herhangi bir HTTP / 1.1 istek mesajına 400 (Kötü İstek) durum kodu gönderilecektir.
Darrel Miller tarafından belirtildiği gibi, tüm teknik özellikler RFC7230'da bulunabilir .
vhost
yakın olmayan 3 yakınvirtual host
vedefault
çoğunlukla limanla ilgili 12