קורס מלא • Web Browser Internals

דפדפן אינטרנט

מה קורה מהרגע שמקלידים כתובת בשורת הכתובת ועד שהפיקסלים של האתר מופיעים על המסך?

קורס מקיף על URL, DNS, HTTP, TLS, HTML, CSS, JavaScript, DOM, CSSOM, Rendering, JavaScript Engine, Cache, Cookies, Storage, Security, Processes, GPU, Networking, DevTools, Performance וארכיטקטורת דפדפן מודרני.

מפת הקורס

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

USER │ ▼ ADDRESS BAR │ ▼ URL │ ▼ DNS │ ▼ NETWORK │ ▼ HTTP / HTTPS │ ▼ RESPONSE │ ├───────────────┐ ▼ ▼ HTML CSS │ │ ▼ ▼ DOM CSSOM └───────┬───────┘ ▼ RENDER TREE │ ▼ LAYOUT │ ▼ PAINT │ ▼ COMPOSITING │ ▼ GPU │ ▼ SCREEN
זהו אחד הרעיונות המרכזיים בקורס: דפדפן הוא לא "חלון שמציג אתרים". הוא מערכת ביצוע שלמה שמתרגמת משאבים, קוד ונתונים לתוצאה חזותית ואינטראקטיבית.

1. מהו דפדפן?

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

דוגמאות לרכיבים בדפדפן

Browser UI

שורת כתובת, טאבים, כפתורים ותפריטים.

Network Stack

תקשורת עם שרתים.

HTML Engine

פענוח ובניית מבנה הדף.

CSS Engine

חישוב סגנונות.

JavaScript Engine

הרצת JavaScript.

Renderer

הפיכת מבנה הדף לפיקסלים.

Security

בידוד, הרשאות והגנות.

Storage

Cookies, Cache ונתוני אתר.

2. URL

URL הוא כתובת משאב.

https://www.example.com:443/products?id=42#reviews
חלק משמעות
https Scheme / Protocol
www.example.com Host
443 Port
/products Path
?id=42 Query
#reviews Fragment

Navigation

כאשר המשתמש מקליד URL, הדפדפן צריך להחליט לאן יש לשלוח את הבקשה ואיזה סוג משאב הוא מבקש.

3. DNS

מחשבים מתקשרים באמצעות כתובות רשת. בני אדם מעדיפים שמות כמו example.com. DNS מתרגם בין שמות לבין מידע כתובות מתאים.

example.com │ ▼ DNS Resolver │ ▼ DNS Servers │ ▼ IP Address

Cache

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

Record Types

A

כתובת IPv4.

AAAA

כתובת IPv6.

CNAME

כינוי לשם אחר.

MX

מידע על שרתי דואר.

4. מה קורה ברשת?

Browser │ ▼ Application Protocol │ ▼ Transport │ ▼ Internet Protocol │ ▼ Link │ ▼ Physical Network

TCP

TCP מספק זרם נתונים אמין ומסודר בין נקודות קצה.

UDP

UDP מספק מודל פשוט יותר ללא מנגנוני אמינות וסדר כמו TCP.

QUIC

QUIC הוא פרוטוקול תעבורה מודרני המבוסס על UDP ומשמש בסיס ל־HTTP/3.

5. HTTP

HTTP הוא אחד הפרוטוקולים המרכזיים המשמשים להעברת משאבי Web.

Request

GET /index.html HTTP/1.1
Host: example.com
Accept: text/html

Response

HTTP/1.1 200 OK
Content-Type: text/html

<html>...</html>

Methods

Method רעיון כללי
GET קבלת משאב
POST שליחת נתונים לשרת
PUT יצירה/החלפה לפי סמנטיקה של השרת
PATCH עדכון חלקי
DELETE מחיקה

Status Codes

2xx

הצלחה.

3xx

הפניה/מטמון וכדומה.

4xx

בעיה הקשורה לבקשה או להרשאה.

5xx

שגיאה בצד השרת.

6. HTTPS ו־TLS

HTTPS הוא HTTP שמועבר באמצעות TLS.

Browser │ │ TLS Handshake ▼ Server │ ▼ Encrypted Connection │ ▼ HTTP Data

מה TLS מספק?

  • הצפנת התעבורה.
  • הגנה על שלמות המידע.
  • אימות שרת באמצעות מנגנון תעודות.

Certificate

