En klient kan ikke handle på en proxys godkendelsesudfordring, før den har et komplet HTTP-svar at parse. En statuslinje og et Proxy-Authenticate-felt har stadig brug for den tomme linje, der afslutter headerafsnittet.

Et minimalt HTTP/1.1-svar uden krop har denne struktur:

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

Hver CRLF-markør repræsenterer bytes for vognretur og linjefeed, ikke bogstavelig markørtekst. Den sidste headerlinje slutter allerede med CRLF; den ekstra CRLF skaber den tomme linje. Content-Length angiver, at der ikke følger nogen krop.

Send eller flush det komplette svar, før du venter på en ny anmodning. På en rå socket skal du også tage højde for skrivninger, der sender færre bytes end anmodet.

Et 407 kræver mindst én anvendelig Proxy-Authenticate-udfordring. Hvis klienten understøtter det tilbudte scheme og får legitimationsoplysninger, kan den prøve igen med Proxy-Authorization. En websides 401- og WWW-Authenticate-felter vedrører et andet hop.

Denne Basic-udfordring er et framing-eksempel, ikke et komplet godkendelsesdesign. Basic-legitimationsoplysninger kræver en beskyttet forbindelse, når fortrolighed er vigtig. At sende udfordringen implementerer heller ikke validering af adgangskoder, parsing af anmodninger eller CONNECT-tunneling.

Relaterede artikler