En HEAD-anmodning kan reducere svarets kropstrafik, når du sammenligner proxies. På et eksisterende PycURL-handle, der allerede er konfigureret med destinationen, proxyen og timeouts:

handle.setopt(pycurl.NOBODY, True)
handle.perform()
ttfb = handle.getinfo(pycurl.STARTTRANSFER_TIME)
prepared = handle.getinfo(pycurl.PRETRANSFER_TIME)

Læs disse værdier efter en vellykket overførsel og før du lukker handleet. NOBODY vælger HEAD til HTTP; det fjerner ikke anmodningsheadere, proxy-forhandlingen eller TLS-trafikken.

STARTTRANSFER_TIME er den forløbne tid fra overførslens start til den første svarbyte. Den omfatter forberedelse og serverbehandling, så den måler denne rute og destination frem for proxyens isolerede forsinkelse. PRETRANSFER_TIME dækker protokolforberedelsen; trækker man den fra, er der stadig arbejde ud over selve proxyen.

Hold destinationen, omdirigeringspolitikken og betingelserne for genbrug af forbindelsen ens i alle sammenligninger. Omdireringstider akkumuleres. En ny forbindelse og en genbrugt tunnel besvarer forskellige ydeevnespørgsmål.

HEAD kan også opføre sig anderledes end GET. Brug det til en let tilgængeligheds- eller tidsmåling, og validér derefter den faktiske metode separat, når du vælger en rute til en applikation.

Relaterede artikler