As medições de tempo HEAD do PycURL medem todo o percurso do proxy
Reduza o tráfego do corpo da resposta ao cronometrar um pedido através de um proxy, sem confundir o TTFB acumulado com o atraso de processamento do próprio proxy.
Um pedido HEAD pode reduzir o tráfego do corpo da resposta ao comparar proxies. Num handle PycURL existente já configurado com o destino, o proxy e os tempos limite:
handle.setopt(pycurl.NOBODY, True)
handle.perform()
ttfb = handle.getinfo(pycurl.STARTTRANSFER_TIME)
prepared = handle.getinfo(pycurl.PRETRANSFER_TIME)
Leia estes valores após uma transferência bem-sucedida e antes de fechar o handle. NOBODY seleciona HEAD para HTTP; não remove os cabeçalhos do pedido, a negociação com o proxy nem o tráfego TLS.
STARTTRANSFER_TIME é o tempo decorrido desde o início da transferência até ao primeiro byte da resposta. Inclui a preparação e o processamento no servidor, por isso mede este percurso e este destino, não o atraso isolado do proxy. PRETRANSFER_TIME cobre a preparação do protocolo; mesmo subtraindo-o, resta trabalho além do próprio proxy.
Mantenha o destino, a política de redirecionamento e as condições de reutilização da ligação consistentes em todas as comparações. Os tempos de redirecionamento acumulam-se. Uma ligação nova e um túnel reutilizado respondem a perguntas de desempenho diferentes.
O HEAD também pode comportar-se de forma diferente do GET. Use-o para uma observação leve de acessibilidade ou de tempo e, depois, valide o método real separadamente ao escolher um percurso para uma aplicação.