Una petició HEAD pot reduir el trànsit del cos de la resposta quan compareu proxys. Sobre un handle de PycURL existent ja configurat amb la destinació, el proxy i els temps d'espera:

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

Llegiu aquests valors després d'una transferència correcta i abans de tancar el handle. NOBODY selecciona HEAD per a HTTP; no elimina les capçaleres de la petició, la negociació amb el proxy ni el trànsit TLS.

STARTTRANSFER_TIME és el temps transcorregut des de l'inici de la transferència fins al primer byte de la resposta. Inclou la preparació i el processament del servidor, de manera que mesura aquesta ruta i aquesta destinació, no el retard aïllat del proxy. PRETRANSFER_TIME cobreix la preparació del protocol; restar-lo encara deixa feina més enllà del proxy.

Manteniu la destinació, la política de redirecció i les condicions de reutilització de la connexió iguals en totes les comparacions. Els temps de redirecció s'acumulen. Una connexió nova i un túnel reutilitzat responen preguntes de rendiment diferents.

HEAD també es pot comportar de manera diferent de GET. Feu-lo servir per a una observació lleugera d'abastabilitat o de temps i, després, valideu el mètode real per separat quan trieu una ruta per a una aplicació.

Articles relacionats