בקשת HEAD יכולה לצמצם את תעבורת גוף התגובה כשמשווים פרוקסי. על handle קיים של PycURL שכבר מוגדר עם היעד, הפרוקסי וזמני החסימה:

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

קראו את הערכים האלה לאחר העברה מוצלחת ולפני סגירת ה‑handle. NOBODY בוחר HEAD עבור HTTP; הוא אינו מסיר את כותרות הבקשה, את המשא ומתן עם הפרוקסי או את תעבורת ה‑TLS.

STARTTRANSFER_TIME הוא הזמן שחלף מתחילת ההעברה ועד בית התגובה הראשון. הוא כולל הכנה ועיבוד בשרת, ולכן הוא מדידה של המסלול והיעד האלה ולא של ההשהיה הבודדת של הפרוקסי. PRETRANSFER_TIME מכסה את הכנת הפרוטוקול; גם אם מחסירים אותו, נשארת עבודה מעבר לפרוקסי עצמו.

שמרו על היעד, מדיניות ההפניה ותנאי שימוש חוזר בחיבור עקביים בכל ההשוואות. זמני הפניה מצטברים. חיבור חדש ומנהרה בשימוש חוזר עונים על שאלות ביצועים שונות.

HEAD עשוי גם להתנהג אחרת מ‑GET. השתמשו בו לתצפית קלה של נגישות או זמן, ואחר כך תקפו בנפרד את השיטה בפועל כשבוחרים מסלול ליישום.

מאמרים קשורים