Hallo,
also in Perl kenne ich mich nicht aus, hätte aber wahrscheinlich den einen oder anderen reg. Ausdruck anders geschrieben. Beispielsweise
$n =~ s/\015|\012//g;
$v =~ s/\015|\012//g;
Da wäre ein
$n =~ s/\015?\012//g;
$v =~ s/\015?\012//g;
näher an den Specs, weil es da heißt, dass nicht auf CR geprüft werden muss (tolerante Apps). Bei deinem reg. Ausdruck wäre es egal was da am Ende steht. Ein kleiner aber feiner Unterschied.
Aber eigentlich wollte ich nur fragen wo dein $header geleert wird, damit nicht alte Werte drinstehen?
Ich glaube, dass es an dem Status 302 hängt bzw. an Proxy-Connection: Keep-Alive??? - Mal schaun, was ihr dazu meint:
302 steht doch normalerweise für "Moved Temporarily". Warum steht in deinem Log "302 Found"? Was das Keep-Alive betrifft, ist es so, sofern ich die Specs richtig verstanden habe, dass bei HTTP/1.0 explizit erklärt werden muss, dass eine Verbindung persistent ist (keep-alive, aufrecht erhalten) und bei HTTP/1.1 ist es genau umgekehrt. Es wird stets davon ausgegangen, dass eine Verbindung persistent ist, und durch ein "Connection: close" wird mitgeteilt, dass sie geschlossen wird.
Könntest du die entspr. Headers (Request, Response) komplett posten? Denn da wäre es für mich als Perl-Unwissender einfacher einen Fehler zu erkennen.
micha