For eit eksisterande libcurl-handtak, skil listene med destinasjons- og proxyhovud eksplisitt:

curl_easy_setopt(handle, CURLOPT_HEADEROPT, (long)CURLHEADER_SEPARATE);
curl_easy_setopt(handle, CURLOPT_PROXYHEADER, proxy_headers);
curl_easy_setopt(handle, CURLOPT_HTTPHEADER, origin_headers);

Hald det konfigurerte handtaket og dei gyldige listene levande under overføringa. CURLHEADER_SEPARATE skil hovud som vert brukte på CONNECT, frå hovud som vert brukte for destinasjonsførespurnaden. Eldre døme med einskapleg politikk kan leggje den vanlege lista i båe utvekslingane.

FørespurnadsstiTydinga av separate lister
HTTPS i ein vanleg CONNECT-tunnelProxy-utvekslinga kjem fyrst; deretter følgjer HTTP-hovuda til destinasjonen inne i TLS-en til destinasjonen.
Vanleg HTTP-videresendingProxyen kan lese destinasjonshovuda, og libcurl kan bruke båe dei aktuelle listene på den eine videresende førespurnaden.

Ein rutenmarkør som berre gjeld proxyen, høyrer til proxy-utvekslinga. Ved videresending i klartekst kan eit vilkårleg eigedefinert felt nå opphavet med mindre videresendingsordninga handterer det; namnet på valet er inga garanti for konfidensialitet.

Bruk støtta legitimasjonsval for autentisering. For operatørdefinerte metadata, fastslå kva hopp som brukar dei, og om dei kan videresendast i staden for å leggje eit passord i eit generisk felt.

Når ein markør manglar eller ser ut til å lekkje, identifiser den faktiske førespurnaden som inneheld han. Ein header-callback som viser fleire utvekslingar, kan få korrekt skilde lister til å sjå blanda ut.

Relaterte artiklar