HTTP не имеет состояния. Если сервер не сообщит клиенту, что он должен сохранять состояние (через cookie-файл сервера), клиент никогда не должен предполагать что-либо о намерениях сервера.
Более того, неправильно предполагать, что любая из сторон всегда может выполнять Kerberos. Первоначально сервер заявил, что хочет согласовать, а Negotiate содержит набор доступных протоколов в предпочтительном порядке (Kerberos, NTLM и т. Д.). Клиент может выполнять Kerberos, когда он находится на линии прямой видимости с KDC, но он может выполнять NTLM в любых / в большинстве случаев, и он предпочитает Kerberos.
Кроме того, после аутентификации клиента сервер может ответить сессионным cookie. Браузер не понимает содержимого, поэтому он не знает, что произошло. Затем сервер должен всегда указывать браузеру, что ему нужно снова авторизоваться (через 401 + WWW-Auth).