Unha solicitude HEAD pode reducir o tráfico do corpo da resposta ao comparar proxies. Sobre un handle de PycURL xa configurado co destino, o proxy e os tempos de espera:

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

Lede estes valores despois dunha transferencia correcta e antes de pechar o handle. NOBODY selecciona HEAD para HTTP; non elimina as cabeceiras da solicitude, a negociación co proxy nin o tráfico TLS.

STARTTRANSFER_TIME é o tempo transcorrido desde o inicio da transferencia ata o primeiro byte da resposta. Inclúe a preparación e o procesamento no servidor, así que mide esta ruta e este destino, non o atraso illado do proxy. PRETRANSFER_TIME cobre a preparación do protocolo; restalo aínda deixa traballo máis alá do propio proxy.

Mantede o destino, a política de redirección e as condicións de reutilización da conexión iguais en todas as comparacións. Os tempos de redirección acumúlanse. Unha conexión nova e un túnel reutilizado responden a preguntas de rendemento distintas.

HEAD tamén pode comportarse de forma distinta a GET. Usádeo para unha observación lixeira de accesibilidade ou de tempo e despois validade o método real por separado ao escoller unha ruta para unha aplicación.

Artigos relacionados