תעודת TLS מאפשרת לקשר זהות של אתר למפתח ציבורי באמצעות מערכת אמון של PKI.

7. טעינת אתר — שלב אחר שלב

1. המשתמש מזין URL
2. הדפדפן מנתח את הכתובת
3. DNS
4. יצירת חיבור רשת
5. TLS במקרה של HTTPS
6. HTTP Request
7. HTTP Response
8. HTML Parsing
9. הורדת CSS, JavaScript ותמונות
10. בניית DOM ו־CSSOM
11. Style Calculation
12. Layout
13. Paint
14. Compositing
15. הצגה על המסך

8. HTML

HTML מתאר את המבנה והמשמעות של המסמך.

<article>
  <h1>שלום</h1>
  <p>זהו טקסט.</p>
</article>

Semantic HTML

אלמנטים כמו header, nav, main, article ו־footer מספקים משמעות מבנית.

Attributes

<img src="image.jpg" alt="תמונה">

Attributes מספקים מידע נוסף על האלמנט.

9. HTML Parser

הדפדפן מקבל HTML כטקסט. הוא צריך לנתח אותו ולבנות מבנה פנימי.

HTML TEXT ↓ TOKENIZATION ↓ TOKENS ↓ TREE CONSTRUCTION ↓ DOM

Parser אינו רק "קורא תגיות". הוא צריך להתמודד גם עם HTML לא מושלם ולהשתמש בכללי parsing מוגדרים.

10. DOM

DOM הוא מודל אובייקטים של המסמך.

<body>
  <h1>Hello</h1>
  <p>World</p>
</body>
Document │ └── body ├── h1 │ └── "Hello" │ └── p └── "World"

JavaScript + DOM

const title = document.querySelector("h1");

title.textContent = "New title";

JavaScript יכול לשנות את מבנה המסמך ואת תוכנו באמצעות ממשקי DOM.

11. CSS

CSS מתאר כיצד אלמנטים יוצגו.

.card {
    color: white;
    background: #162943;
    padding: 20px;
}

Selectors

h1
.card
#main
nav a
button:hover

Cascade

כאשר מספר כללים יכולים להשפיע על אותו אלמנט, הדפדפן משתמש במנגנוני cascade, specificity, inheritance וסדר הופעה.

Box Model

┌─────────────────────────────┐ │ MARGIN │ │ ┌───────────────────────┐ │ │ │ BORDER │ │ │ │ ┌───────────────────┐ │ │ │ │ │ PADDING │ │ │ │ │ │ ┌───────────────┐ │ │ │ │ │ │ │ CONTENT │ │ │ │ │ │ │ └───────────────┘ │ │ │ │ │ └───────────────────┘ │ │ │ └───────────────────────┘ │ └─────────────────────────────┘

12. CSSOM

CSSOM הוא מבנה פנימי המייצג את כללי ה־CSS שהדפדפן פירש.

CSS ↓ Parser ↓ CSSOM

DOM ו־CSSOM מספקים מידע הדרוש למנוע ה־Rendering כדי לקבוע אילו אלמנטים קיימים ואיך הם צריכים להיראות.

13. Rendering

DOM + CSSOM │ ▼ Style Calculation │ ▼ Render Information │ ▼ Layout │ ▼ Paint │ ▼ Compositing │ ▼ Screen

Render Tree

במנועי דפדפן קיימים מבנים פנימיים המתארים את המידע הדרוש לציור האלמנטים. לא כל Node ב־DOM בהכרח הופך לאובייקט שמצויר.

14. Layout

Layout קובע את המיקום והגודל של האלמנטים.

Viewport ┌─────────────────────────────┐ │ │ │ ┌───────────────┐ │ │ │ HEADER │ │ │ └───────────────┘ │ │ │ │ ┌──────┐ ┌────────────┐ │ │ │ NAV │ │ CONTENT │ │ │ └──────┘ └────────────┘ │ │ │ └─────────────────────────────┘

Flexbox

Grid

Positioning

  • static
  • relative
  • absolute
  • fixed
  • sticky
שינוי מאפיינים גאומטריים מסוימים יכול לגרום לחישובי Layout חדשים. לכן הבנת Rendering חשובה גם לביצועים.

15. Paint

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

Backgrounds
Borders
Text
Images
Shadows
Effects

16. Compositing

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

Layer 1 ───┐ Layer 2 ───┼──→ COMPOSITOR → SCREEN Layer 3 ───┘

