قياسات توقيت HEAD في PycURL تقيس كامل مسار الوسيط
قلّل حركة جسم الاستجابة عند قياس طلب عبر وسيط، دون الخلط بين زمن TTFB التراكمي وتأخير المعالجة الخاص بالوسيط.
يمكن لطلب HEAD أن يقلّل حركة جسم الاستجابة عند مقارنة الوسطاء. على مقبض PycURL قائم مُهيّأ بالفعل للوجهة والوسيط والمهل الزمنية:
handle.setopt(pycurl.NOBODY, True)
handle.perform()
ttfb = handle.getinfo(pycurl.STARTTRANSFER_TIME)
prepared = handle.getinfo(pycurl.PRETRANSFER_TIME)
اقرأ هذه القيم بعد نقل ناجح وقبل إغلاق المقبض. يختار NOBODY الطريقة HEAD في HTTP؛ وهو لا يزيل ترويسات الطلب ولا تفاوض الوسيط ولا حركة TLS.
STARTTRANSFER_TIME هو الزمن المنقضي من بدء النقل حتى أول بايت في الاستجابة. وهو يشمل التهيئة ومعالجة الخادم، لذا فهو قياس لهذا المسار والوجهة لا للتأخير المعزول للوسيط. أما PRETRANSFER_TIME فيغطي تهيئة البروتوكول؛ وطرحه يترك مع ذلك عملاً خارج الوسيط نفسه.
أبقِ الوجهة وسياسة إعادة التوجيه وشروط إعادة استخدام الاتصال متسقة في كل المقارنات. تتجمع أزمنة إعادة التوجيه. والاتصال الجديد ونفق معاد استخدامه يجيبان عن سؤالين مختلفين في الأداء.
قد يتصرف HEAD بشكل مختلف عن GET. استخدمه لملاحظة خفيفة للوصول أو للتوقيت، ثم تحقّق من الطريقة الفعلية على حدة عند اختيار مسار لتطبيق ما.