?Is it possible to apply better compression to Netfree HTTP traffic
-
@yzahn תתרגם את זה לעברית אולי זה יעזור
-
הנה תרגום הודות לגוגל, עם קצת עזרה ממני...
אני מציע כאן רעיון שעדיין אינו מחושב במלואו. אני לא יודע אם תכונה זו בכלל אפשרי מבחינה טכנית, וכמה תועלת זה יהיה (כמו שנסביר להלן בחלק השאילות).
נקדים שפרוטוקול HTTP מאפשר קידודי העברה שונים, חלקם דחוסים. זה יכול לגרום לשיפור עצומה במהירות וחיסכון ברוחב הפס, בהתאם לאיכות הדחיסה וסוגי הנתונים שמועברים. שמתי לב ש- Netfree מסירה כל הידר (header בלע"ז)transfer-encoding
וcontent-encoding
מהתנועה העוברת דרכה ומעבירה אותו למשתמש הקצה לא דחוס עםtranfer-encoding:chunked
.
הבעיה הברורה בהתמודדות עם נתונים דחוסים היא שזה חייב לעבור אי-דחיסה עבור סינון/הזרקת תוכן ולכן זה חייב להיות לא דחוס בשלב מסויים במעבר. השאלה היא האם ניתן לחזור ולדחוס לפני המשך הדרך?
אני לא טוען להיות מומחה בפרוטוקול HTTP אבל מתוך קריאה מהירה של כמה מאמרים בMDN זה היה נראה כי כל קידוד העברה מלבד chunked חייב לכלול הידר content-length. משמעות הדבר היא שתגובת HTTP כולה חייבת להתקבל ולעבור סינון לפני ש- Netfree יכולה להעביר אותה אל הלקוח. זה ללא ספק יגרום להאטה משמעותית. זה יסביר את חוסר דחיסה בNetfree שכן כך Netfree יכול להתחיל להעביר תוכן ללקוח לפני לדעת את אורך התוכן הסופי.
השאלות שלי לכן הם כדלקמן:- האם אני צודק בטענתי שאין דרך להעביר נתונים דחוסים מבלי לדעת מראש את אורך התוכן.
- בעולם האמיתי, כמה נפח מתווסף לתעבורה טיפוסית בשל חוסר דחיסה?
- האם ניתן עדיין להשתמש בדחיסה במקרים שבהם הדף סטטי ואורך התוכן הסופי יכול להיות ידוע מראש לפני שתגובת HTTP מלאה התקבלה ועברה סינון.
- ועוד שאילה לנקודות בונוס אני חושב Netfree אינו מאפשר את הפרוטוקולים QUIC ו HTTP/2. האם מישהו יכול לומר, כמה משמעותי הוא עבורנו והאם בכלל אפשרי לאפשר את זה עם שמירה על היתרונות שלו?
אשמח לקבל תגובות
-
- אפשר לדחוס גם בלי לדעת את האורך.
- תלוי בנתונים.
- שאלה מיותרת בגלל שזה לא נכון.
- אתה צודק נטפרי לא מאפשרת. ואם זה היה מאופשר זה אכן היה משפר את הביצועים בצורה ניכרת מאוד מאוד.
-
@magicode אמר ב?Is it possible to apply better compression to Netfree HTTP traffic:
ראשית כל, אני מודה לך על התגובה, וגם על כל מה שעשית ואתה עושה למען נטפרי וכו' וכו'
- אפשר לדחוס גם בלי לדעת את האורך.
השאילה המתבקשת א"כ למה הדחיסה מורדת ע"י נטפרי
לקחתי איזה עמוד בצורה אקראי לגמריTransfer-Encoding: chunked x-netfree--content--encoding--remove: gzip x-netfree--content--length--remove: 32758
ה
content-length
שהתקבל למעשה (בלי הידר כזה כמובן כי זה הועבר כchunked) היתה176344
יותר מפי 5!- תלוי בנתונים.
ברור. תמונות וקבצי שמע ווידיאו בין כך דחוסים. שאילתי היתה מה היחס של הקבצים שיהנו מדחיסה לעומת אלו שלא צריכים. לדעתי זה די משמעותי אם כי לא ערכתי מחקר מדעי... כי html css וjs כולם יהנו מאוד מדחיסה.
-
אפשר לחזור ולדחוס. השאלה האם זה לא יכביד על מכונות הסינון ויהפוך אותם ליותר איטיות.
-
@magicode כל שרת כמעט ברחבי האינטרנט דוחס את התשובות שלו (גם אם אינו דף סטטי שאז אפשר לדחוס מקודם) נ"ל שהנטל על המעבד ממש זניח (תלוי בכמה פרמטרים שאפשר להגדיר). אולי לפחות כדאי לבדוק את הנושא? ובמקביל לנסות לקבל תמונה של כמה זה משפיע על רוחב פס בשימוש "רגיל" (קשה להגדיר מה שימוש רגיל, אולי אפשר לקבל מדגם מיצג ע"י נסיון במכונת סינון אחד מתוך כלל משתמשי נטפרי)
-
@magicode נ"ל שכדאי לקחת בחשבון שחלק גדול ממשתמשי נטפרי הם בחבילות סלולר עם מגבלות רוחב פס וגודל חבילה, זה ישפר בשבילם את החוויה משני צדדים, גם פחות שימוש של החבילה, וגם גלישה מהירה יותר, זה יכול להיות משקל נגדי חשוב נגד החשש של הכבדה על מכונות הסינון.
אני מוסיף עוד נקודה למחשבה, להבנתי נטפרי אמורה לדאוג לספק התוכנה הכי טובה שהיא יכולה לספק, אם זה אומר שהספקים צריכים להוסיף משאבים - שיהיה כך. כמובן שאני לא אומר שאין כלל ענין להשגיח על ביצועים, אבל אפשר להכניס שיקולים אחרים להחלטה הסופית. -
@האברך אמר ב?Is it possible to apply better compression to Netfree HTTP traffic:
אני חושב ש @test התכוין שכנראה @yzahn מצפה לתשובה מ @magicode
השאילה לא כוונה ספציפית ל@magicode אם כי אני שמח שהוא הגיב.
-
@magicode אמר ב?Is it possible to apply better compression to Netfree HTTP traffic:
אתה צודק נטפרי לא מאפשרת. ואם זה היה מאופשר זה אכן היה משפר את הביצועים בצורה ניכרת מאוד מאוד.
אם אפשר שוב לשגע את המוח עם השאילות המיותרות שלי...
האם יש אפשרות טכנית להוסיף אפשרות זו?
-
@yzahn אמר ב?Is it possible to apply better compression to Netfree HTTP traffic:
@magicode אמר ב?Is it possible to apply better compression to Netfree HTTP traffic:
אתה צודק נטפרי לא מאפשרת. ואם זה היה מאופשר זה אכן היה משפר את הביצועים בצורה ניכרת מאוד מאוד.
אם אפשר שוב לשגע את המוח עם השאילות המיותרות שלי...
האם יש אפשרות טכנית להוסיף אפשרות זו?
בשביל להוסיף את זה צריך הרבה פיתוח שהוא נדרש יותר מאשר נוחות.
זה פיתוח של נוחות וזה דורש הרבה משאבים. -
גם אני חושב שזה פיתוח מאוד רצוי , האם אפשר להוסיף ל- 'פיתוח תכונות חדשות'
-
משהו התקדם עם זה בסוף?
אני רואה שהחיבורים עדיין על HTTP/1.1 -
@nigun אם אתה בודק את לוח המפתחים בכרום אתה רואה שהרבה תוכן נטען על http/2.
Http/3 (QUIC) עדיין לא בשימוש נפוץ אז לא יודע אם יש דרך קלה לבדוק. אני מניח שאם אתה משתמש במכשיר לא מסונן ובמקרה רואה http/3 אתה יכול לנסות לטעון את האתר הזה ב-netfree ולראות מה קורה. -
@shloimy95
צודק, אני בדקתי מול שרת שלי שחשבתי שהוא על http/2
מסתבר שהוא על HTTP/1.1.
אני יכול לנסות להקים שרת http/3 ולנסות לקרוא לו (ולבדוק קודם שהוא באמת על http/3) -
@nigun http/3 היא טכנולוגיה עתידית. אפילו כדי להשתמש בו בדפדפן כרום, עליך להפעיל את הניסוי הבא: chrome://flags/#enable-quic
-
@shloimy95
אני יודע
בכל אופן לא חשבתי לבדוק דרך הדפדפן אלא דרך הCLI -
@magicode אמר ב?Is it possible to apply better compression to Netfree HTTP traffic:
אפשר לחזור ולדחוס. השאלה האם זה לא יכביד על מכונות הסינון ויהפוך אותם ליותר איטיות.
@yzahn אמר ב?Is it possible to apply better compression to Netfree HTTP traffic:
כל שרת כמעט ברחבי האינטרנט דוחס את התשובות שלו (גם אם אינו דף סטטי שאז אפשר לדחוס מקודם) נ"ל שהנטל על המעבד ממש זניח
@yzahn אמר ב?Is it possible to apply better compression to Netfree HTTP traffic:
נ"ל שכדאי לקחת בחשבון שחלק גדול ממשתמשי נטפרי הם בחבילות סלולר עם מגבלות רוחב פס וגודל חבילה,
מצטרף.
האם אתה יודע מה המשמעות של לחכות למייל 10 דקות כדי שיפתח? בגלל האיטיות? (מעשים שבכל יום!) -
אני מצטרף, הפרוטוקול החדש HTTP2 יש לו פיטשרים ממש טובים לשיפור המהירות, בפרט הפיטשר שעל חיבור אחד הוא מעביר את כל הקבצים (css,js,fonts,images) על אותו חיבור, ולא יוצר חיבור חדש לשרת בשביל כל קובץ