Les chronométrages HEAD de PycURL mesurent tout le trajet via le proxy
Réduisez le trafic du corps de la réponse lors du chronométrage d'une requête via un proxy, sans confondre le TTFB cumulé avec le délai de traitement propre au proxy.
Une requête HEAD peut réduire le trafic du corps de la réponse lorsque vous comparez des proxys. Sur un handle PycURL existant déjà configuré avec la destination, le proxy et les délais d'expiration :
handle.setopt(pycurl.NOBODY, True)
handle.perform()
ttfb = handle.getinfo(pycurl.STARTTRANSFER_TIME)
prepared = handle.getinfo(pycurl.PRETRANSFER_TIME)
Lisez ces valeurs après un transfert réussi et avant de fermer le handle. NOBODY sélectionne HEAD pour HTTP ; il ne supprime ni les en-têtes de requête, ni la négociation avec le proxy, ni le trafic TLS.
STARTTRANSFER_TIME est le temps écoulé entre le début du transfert et le premier octet de la réponse. Il inclut la préparation et le traitement par le serveur : il mesure donc ce trajet et cette destination, et non le délai isolé du proxy. PRETRANSFER_TIME couvre la préparation du protocole ; même en le soustrayant, il reste du travail au-delà du proxy lui-même.
Gardez la destination, la politique de redirection et les conditions de réutilisation de connexion identiques d'une comparaison à l'autre. Les temps de redirection s'additionnent. Une connexion neuve et un tunnel réutilisé répondent à des questions de performance différentes.
HEAD peut aussi se comporter différemment de GET. Servez-vous-en pour une observation légère de joignabilité ou de temps, puis validez la méthode réelle séparément au moment de choisir une route pour une application.