Maaaring bawasan ng kahilingang HEAD ang trapiko ng katawan ng tugon kapag naghahambing ng mga proxy. Sa umiiral nang handle ng PycURL na naka-configure na sa destinasyon, proxy at mga timeout:

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

Basahin ang mga halagang ito pagkatapos ng matagumpay na paglilipat at bago isara ang handle. Pinipili ng NOBODY ang HEAD para sa HTTP; hindi nito inaalis ang mga header ng kahilingan, ang pakikipag-usap sa proxy o ang trapiko ng TLS.

Ang STARTTRANSFER_TIME ay ang lumipas na oras mula sa simula ng paglilipat hanggang sa unang byte ng tugon. Kasama rito ang paghahanda at pagproseso ng server, kaya sinusukat nito ang rutang ito at destinasyon, hindi ang hiwalay na pagkaantala ng proxy. Sinasaklaw ng PRETRANSFER_TIME ang paghahanda ng protocol; kahit ibawas ito, may natitira pang gawain sa labas ng proxy mismo.

Panatilihing pare-pareho ang destinasyon, patakaran sa pag-redirect at mga kondisyon ng muling paggamit ng koneksyon sa lahat ng paghahambing. Nag-iipon ang mga oras ng pag-redirect. Ang bagong koneksyon at muling ginamit na tunnel ay sumasagot sa magkaibang tanong sa performance.

Maaari ring kumilos nang iba ang HEAD kaysa sa GET. Gamitin ito para sa magaan na pagmamasid sa maabot o sa oras, pagkatapos ay hiwalay na i-validate ang aktwal na paraan kapag pumipili ng ruta para sa isang aplikasyon.

Kaugnay na mga artikulo