הפרדת שכבות יכולה לאפשר עדכונים יעילים יותר במקרים מסוימים.

17. מהקוד לפיקסלים

HTML │ ▼ DOM │ ├─────────────┐ ▼ ▼ CSS JS │ │ ▼ │ CSSOM │ └──────┬──────┘ ▼ STYLE ▼ LAYOUT ▼ PAINT ▼ COMPOSITE ▼ GPU / DISPLAY PIPELINE ▼ PIXELS
זו השרשרת החשובה ביותר להבנת Frontend Rendering.

18. JavaScript

JavaScript מאפשר לדפים להיות דינמיים ואינטראקטיביים.

const button = document.querySelector("button");

button.addEventListener("click", () => {
    document.body.classList.toggle("dark");
});

JavaScript יכול

  • לשנות DOM.
  • לשנות CSS.
  • להגיב לאירועים.
  • לבצע חישובים.
  • לבצע בקשות רשת.
  • לשמור מידע.
  • לתקשר עם APIs של הדפדפן.

19. JavaScript Engine

JavaScript Engine הוא הרכיב שמפרש ומבצע JavaScript.

JavaScript Source ↓ Parse ↓ AST / IR ↓ Interpreter / Baseline ↓ Optimizing JIT ↓ Machine Code ↓ CPU

JIT

Just-In-Time Compilation מאפשרת למנועים מודרניים לתרגם חלקים מהקוד לצורה יעילה יותר בזמן הריצה.

Garbage Collection

המנוע מנהל אובייקטים בזיכרון ומזהה אובייקטים שאינם נגישים עוד בהתאם למנגנון ניהול הזיכרון שלו.

20. Event Loop

JavaScript בדפדפן משולב עם מערכת אירועים ומנגנונים אסינכרוניים.

┌─────────────┐ │ CALL │ │ STACK │ └──────┬──────┘ │ ▼ ┌─────────────┐ │ WEB APIs │ └──────┬──────┘ │ ▼ ┌─────────────┐ │ TASK QUEUES │ └──────┬──────┘ │ ▼ EVENT LOOP │ ▼ CALL STACK
console.log("A");

setTimeout(() => {
    console.log("B");
}, 0);

console.log("C");

פלט טיפוסי:

A
C
B

21. Async

Promise

fetch("/api/data")
  .then(response => response.json())
  .then(data => {
      console.log(data);
  });

async / await

async function load() {
    const response = await fetch("/api/data");
    const data = await response.json();

    console.log(data);
}

ה־await אינו אומר בהכרח שכל הדפדפן נעצר; הוא מאפשר לקוד האסינכרוני להיכתב בצורה ליניארית יותר בתוך פונקציה אסינכרונית.

22. Fetch / XHR

JavaScript יכול לבקש משאבים מהשרת גם לאחר שהדף נטען.

const response =
    await fetch("/api/users");

const users =
    await response.json();
PAGE │ └── JavaScript │ ▼ FETCH │ ▼ HTTP │ ▼ SERVER │ ▼ RESPONSE │ ▼ JSON │ ▼ DOM

23. Storage

localStorage

אחסון מפתח-ערך בצד הלקוח.

sessionStorage

אחסון הקשור לסביבת session של הדף.

IndexedDB

אחסון מובנה יותר לנתונים בצד הלקוח.

Cache Storage

אחסון Response לפי ממשקי Cache.

Storage Quota

לדפדפנים יש מנגנונים ומגבלות לניהול נפח אחסון, וההתנהגות המדויקת תלויה בסוג האחסון ובדפדפן.

24. Cookies

Cookie הוא פיסת מידע שהדפדפן שומר ומשייך ל־HTTP requests בהתאם לכללים שהוגדרו.

Set-Cookie:
session=abc123;
Secure;
HttpOnly;
SameSite=Lax

Secure

מגביל שליחה דרך ערוצים שאינם HTTPS.

HttpOnly

מונע גישה ל־Cookie דרך JavaScript APIs מסוימים.

SameSite

שולט בהיבטים של שליחת Cookie בהקשרי cross-site.

25. Cache

Cache מאפשר לדפדפן להשתמש מחדש במשאבים במקום להוריד אותם בכל פעם מחדש.

FIRST VISIT Browser ↓ Server ↓ Resource ↓ Cache SECOND VISIT Browser ↓ CACHE ↓ Resource

