Požadavek HEAD může snížit provoz těla odpovědi při porovnávání proxy. Na existujícím handleru PycURL, který je již nakonfigurován s cílem, proxy a časovými limity:

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

Tyto hodnoty čtěte po úspěšném přenosu a před zavřením handleru. NOBODY volí HEAD pro HTTP; neodstraňuje hlavičky požadavku, vyjednávání s proxy ani provoz TLS.

STARTTRANSFER_TIME je čas od začátku přenosu do prvního bajtu odpovědi. Zahrnuje přípravu i zpracování na serveru, takže měří tuto trasu a cíl, nikoli izolované zpoždění proxy. PRETRANSFER_TIME pokrývá přípravu protokolu; i po jeho odečtení zůstává práce mimo samotnou proxy.

Udržujte cíl, politiku přesměrování a podmínky opětovného použití spojení stejné napříč srovnáními. Časy přesměrování se sčítají. Nové spojení a znovu použitý tunel odpovídají na různé otázky o výkonu.

HEAD se může chovat jinak než GET. Použijte ho pro lehké pozorování dostupnosti nebo času a potom při výběru trasy pro aplikaci ověřte skutečnou metodu zvlášť.

Související články