מעקב אחר לחיצת חיפוש ב-Safari דרך ההפניות שלה
לחיצת חיפוש עשויה לעבור דרך מפנה, עמוד הסכמה או התחברות לפני העמוד. השוו את השרשרת שנלחצה לביקור ישיר ותנו שם לשלב שנכשל.
תוצאות חיפוש רק לעיתים רחוקות מקשרות ישירות לעמוד שהן מציינות. לחיצה עשויה לעבור דרך מפנה, עמוד הסכמה ביניים או שירות התחברות, וכל קפיצה היא בקשה נפרדת שיכולה להיכשל בעצמה. לשונית Network ב-Safari שומרת על הרצף הזה גלוי, אבל רק אם מתחילים להקליט לפני הלחיצה. ה-URL הראשון שנכשל הוא הראיה השימושית, לא הכתובת שמוצגת בתוצאה.
התחילו את ההקלטה לפני הלחיצה
פתחו Web Inspector בלשונית ועברו ל-Network לפני שנוגעים בתוצאת החיפוש. הפעילו Preserve Log כדי שהרשימה תשרוד את הניווט שמחליף את העמוד. נקו ערכים קיימים ואז בצעו לחיצה אחת בדיוק. הקלטה שהתחילה אחרי טעינת העמוד כבר איבדה את הבקשה שדרושה לכם.
השתמשו בעמוד בלי נתונים פרטיים ושמרו על פרופיל הדפדפן ומצב ה-VPN ללא שינוי לאורך כל ההשוואה. שינוי של אחד מהם באמצע הופך את שני המסלולים לבלתי ניתנים להשוואה.
קראו את ההפניות לפי הסדר
קראו את השורות מלמעלה למטה ועקבו אחרי קודי המצב. 301 או 302 ששדה ה-Location שלהם מצביע על מארח אחר הם קפיצה, לא יעד. הבקשה שאחריה היא ניווט חדש עם איתור השם, לחיצת היד של TLS ובדיקות המדיניות שלו. ספרו בכמה מארחים נוגעת הלחיצה לפני שהתוכן מגיע.
מדריך המדריך של WebKit ללשונית Network מתעד איך מתנהגים רשומות הבקשות ואפשרות Preserve Log, וכדאי לקרוא אותו לפני פרשנות של רשימה דלילה. שורות חסרות בדרך כלל אומרות שההקלטה התחילה מאוחר או ש-service worker השיב מהמטמון, ולא שהדפדפן דילג על קפיצה.
השוו לניווט ישיר
בצעו את המעבר השני לעמוד הסופי המיועד, מוקלד או מודבק ישירות, תחת אותו פרופיל ואותה רשת. השוו את שתי הרשימות מהשורה הראשונה שבה הן נפרדות. אם המסלול שנלחץ נכשל במתווך שהמסלול הישיר לא נוגע בו לעולם, הבעיה היא באותו מתווך. אם שניהם מגיעים לאותו origin ורק אחד מקבל סירוב, מצב החשבון או פרט הבקשה הוא הרמז הטוב יותר.
שמרו את שתי ההקלטות זו לצד זו עם חותמות זמן. הפרש זמן אינו הוכחה לסיבתיות, אבל הוא מצמצם איזו שירות לחקור בהמשך. שימו לב איזה מארח היה בעל כל שורה שנכשלה, כי לאותה תסמין דפדפן יש בעלים שונים בשלבים שונים. אם גם המעבר הישיר נכשל, מסלול הלחיצה אינו הגורם המבדיל.
תנו שם מדויק לשלב הכשל
טקסט השגיאה של השורה ספציפי יותר מטענה כללית שהאתר חסום. כשל באיתור שם, חיבור שלעולם לא מושלם, שגיאת TLS ומצב HTTP הם ארבעה שלבים שונים עם ארבעה בעלים שונים. רשמו את השלב הזה במילים ולא ככשל כללי, וכך יעד ההסלמה הופך ברור.
| Stage | What the row shows | Who owns it |
|---|---|---|
| Name resolution | No address, request never starts | Resolver or local DNS policy |
| Connection | Address known, transport never completes | Route, firewall or upstream reachability |
| TLS | Handshake error or certificate warning | Interception, clock or certificate trust |
| HTTP | A status code comes back | Origin, gateway or account policy |
Ping ו-traceroute יכולים להוסיף רמזים על מארח, אבל הם לא משחזרים את שרשרת ההפניות של הדפדפן ולא מוכיחים שבקשת HTTPS מצליחה. אפילו ping מוצלח למארח יכול להתקיים יחד עם שגיאת TLS באותו מארח. שמרו על רשומת בקשת האינטרנט כראיה העיקרית והתייחסו לבדיקות הרשת המאוחרות כפרט תומך.
שתפו את העקבות בלי לדלוף אסימונים
לפני ייצוא או הדבקה של עקבות, עברו על כל URL, כותרת ופרמטר שאילתה. שרשראות הפניה נושאות לעיתים קרובות מזהי הפעלה, כתובות דואר אלקטרוני, מצב הסכמה או קישורים חתומים. החליפו או קצצו את הערכים האלה, ושמרו על ה-origin, המצב והתזמון שהחקירה באמת צריכה.
מסרו את הבקשה הראשונה שנכשלה, את הקפיצה שלפניה ואת מצב ההפניה. השלישייה הזו מאפשרת לאדם הבא לשחזר את המסלול שלכם בלי לקרוא עקבות מלאות או לגעת בחשבון.