Ein klient kan ikkje handle på autentiseringsutfordringa til ein proxy før han har eit fullstendig HTTP-svar å parse. Ei statuslinje og eit Proxy-Authenticate-felt treng framleis den tomme linja som avsluttar header-delen.

Eit minimalt HTTP/1.1-svar utan kropp har denne strukturen:

HTTP/1.1 407 Proxy Authentication Required<CRLF>
Proxy-Authenticate: Basic realm="local-proxy"<CRLF>
Content-Length: 0<CRLF>
<CRLF>

Kvar CRLF-markør representerer byte for vognretur og linjeskift, ikkje bokstaveleg markørtekst. Den siste header-linja sluttar allereie med CRLF; den ekstra CRLF-en lagar den tomme linja. Content-Length oppgir at ingen kropp følgjer.

Send eller flush det fullstendige svaret før du ventar på ein ny førespurnad. På ein rå socket må du også ta høgd for skrivingar som sender færre byte enn førespurde.

Ein 407 krev minst éi anvendeleg Proxy-Authenticate-utfordring. Viss klienten støttar skjemaet som blir tilbode og får legitimasjon, kan han prøve igjen med Proxy-Authorization. 401- og WWW-Authenticate-felta til ein nettstad gjeld eit anna hopp.

Denne Basic-utfordringa er eit rammeverkdøme, ikkje ein fullstendig autentiseringsdesign. Basic-legitimasjon krev ei verna tilkopling når konfidensialitet er viktig. Å sende utfordringa implementerer heller ikkje passordvalidering, parsing av førespurnader eller CONNECT-tunnelering.

Relaterte artiklar