Una solicitud HEAD puede reducir el tráfico del cuerpo de la respuesta al comparar proxies. Sobre un handle de PycURL existente ya configurado con el destino, el proxy y los tiempos de espera:

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

Lea estos valores después de una transferencia correcta y antes de cerrar el handle. NOBODY selecciona HEAD para HTTP; no elimina las cabeceras de la solicitud, la negociación con el proxy ni el tráfico TLS.

STARTTRANSFER_TIME es el tiempo transcurrido desde el inicio de la transferencia hasta el primer byte de la respuesta. Incluye la preparación y el procesamiento del servidor, así que mide esta ruta y este destino, no el retardo aislado del proxy. PRETRANSFER_TIME cubre la preparación del protocolo; restarlo todavía deja trabajo más allá del propio proxy.

Mantenga el destino, la política de redirección y las condiciones de reutilización de conexiones constantes en todas las comparaciones. Los tiempos de redirección se acumulan. Una conexión nueva y un túnel reutilizado responden a preguntas de rendimiento distintas.

HEAD también puede comportarse de forma distinta a GET. Úselo para una observación ligera de accesibilidad o de tiempo y luego valide el método real por separado al elegir una ruta para una aplicación.

Artículos relacionados