השוואת זמני טעינה בין HTTP ל-HTTPS (חיבור מוצפן)

לאחרונה שאלו אותי מה ההבדל בין HTTP לבין HTTPS מבחינת מהירות ביצועים, HTTPS איטי יותר, אסביר מדוע:

דפדפן ממוצע יוצר בין 4-8 חיבורי TCP בינו לבין השרת, בגלל שהתקשורת בכל חיבור מתבצעת בצורה סנכרונית (הדפדפן שולח בקשה, השרת מחזיר תשובה, הדפדפן שולח בקשה נוספת והשרת מחזיר תשובה וכך הלאה), הדפדפן פותח יותר מחיבור אחד כדי לייעל את טעינת האלמנטים.

כאשר משתמשים ב-HTTPS, בעת יצירת כל חיבור מתבצע חלק מתהליך ההצפנה שנקרא SSL Negotiation, התהליך אורך בין 100-600 מילישנייה ורק לאחר מכן, הדפדפן שולח את הבקשה, השרת מעבד את הבקשה (TTFB) ולאחר מכן שולח את התוצאה.

איך זה בא לידי ביטוי באתר?

כדי להשוות בין HTTP ל-HTTPS, רכשתי תעודת SSL עבור האתר שלי Knan.co.il, שכפלתי את האתר גם לגירסת ה-SSL ועדכנתי את הקישורים כדי שכל האלמנטים ייטענו באמצעות HTTPS.

הרצתי מספר בדיקות דרך Webpagetest.org (מחשב בישראל, עם Internet Explorer 8), ולאחר מספר התאמות בתיקיית ה-SSL, יצרת סרטון שמשווה בין שני הפרוטוקולים:

קישור לתוצאות הבדיקה ב-HTTPקישור לתוצאות הבדיקה ב-HTTPS

התוצאות: בשתי הבדיקות הדפדפן פותח 3 חיבורים, חיבור HTTPS איטי יותר ב-171 מילישנייה בממוצע, והאתר ב-HTTPS איטי יותר מ-HTTP ב-400 מילישנייה.

גרף המשווה בין שני הפרוטוקולים:

Untitled

לסיכום: 

השתדלו להשתמש ב-HTTPS רק כשיש צורך ממשי (גביית כ. אשראי, טיפול בנתונים רגישים, הגנה על גולשי WIFI וכו'), ביתר המקרים, השתמשו ב-HTTP.

שלוש הערות:

1. האתר Knan.co.il הוא אתר שעבר אופטמציה רבה ונטען במהירות רבה (בין 500 ל-800 מילישנייה), באתרים שלא עברו אופטימזציה, ההפרש יהיה גדול יותר (יותר בקשות, יותר חיבורים, יותר זמן שמוקדש לחיבור המוצפן).

2. אם יש לכם למעלה מעשרת אלפים גולשים ביום באתר, ייתכן מאוד שה-SSL יכביד על השרת שלכם, שקלו להשתמש ב-SSL Reverse proxy (כמו Pond, Nginx וכו'), או בחומרה ייעודית.

3. השימוש ב-KeepAlive הוא שמאפשר לדפדפן להמשיך ולבקש מספר בקשות על כל חיבור TCP, ביטול KeepAlive באתר HTTPS יפגע קשות בביצועי האתר.

פורסם בקטגוריה האצת אתרים. אפשר להגיע לכאן עם קישור ישיר.

2 תגובות על השוואת זמני טעינה בין HTTP ל-HTTPS (חיבור מוצפן)

  1. מאת טכנאי מחשבים‏:

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

    • מאת אבי קינן‏:

      SSL נועד להגן על התקשורת בין השרת לבין הגולש,
      לדוגמא, אם אני גולש בבית קפה, כל מי שברדיוס של 30 מטר ממני יכול להאזין לתקשורת ביני לבין הראוטר בבית הקפה ולדלות Sessions, סיסמאות, פרטי התחברות לעבודה וכו'.

      לגבי צורת איחסון המידע, יש תקן אחיד לסליקת כ. אשראי והוא אומר: "אתה לא שומר את פרטי האשראי, אתה רק מעביר אותם", לצערי המון מתכנתים (אהמ, בעיקר ב-ASP) מתעלמים מהתקן ואחר כך גורמים לבלאגן ל-100 אלף איש.

כתיבת תגובה

האימייל לא יוצג באתר. שדות החובה מסומנים *