Permintaan HEAD dapat mengurangi lalu lintas badan respons saat membandingkan proxy. Pada handle PycURL yang sudah dikonfigurasi dengan tujuan, proxy, dan batas waktu:

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

Baca nilai-nilai ini setelah transfer berhasil dan sebelum menutup handle. NOBODY memilih HEAD untuk HTTP; ia tidak menghapus header permintaan, negosiasi proxy, atau lalu lintas TLS.

STARTTRANSFER_TIME adalah waktu dari awal transfer hingga byte respons pertama. Nilai itu mencakup persiapan dan pemrosesan server, jadi ia mengukur rute dan tujuan ini, bukan penundaan terisolasi proxy. PRETRANSFER_TIME mencakup persiapan protokol; menguranginya masih menyisakan pekerjaan di luar proxy itu sendiri.

Jaga tujuan, kebijakan pengalihan, dan kondisi penggunaan ulang koneksi tetap konsisten di semua perbandingan. Waktu pengalihan menumpuk. Koneksi baru dan terowongan yang dipakai ulang menjawab pertanyaan kinerja yang berbeda.

HEAD juga dapat berperilaku berbeda dari GET. Gunakan untuk pengamatan keterjangkauan atau waktu yang ringan, lalu validasi metode sebenarnya secara terpisah saat memilih rute untuk aplikasi.

Artikel terkait