Le misure dei tempi HEAD di PycURL misurano l'intero percorso del proxy
Riducete il traffico del corpo della risposta quando cronometrate una richiesta tramite proxy, senza confondere il TTFB cumulativo con il ritardo di elaborazione del proxy stesso.
Una richiesta HEAD può ridurre il traffico del corpo della risposta quando confrontate i proxy. Su un handle PycURL esistente già configurato con la destinazione, il proxy e i timeout:
handle.setopt(pycurl.NOBODY, True)
handle.perform()
ttfb = handle.getinfo(pycurl.STARTTRANSFER_TIME)
prepared = handle.getinfo(pycurl.PRETRANSFER_TIME)
Leggete questi valori dopo un trasferimento riuscito e prima di chiudere l'handle. NOBODY seleziona HEAD per HTTP; non rimuove le intestazioni della richiesta, la negoziazione del proxy né il traffico TLS.
STARTTRANSFER_TIME è il tempo trascorso dall'inizio del trasferimento al primo byte della risposta. Include la preparazione e l'elaborazione del server, quindi misura questo percorso e questa destinazione, non il ritardo isolato del proxy. PRETRANSFER_TIME copre la preparazione del protocollo; sottraendolo resta comunque lavoro oltre il proxy stesso.
Mantenete costanti la destinazione, la politica di reindirizzamento e le condizioni di riutilizzo della connessione in tutti i confronti. I tempi di reindirizzamento si sommano. Una connessione nuova e un tunnel riutilizzato rispondono a domande diverse sulle prestazioni.
HEAD può anche comportarsi diversamente da GET. Usatelo per un'osservazione leggera della raggiungibilità o del tempo, poi validate separatamente il metodo reale quando scegliete un percorso per un'applicazione.