คำตอบง่ายๆคือคุณไม่สามารถออกจากระบบ http-authentication ได้อย่างน่าเชื่อถือ
คำตอบที่ยาวนาน:
Http-auth (เช่นส่วนที่เหลือของสเปค HTTP) หมายถึงไร้สัญชาติ ดังนั้นการ "เข้าสู่ระบบ" หรือ "ออกจากระบบ" ไม่ใช่แนวคิดที่เหมาะสม วิธีที่ดีกว่าในการดูคือการถามสำหรับคำขอ HTTP แต่ละครั้ง (และโปรดจำไว้ว่าการโหลดหน้าเว็บมักจะมีหลายคำขอ) "คุณได้รับอนุญาตให้ทำสิ่งที่คุณขอหรือไม่" เซิร์ฟเวอร์จะเห็นคำขอแต่ละคำขอใหม่และไม่เกี่ยวข้องกับคำขอก่อนหน้านี้
เบราว์เซอร์ได้เลือกที่จะจดจำข้อมูลประจำตัวที่คุณบอกพวกเขาใน 401 แรกและส่งอีกครั้งโดยไม่ได้รับอนุญาตอย่างชัดเจนจากผู้ใช้ในการร้องขอต่อมา นี่คือความพยายามที่จะให้ผู้ใช้โมเดล "เข้าสู่ระบบ / ออกจากระบบ" ที่พวกเขาคาดหวัง แต่มันเป็น kludge ล้วนๆ มันเป็นเบราว์เซอร์ที่จำลองสถานะการคงอยู่นี้ เว็บเซิร์ฟเวอร์ไม่รู้ตัวเลย
ดังนั้น "การออกจากระบบ" ในบริบทของ http-auth จึงเป็นการจำลองโดยเบราว์เซอร์และอยู่นอกเหนืออำนาจของเซิร์ฟเวอร์
ใช่มีกากบาด แต่พวกเขาจะทำลายความสงบ (ถ้านั่นคือสิ่งที่มีค่าสำหรับคุณ) และพวกเขาจะไม่น่าเชื่อถือ
หากคุณต้องการรูปแบบการเข้าสู่ระบบ / ออกจากระบบอย่างแท้จริงสำหรับการตรวจสอบเว็บไซต์ของคุณทางออกที่ดีที่สุดคือคุกกี้การติดตามด้วยความคงอยู่ของรัฐที่เก็บไว้บนเซิร์ฟเวอร์ในบางลักษณะ (mysql, sqlite, flatfile ฯลฯ ) สิ่งนี้จะต้องมีการประเมินคำขอทั้งหมดเช่นกับ PHP