Cevap basit, güvenilir http-kimlik üzerinden oturum edemiyor olmasıdır.
The long answer:
Http-auth (like the rest of the HTTP spec) is meant to be stateless. So being "logged in" or "logged out" isn't really a concept that makes sense. The better way to see it is to ask, for each HTTP request (and remember a page load is usually multiple requests), "are you allowed to do what you're requesting?". The server sees each request as new and unrelated to any previous requests.
Tarayıcıları ilk 401 üzerinde onlara kimlik hatırlamak için seçilen ve daha sonraki istekleri kullanıcının açık izni olmadan onları yeniden gönderdin. Bu kullanıcıya bekledikleri "in / giriş çıkış yapmış" modeli vererek bir girişim olduğunu, ama bu tamamen bir kludge bulunuyor. Bu browser bu devletin bu sebat taklit ediyor bulunuyor. Web sunucusu bunu tamamen habersiz olduğunu.
Yani http-auth bağlamında, tarayıcı tarafından sağlanan tamamen bir simülasyon olduğunu "çıkıyor", ve böylece sunucunun yetkisi dışında.
Evet kludges vardır. Ama onlar sığınakta-lik kırmak (ki size değer ise) ve onlar güvenilmez.
Kesinlikle sitenizin kimlik doğrulaması için bir logged-in/logged-out modeli gerektiriyorsa, en iyi bahis bir biçimde (mysql, sqlite, flatfile, vb) sunucuda depolanan devletin kalıcılığı ile, bir izleme çerez. Bu, tüm istekleri PHP ile, örneğin, değerlendirilmek üzere gerektirir.