Eine HEAD-Anfrage kann den Datenverkehr des Antworttexts reduzieren, wenn Sie Proxys vergleichen. Auf einem vorhandenen PycURL-Handle, das bereits mit Ziel, Proxy und Timeouts konfiguriert ist:

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

Lesen Sie diese Werte nach einer erfolgreichen Übertragung und bevor Sie das Handle schließen. NOBODY wählt HEAD für HTTP; es entfernt weder die Anfrage-Header noch die Proxy-Aushandlung oder den TLS-Verkehr.

STARTTRANSFER_TIME ist die Zeit vom Start der Übertragung bis zum ersten Antwortbyte. Sie enthält Vorbereitung und Serververarbeitung und misst daher diese Strecke und dieses Ziel, nicht die isolierte Verzögerung des Proxys. PRETRANSFER_TIME deckt die Protokollvorbereitung ab; zieht man sie ab, bleibt weiterhin Arbeit jenseits des Proxys.

Halten Sie Ziel, Umleitungspolitik und Bedingungen für die Verbindungswiederverwendung über alle Vergleiche hinweg konstant. Umleitungszeiten summieren sich. Eine neue Verbindung und ein wiederverwendeter Tunnel beantworten unterschiedliche Leistungsfragen.

HEAD kann sich auch anders verhalten als GET. Nutzen Sie es für eine leichte Erreichbarkeits- oder Zeitbeobachtung und prüfen Sie danach die tatsächliche Methode separat, wenn Sie eine Strecke für eine Anwendung auswählen.

Ähnliche Artikel