prefetch עם HTML בלבד

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

הרבה פעמים, כשאנחנו חושבים על איך להאיץ את הביצועים של האתר שלנו, אחד הפתרונות הוא טעינה מראש של משאבים. למשל, אם משתמש נכנס לעמוד הראשון של האתר שלנו ואנו יודעים שברוב המקרים הוא ירצה להמשיך אחרי הלוגין, אנחנו יכולים לתת לו לטעון מראש תמונות, קבצי HTML ו-וידאו מהעמודים הבאים בתור. הטעינה מראש הזו יכולה להתבצע בכמה דרכים ובדרך כלל אנחנו ממהרים ללכת על הפתרון של ג'אווהסקריפט מחוכם שמבצע טעינה מראש. בחלק מהמקומות זה הפתרון שצריך להשתמש בו – במיוחד בטעינה דינמית של משאבים – כלומר משאבים שאני טוען בהתאם לפעולה של המשתמש. אבל הרבה פעמים יש לנו משאבים סטטיים שאנחנו רוצים שיטענו מראש (בד"כ מה-CDN) וגם פה אנו נוטים להשתמש בג'אווהסקריפט כדי לעשות דברים כאלו – אבל יש דרך נוספת לעשות דברים כאלו וזה שימוש באלמנטים של HTML, תאמינו או לא.

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

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

היישום הוא קל מאוד. ככה זה נראה:

<link rel="prefetch" href="http://internet-israel.com/wp-content/uploads/2019/10/learn-javascript-in-hebrew-1.png">

במקרה הזה, השתמשתי בטעינה מראש של תמנונה. אם זה יהיה ב-HTML שללי, התמונה תטען מראש.

בדף זה, הכנסתי תמונה של כלבלב נחמד מ-lorem-picsum עם תגית prefetch. אם תפתחו את כלי המפתחים שלכם, תנווטו ל-network ותרפרשו את הדף, אתם תראו את הקריאה תחת other.

תמונה בשם 300 נקראה.

אם תרפרשו שוב (בהנחה שלא עשיתם disable ל-cache!) תראו שהתמונה נטענת ל-cache.

טעינה של 300 מהקאש של הדפדפן. שימו לב היטב ש-disable cache לא מסומן

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

<link rel="prefetch" href="https://www.haaretz.co.il/">

וזה יטען את כל האתר. מראש, ויכניס את מה שאפשר ל-cache.

פוסטים נוספים שכדאי לקרוא

פתרונות ומאמרים על פיתוח אינטרנט

המנעו מהעלאת source control לשרת פומבי

לא תאמינו כמה אתרים מעלים את ה-source control שלהם לשרת. ככה תמצאו אותם וגם הסבר למה זה רעיון רע.

בינה מלאכותית

להריץ ממשק של open-webui על הרספברי פיי

להפעיל ממשק של צ׳אט ג׳יפיטי שאפשר לגשת אליו מכל מחשב ברשת הביתית על רספברי פיי עם מודל בשם tinydolphin שרץ על רספברי פיי.

DALL·E 2024-09-06 12.34.24 - A visually engaging post about Python and cryptographic problems. The image should feature a dark-themed background with a glowing, futuristic Python
פתרונות ומאמרים על פיתוח אינטרנט

בעיות במימוש של פונקציות קריפטוגרפיות בפייתון

היום (16 לספטמבר) ממש, אני מעביר הרצאה ב-PyconIL 2024 על בעיות קריפטוגרפיות באפליקציות פייתון. לצערי אי אפשר להכניס את כל הבעיות הקריפטוגרפיות להרצאה אחת או

בינה מלאכותית

Safeguards על מודל שפה גדול (LLM)

פוסט בשילוב עם פודקאסט וסרטון על ההגנות שאפשר להציב על LLM בסביבת פרודקשן

גלילה לראש העמוד