דילוג לתוכן
חיפוש באתר

ביצועים

HTTP/2 ו-HTTP/3: מה ההבדל ומה זה נותן לאתר שלכם

HTTP/2 מוריד קבצים במקביל על חיבור אחד, ו-HTTP/3 עובר ל-QUIC שמתמודד טוב יותר עם רשתות לא יציבות. מה ההבדל, איך בודקים ואיך מפעילים.

· עודכן: · 1 צפיות ·

HTTP/2 ו-HTTP/3 הם הגרסאות החדשות של הפרוטוקול שבו הדפדפן והשרת מעבירים ביניהם את קבצי האתר. הם לא משנים את מה שעובר — אותם עמודים, אותן כתובות — אלא את הדרך: HTTP/2 מאפשר להוריד הרבה קבצים במקביל על חיבור אחד, ו-HTTP/3 עובר לתשתית תקשורת חדשה בשם QUIC, שמתמודדת טוב יותר עם רשתות לא יציבות, כמו סלולר. לבעל אתר, החדשות הטובות הן שברוב המקרים זה עניין של הגדרה בשרת או ב-CDN, לא של קוד.

מה הבעיה עם HTTP/1.1

בגרסה הישנה, כל חיבור יכול היה להעביר בקשה אחת בכל רגע. עמוד עם עשרות קבצים — עיצוב, סקריפטים, תמונות, גופנים — נאלץ לחכות בתור, או לפתוח כמה חיבורים במקביל, וכל חיבור כזה עולה זמן. מפתחים פיתחו עקיפות: איחוד קבצים לקובץ אחד גדול, תמונות "ספרייט", ופיזור קבצים בין כמה דומיינים.

HTTP/2: הרבה בקשות על חיבור אחד

לפי הסקירה של MDN על התפתחות HTTP, HTTP/2 תוקנן במאי 2015, והוא מבוסס על פרוטוקול ניסיוני של גוגל בשם SPDY. שלושת השינויים המרכזיים:

  • ריבוב (Multiplexing): בקשות רבות עוברות במקביל על אותו חיבור.
  • דחיסת כותרות: כותרות הבקשות דומות זו לזו, ו-HTTP/2 מוריד את הכפילות.
  • פרוטוקול בינארי: לא טקסט שאפשר לקרוא, אלא פורמט שמכונות מעבדות ביעילות.

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

HTTP/3: אותה שפה, תשתית אחרת

ל-HTTP/2 נשארה בעיה אחת: הוא רץ על TCP, ו-TCP מעביר את הנתונים כרצף אחד. לפי MDN, כשחבילת נתונים אחת הולכת לאיבוד, הטיפול באובדן ברמת ה-TCP יכול לעכב את כל הזרמים על החיבור. HTTP/3 שומר על אותה משמעות של HTTP, אבל רץ על QUIC — פרוטוקול שעובד על UDP ומטפל באובדן חבילות בנפרד לכל זרם. כשחבילה הולכת לאיבוד, רק הזרם שלה מתעכב. HTTP/3 מוגדר ב-RFC 9114.

היתרון מורגש בעיקר ברשתות עם אובדן חבילות — סלולר באזור עם קליטה חלשה, Wi-Fi עמוס — כלומר בדיוק אצל הגולשים שהאתר הכי איטי בשבילם.

HTTP/1.1 HTTP/2 HTTP/3
שכבת תעבורה TCP TCP QUIC מעל UDP
בקשות במקביל על חיבור לא כן כן
דחיסת כותרות לא כן כן
אובדן חבילה מעכב את החיבור את כל הזרמים רק את הזרם שלה

כמה זה נפוץ

MDN מציינת שהשימוש ב-HTTP/2 הגיע לשיא של 46.9% מכלל האתרים בינואר 2022, ושעד אוקטובר 2022 כבר 26% מהאתרים השתמשו ב-HTTP/3. הירידה של HTTP/2 נובעת בעיקר מכך שאתרים עברו ל-HTTP/3. הדפדפנים המרכזיים — Chrome, Edge ו-Firefox — תומכים ב-HTTP/3.

איך בודקים מה האתר שלכם משתמש

  1. בכלי המפתחים של הדפדפן, בלשונית הרשת, לוחצים לחיצה ימנית על כותרות העמודות ומוסיפים את העמודה Protocol. h2 הוא HTTP/2, h3 הוא HTTP/3.
  2. בכותרות התשובה של השרת מחפשים alt-svc — כך השרת מודיע לדפדפן שאפשר לעבור ל-HTTP/3.

באתר הזה, למשל, השרת מחזיר את הכותרת הבאה, שמודיעה על תמיכה ב-HTTP/3 דרך Cloudflare:

alt-svc: h3=":443"; ma=86400

שימו לב שהבקשה הראשונה לאתר עוברת בדרך כלל ב-HTTP/2, והדפדפן עובר ל-HTTP/3 בבקשות הבאות, אחרי שראה את ההודעה.

איך מפעילים

  • דרך CDN: הדרך הפשוטה. ספקי CDN גדולים מציעים HTTP/2 ו-HTTP/3 בין הגולש לשרת הקצה שלהם, בלי לשנות דבר בשרת שלכם. על CDN כתבתי במאמר מה זה CDN.
  • בשרת עצמו: HTTP/2 נתמך בשרתי ווב מודרניים ודורש HTTPS בפועל, כי הדפדפנים תומכים בו רק על חיבור מוצפן. זו עוד סיבה לעבור ל-HTTPS אם עוד לא עשיתם זאת.
  • חומת אש: HTTP/3 עובר על UDP בפורט 443. אם הוא מופעל בשרת עצמו, צריך לוודא שחומת האש לא חוסמת את התעבורה הזו.

מה זה לא פותר

פרוטוקול מהיר יותר לא מקטין את מה שמורידים. תמונות כבדות, עשרות סקריפטים חיצוניים ושרת שמגיב לאט יישארו בעיה גם ב-HTTP/3. הוא משפר את הדרך, לא את המטען.

שאלות נפוצות

האם צריך לשנות משהו באתר כדי לעבור ל-HTTP/2?

בדרך כלל לא. האתר עובד אותו דבר; השינוי הוא בשרת או ב-CDN. כדאי רק לוותר על עקיפות ישנות, כמו פיזור קבצים בין כמה דומיינים.

האם HTTP/3 משפיע על גוגל?

אין לו השפעה ישירה. ההשפעה עקיפה — דרך זמני טעינה טובים יותר אצל גולשים אמיתיים, שמשתקפים במדדים כמו TTFB ו-LCP.

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

אהבתם את המאמר?

בואו נבנה יחד!

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

חיפוש באתר