Cache-Control

Cache-Control: max-age=3600

Validation

במקרים מתאימים הדפדפן יכול לבדוק מול השרת אם עותק שכבר נשמר עדיין תקף.

26. Service Workers

Service Worker הוא סקריפט שפועל בהקשר מיוחד ויכול לשמש כמתווך בין הדף לבין משאבי רשת, בכפוף למגבלות ולמודל האבטחה של הדפדפן.

PAGE │ ▼ SERVICE WORKER │ ├────→ CACHE │ └────→ NETWORK

אחד השימושים הוא בניית Progressive Web Apps ושליטה באסטרטגיות Cache.

27. אבטחת דפדפן

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

איומים מרכזיים

XSS

הרצת קוד לא רצוי בהקשר של אתר.

CSRF

ניצול פעולות שהדפדפן מבצע בהקשר של משתמש.

Clickjacking

הטעיית משתמש באמצעות ממשק מוטמע או מוסווה.

Malicious Downloads

קבצים שעלולים להיות מסוכנים.

28. Origin

Origin מוגדר לפי שילוב של scheme, host ו-port.

https://example.com:443

שני מסמכים נחשבים same-origin כאשר שלושת המרכיבים תואמים בהתאם להגדרת Same-Origin Policy.

Same-Origin Policy

זהו מנגנון בסיסי שמגביל אינטראקציה בין מקורות שונים.

29. CORS

CORS מאפשר לשרת לציין אילו cross-origin requests מהדפדפן רשאי לחשוף לקוד של האתר.

Access-Control-Allow-Origin:
https://example.com
CORS הוא מנגנון של דפדפנים ושרתים. הוא אינו "חומת אש" שמונעת מהשרת לקבל כל סוג בקשה. הוא קשור בעיקר למה שהדפדפן מאפשר לקוד בצד הלקוח לקרוא.

30. CSP

Content Security Policy מאפשר לאתר להגדיר מדיניות למקורות תוכן וסקריפטים שהדפדפן רשאי לטעון או לבצע.

Content-Security-Policy:
default-src 'self';
script-src 'self';

CSP יכול להפחית סיכונים מסוימים, במיוחד סביב הזרקת תוכן וסקריפטים.

31. Sandbox

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

WEB CONTENT │ ▼ RENDERER PROCESS │ │ limited privileges ▼ BROWSER / OS SERVICES

הפרטים המדויקים משתנים בין דפדפנים ומערכות הפעלה.

32. Processes

דפדפן מודרני אינו בהכרח תוכנית יחידה שמבצעת הכול בתהליך אחד.

BROWSER PROCESS │ ├── Renderer Process │ ├── Renderer Process │ ├── GPU Process │ ├── Network Services │ └── Utility Processes

למה?

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

33. GPU

הדפדפן יכול להשתמש ב־GPU כדי לבצע חלקים מהעבודה הגרפית.

WEB CONTENT │ ▼ RENDERING │ ▼ COMPOSITING │ ▼ GPU │ ▼ DISPLAY

Transforms

transform: translateX(100px);

פעולות גרפיות מסוימות יכולות להיות יעילות במיוחד כאשר ניתן לבצע אותן במסגרת compositing.

34. Performance

מה יכול להאט אתר?

Network

קבצים גדולים או שרת איטי.

JavaScript

חישובים כבדים או קוד שרץ זמן רב.

Layout

חישובי מיקום רבים.

Paint

ציור מורכב.

Memory

צריכה גבוהה או דליפות.

Rendering

עבודה רבה בכל Frame.

Frame

ממשקים אינטראקטיביים שואפים בדרך כלל לייצר תנועה חלקה. בקצב של 60Hz יש בערך 16.67ms לכל מחזור תצוגה.

לא כל עבודה חייבת להסתיים בתוך Thread יחיד, אך עומס רב על Main Thread עלול לפגוע בתגובתיות.

35. DevTools

כלי הפיתוח של הדפדפן מאפשרים לראות מה קורה בתוך הדף.

Elements

DOM ו־CSS.

Console

הרצת JavaScript והצגת שגיאות.

Network

בקשות HTTP, Headers, Timing ו־Responses.

Sources

קבצי מקור ו־Debugging.

Performance

ניתוח ביצועי Rendering ו־JavaScript.

Memory

בדיקת שימוש בזיכרון.

