زمانسنجی HEAD در PycURL کل مسیر پروکسی را میسنجد
هنگام زمانسنجی درخواست از طریق پروکسی، ترافیک بدنهٔ پاسخ را کم کنید، بدون آنکه TTFB تجمعی را با تأخیر پردازش خود پروکسی اشتباه بگیرید.
درخواست HEAD میتواند هنگام مقایسهٔ پروکسیها ترافیک بدنهٔ پاسخ را کاهش دهد. روی یک handle موجود PycURL که از پیش با مقصد، پروکسی و مهلتهای زمانی تنظیم شده است:
handle.setopt(pycurl.NOBODY, True)
handle.perform()
ttfb = handle.getinfo(pycurl.STARTTRANSFER_TIME)
prepared = handle.getinfo(pycurl.PRETRANSFER_TIME)
این مقادیر را پس از یک انتقال موفق و پیش از بستن handle بخوانید. NOBODY برای HTTP روش HEAD را انتخاب میکند؛ اما سرآیندهای درخواست، مذاکرهٔ پروکسی یا ترافیک TLS را حذف نمیکند.
STARTTRANSFER_TIME زمان سپریشده از آغاز انتقال تا نخستین بایت پاسخ است. آمادهسازی و پردازش سرور را در بر میگیرد، پس سنجهٔ همین مسیر و مقصد است، نه تأخیر جدای پروکسی. PRETRANSFER_TIME آمادهسازی پروتکل را پوشش میدهد؛ با کمکردن آن هم کاری فراتر از خود پروکسی باقی میماند.
مقصد، سیاست تغییرمسیر و شرایط استفادهٔ دوباره از اتصال را در همهٔ مقایسهها یکسان نگه دارید. زمانهای تغییرمسیر روی هم انباشته میشوند. اتصال تازه و تونل استفادهشدهٔ دوباره به دو پرسش کارایی متفاوت پاسخ میدهند.
HEAD میتواند رفتاری متفاوت از GET داشته باشد. آن را برای مشاهدهٔ سبک دسترسپذیری یا زمان به کار ببرید و سپس هنگام انتخاب مسیر برای یک برنامه، روش واقعی را جداگانه اعتبارسنجی کنید.