Çerezler hakkında bazı temel şeyleri kaçırmam gerekir. Localhost üzerinde, sunucu tarafında bir çerez ayarladığımda ve etki alanını açıkça localhost (veya .localhost) olarak belirlediğimde. çerez bazı tarayıcılar tarafından kabul edilmiyor gibi görünüyor.
Firefox 3.5: Firebug'daki HTTP isteğini kontrol ettim. Ne görüyorum:
Set-Cookie:
name=value;
domain=localhost;
expires=Thu, 16-Jul-2009 21:25:05 GMT;
path=/
veya (etki alanını .localhost olarak ayarladığımda):
Set-Cookie:
name=value;
domain=.localhost;
expires=Thu, 16-Jul-2009 21:25:05 GMT;
path=/
Her iki durumda da, çerez saklanmaz.
IE8: Herhangi bir ekstra araç kullanmadım, ancak sonraki isteklerde geri gönderilmediği için çerez de saklanmış gibi görünmüyor.
Opera 9.64: Hem localhost hem de .localhost çalışır , ancak Tercihler'deki çerezlerin listesini kontrol ettiğimde, domain (localhost.local) olarak localhost (liste gruplamasında) olarak listelenmiş olsa bile ayarlanır.
Safari 4: Hem localhost hem de .localhost çalışır , ancak Tercihler'de her zaman .localhost olarak listelenir. Öte yandan, açık bir etki alanı olmayan bir çerez, yalnızca localhost (nokta yok) olarak gösterilir.
Localhost ile ilgili sorun nedir? Bu kadar tutarsızlıklar nedeniyle, yerel ana bilgisayarı içeren bazı özel kurallar olmalıdır. Ayrıca, alan adlarının neden bir noktadan önce gelmesi gerektiği tam olarak açık değil mi? RFC 2109 açıkça şunu belirtmektedir:
Domain özniteliğinin değeri katıştırılmış nokta içermiyor veya bir nokta ile başlamıyor.
Neden? Belge, güvenlikle ilgili bir şey yapması gerektiğini gösterir. İtiraf etmeliyim ki tüm özellikleri okumadım (daha sonra yapabilir), ama biraz garip geliyor. Buna dayanarak, localhost üzerinde çerezleri ayarlamak imkansız olurdu.