Application

Cookies, Storage ו־Service Workers.

36. Browser Extensions

Extension מאפשר להוסיף יכולות לדפדפן באמצעות APIs ומודל הרשאות.

Extension │ ├── Manifest ├── UI ├── Content Scripts ├── Background Logic └── Permissions

Permissions

Extension עשוי לבקש הרשאות לגישה למשאבים מסוימים. לכן יש משמעות רבה להרשאות שהוא מקבל.

37. Accessibility

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

Semantic HTML

מבנה סמנטי מאפשר למערכות מסייעות להבין טוב יותר את תפקידם של רכיבי הדף.

Keyboard

אתר צריך להיות ניתן לניווט גם באמצעות מקלדת כאשר הדבר רלוונטי.

ARIA

ARIA מספקת מאפיינים שמוסיפים מידע סמנטי במקרים שבהם HTML רגיל אינו מספיק.

38. Privacy

דפדפן מנהל כמויות גדולות של מידע על פעילות מקומית: Cookies, Cache, History, Storage ועוד.

Tracking

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

Privacy Controls

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

39. Progressive Web Apps

PWA הוא מודל לבניית יישומי Web שיכולים לספק חוויית שימוש הקרובה במובנים מסוימים ליישום מותקן.

WEB APP │ ├── Web App Manifest │ ├── Service Worker │ ├── Cache │ └── Web APIs

יכולות זמינות תלויות בדפדפן ובמערכת ההפעלה.

40. ארכיטקטורה מלאה של דפדפן

BROWSER │ ┌───────────────────┼───────────────────┐ │ │ │ ▼ ▼ ▼ UI BROWSER CORE SERVICES │ │ │ │ ┌────────┼────────┐ │ │ │ │ │ │ │ ▼ ▼ ▼ │ │ NETWORK STORAGE SECURITY │ │ │ │ │ │ │ └────────┼────────┘ │ │ │ │ │ ▼ │ │ RENDERER │ │ │ │ │ ┌───────────┼───────────┐ │ │ ▼ ▼ ▼ │ │ HTML CSS JavaScript │ │ │ │ │ │ │ ▼ ▼ ▼ │ │ DOM CSSOM JS VM │ │ \ | / │ │ \ | / │ │ └───────┬────────┘ │ │ ▼ │ │ STYLE │ │ ▼ │ │ LAYOUT │ │ ▼ │ │ PAINT │ │ ▼ │ │ COMPOSITOR │ │ ▼ │ │ GPU │ │ ▼ │ └──────────────── SCREEN ──────────────┘

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

41. Debugging

בעיה: הדף לא נטען

בדוק URL.
בדוק DNS.
פתח Network.
בדוק Status Code.
בדוק TLS במקרה של HTTPS.
בדוק Console.

בעיה: CSS לא עובד

  • בדוק האם הקובץ נטען.
  • בדוק Selector.
  • בדוק Specificity.
  • בדוק Cascade.
  • בדוק Computed Styles.

בעיה: JavaScript לא עובד

  • בדוק Console.
  • בדוק Stack Trace.
  • השתמש ב־Breakpoints.
  • בדוק Network.
  • בדוק DOM.

בעיה: האתר איטי

  • בדוק Network Waterfall.
  • בדוק JavaScript.
  • בדוק Long Tasks.
  • בדוק Layout.
  • בדוק Paint.
  • בדוק Memory.

42. פרויקטים

פרויקט 1 — HTTP Viewer

כלי שמציג Request ו־Response של כתובת.

פרויקט 2 — DOM Explorer

בניית עץ DOM אינטראקטיבי.

פרויקט 3 — Mini Browser

בניית מודל פשוט של Browser Pipeline.

פרויקט 4 — Event Loop Visualizer

הדגמה של Stack, Tasks ו־Microtasks.

פרויקט 5 — Cache Simulator

הדגמת Cache Hit ו־Cache Miss.

פרויקט 6 — Security Lab

הדגמת Origin, CORS ו־CSP בסביבה בטוחה.

פרויקט 7 — Performance Lab

מדידת זמני טעינה ו־Rendering.

פרויקט 8 — Browser Extension

יצירת Extension פשוט עם הרשאות מינימליות.

43. פרויקט גמר

לבנות "דפדפן לימודי" שמדמה את כל השרשרת.

