Die Frage ist, senden die Browser von selbst die Auth-Daten mit, wenn sie bereits die Zugangsdaten kennen, auch wenn sie von außerhalb auf das /my geschickt werden oder lassen sie sich erstmal bitten?
Wenn ich das richtig verstehe, dann erfahren die Browser ja gar nicht, ob das realm für eine bestimmte Ressource gilt (z.b. http://server/my/index.cgi) oder für alle Ressourcen server/my/*
Deshalb wird die Authentifizierungsanforderung wohl jedesmal gesendet und beantwortet.
Das kann ich aber testen :)
fred@host:~> wget -d --spider http://fred:hallo@localhost/privat/
Schritt 1:
// GET sendet TROTZ bekannten Benutzernamen und Passwortes davon nichts, lässt sich also bitten:
---request begin---
HEAD /privat/ HTTP/1.1
User-Agent: Wget/ (linux-gnu)
Accept: */*
Host: localhost
Connection: Keep-Alive
Accept-Language: de
---request end---
// Es folgt die Bitte
---response begin---
HTTP/1.1 401 Authorization Required
Date: Sun, 05 Aug 2012 16:35:11 GMT
Server: Apache/2.2.21 (Linux/SUSE)
WWW-Authenticate: Basic realm="private area"
Vary: accept-language,accept-charset
Accept-Ranges: bytes
Keep-Alive: timeout=15, max=100
Connection: Keep-Alive
Content-Type: text/html; charset=iso-8859-1
Content-Language: de
---response end---
// Erneuter Request mit Benutzername und Passwort (kodiert, nicht verschlüsselt!)
---request begin---
HEAD /privat/ HTTP/1.1
User-Agent: Wget/ (linux-gnu)
Accept: */*
Host: localhost
Connection: Keep-Alive
Accept-Language: de
Authorization: Basic xxxxxxxxxxxxxx
---request end---
// Es folgt der Header und Payload
HTTP-Anforderung gesendet, warte auf Antwort...
---response begin---
HTTP/1.1 200 OK
Date: Sun, 05 Aug 2012 16:35:11 GMT
Server: Apache/2.2.21 (Linux/SUSE)
Keep-Alive: timeout=15, max=100
Connection: Keep-Alive
Content-Type: text/html;charset=ISO-8859-1
---response end---
Fred