שלב 1 — URL Parser
פירוק URL לחלקים.
שלב 2 — DNS Simulator
מיפוי שם לכתובת.
שלב 3 — HTTP Simulator
יצירת Request ו־Response.
שלב 4 — HTML Parser
הפיכת HTML לעץ.
שלב 5 — DOM
ייצוג אובייקטים של המסמך.
שלב 6 — CSS Parser
בניית מודל כללי של CSS.
שלב 7 — Style
שילוב DOM ו־CSS.
שלב 8 — Layout
חישוב מיקום וגודל.
שלב 9 — Paint
יצירת פקודות ציור.
שלב 10 — JavaScript
הרצת קוד ושינוי DOM.
שלב 11 — Event Loop
ניהול אירועים אסינכרוניים.
שלב 12 — Security
הוספת Origin והרשאות.
USER │ ▼ BROWSER │ ┌────────────┼────────────┐ ▼ ▼ ▼ NETWORK HTML JAVASCRIPT │ │ │ ▼ ▼ ▼ HTTP DOM JS ENGINE │ │ │ └──────┬─────┴─────┬──────┘ ▼ ▼ CSS STORAGE │ ▼ CSSOM │ ▼ RENDERING │ ┌───────┼───────┐ ▼ ▼ ▼ LAYOUT PAINT COMPOSITE │ ▼ GPU │ ▼ SCREEN
אם אתה מבין את המסלול הזה, אתה כבר לא רואה אתר כ"קובץ HTML", אלא כמערכת שלמה של רשת, פרוטוקולים, Parsing, JavaScript, Rendering, אבטחה וחומרה.

מילון מושגים

Browser
יישום לגישה ולהרצת תוכן Web.
URL
כתובת של משאב.
DNS
מערכת שמות ופתרון כתובות.
HTTP
פרוטוקול Web.
TLS
פרוטוקול אבטחה לתקשורת.
HTML
מבנה המסמך.
DOM
מודל אובייקטים של המסמך.
CSS
שפת עיצוב.
CSSOM
מודל פנימי של CSS.
Rendering
תהליך יצירת התצוגה.
Layout
חישוב מיקום וגודל.
Paint
ציור.
Compositing
שילוב שכבות.
JavaScript Engine
מנוע ביצוע JavaScript.
Event Loop
ניהול עבודה אסינכרונית ואירועים.
Cookie
מידע הקשור לבקשות HTTP.
Cache
שמירת משאבים לשימוש חוזר.
Origin
Scheme + Host + Port.
CORS
מנגנון הרשאות cross-origin בדפדפן.
CSP
מדיניות אבטחת תוכן.
Service Worker
סקריפט מיוחד לשליטה בתרחישי Web מסוימים.
GPU
מעבד גרפי.
DevTools
כלי פיתוח וניתוח.
PWA
Progressive Web App.

תרגול מסכם

1. מה קורה לאחר הקלדת URL?
פתרון

הדפדפן מנתח את הכתובת, משתמש במנגנוני DNS לפי הצורך, יוצר תקשורת עם השרת, מבצע TLS אם נדרש, שולח HTTP request ומתחיל לעבד את התגובה.

2. מה ההבדל בין DOM לבין CSSOM?
פתרון

DOM מייצג את מבנה המסמך; CSSOM מייצג את כללי ה־CSS שהדפדפן פירש.

3. מהו Rendering Pipeline?
פתרון

שרשרת העיבוד שמובילה ממבנה וסגנון הדף דרך Style, Layout, Paint ו־Compositing לתוצאה המוצגת.

4. מה עושה JavaScript Engine?
פתרון

מנתח ומריץ JavaScript, ומנועים מודרניים יכולים גם לתרגם חלק מהקוד לצורות ביצוע יעילות יותר בזמן הריצה.

5. למה קיימת Same-Origin Policy?
פתרון

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

6. מה תפקיד Cache?
פתרון

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

7. למה דפדפן משתמש במספר Processes?
פתרון

בין היתר לבידוד, אבטחה, יציבות וניהול משאבים.

8. מה ההבדל בין CORS לבין CSP?
פתרון

CORS עוסק בהרשאות הקשורות לבקשות cross-origin ולחשיפת תגובות לקוד בדפדפן. CSP מגדיר מדיניות לגבי מקורות תוכן וסקריפטים שהאתר רשאי לטעון או לבצע.

Hosted & Compiled with HtmlRunner.com