לדלג לתוכן

0.2 איך עובד האינטרנט תרגול

תרגילים

תרגיל 1: שאלות הבנה בסיסיות

ענו על השאלות הבאות במילים שלכם:

  1. מה זה DNS ומה התפקיד שלו?
  2. מה ההבדל בין לקוח (client) לשרת (server)?
  3. מה המשמעות של קוד סטטוס 404?
  4. מה המשמעות של קוד סטטוס 200?
  5. מה המשמעות של קוד סטטוס 500?

תרגיל 2: הבדל בין GET ל-POST

  1. מה ההבדל בין בקשת GET לבקשת POST?
  2. תנו דוגמה למצב שבו הדפדפן שולח בקשת GET.
  3. תנו דוגמה למצב שבו הדפדפן שולח בקשת POST.
  4. האם בקשת GET שולחת מידע בגוף הבקשה (body)? הסבירו.

תרגיל 3: מה קורה כשמקלידים URL

תארו בשלבים מה קורה כשמקלידים https://www.youtube.com בדפדפן ולוחצים Enter. ציינו לפחות 4 שלבים.

תרגיל 4: קודי סטטוס

עבור כל מצב, כתבו מה קוד הסטטוס שהשרת יחזיר:

  1. משתמש נכנס לדף הבית של האתר והכל עובד תקין.
  2. משתמש מנסה לגשת לעמוד שלא קיים באתר.
  3. יש באג בקוד של השרת והוא קורס.
  4. האתר עבר לכתובת חדשה לצמיתות.

תרגיל 5: אתר סטטי מול דינמי

  1. הסבירו מה ההבדל בין אתר סטטי לאתר דינמי.
  2. סווגו כל אתר - סטטי או דינמי:
  3. אתר תדמית של מסעדה עם תפריט קבוע
  4. פייסבוק
  5. בלוג אישי עם מאמרים קבועים
  6. חנות אונליין עם מוצרים ועגלת קניות

תרגיל 6: חקירה בכלי הפיתוח של הדפדפן - DevTools

  1. פתחו את הדפדפן (Chrome מומלץ).
  2. פתחו את כלי הפיתוח (לחצו F12 או לחיצה ימנית ואז Inspect).
  3. עברו ללשונית Network.
  4. גלשו לאתר https://www.example.com.
  5. ענו על השאלות:
  6. כמה בקשות HTTP נשלחו?
  7. מה הסטטוס של הבקשה הראשונה?
  8. מה סוג התוכן (Content-Type) שהתקבל?
  9. לחצו על הבקשה הראשונה ובדקו את הheaders - מה ה-User-Agent שנשלח?

תרגיל 7: שימוש ב-curl

השתמשו בפקודת curl בטרמינל כדי לשלוח בקשות HTTP:

  1. שלחו בקשת GET לאתר https://www.example.com והציגו את התשובה:
curl https://www.example.com
  1. שלחו את אותה בקשה עם הדגל -v כדי לראות מידע מפורט:
curl -v https://www.example.com
  1. ענו על השאלות:
  2. מה קוד הסטטוס שהתקבל?
  3. האם התשובה מכילה HTML? מה התגית הראשונה שאתם רואים?
  4. מה ההדר Content-Type בתשובה?

  5. שלחו בקשת GET לכתובת שלא קיימת ובדקו מה קוד הסטטוס:

curl -v https://www.google.com/this-page-does-not-exist

תרגיל 8: השוואה לפייתון

בפייתון כתבתם קוד כזה:

import requests
response = requests.get("https://www.example.com")
print(response.status_code)
print(response.text)
  1. מה עושה הדפדפן אחרת מקוד הפייתון הזה כשהוא מקבל את אותו HTML?
  2. למה בפייתון אנחנו רואים תגיות HTML כטקסט, אבל בדפדפן אנחנו רואים אתר יפה?
  3. מה התהליך שהדפדפן עושה עם ה-HTML שהוא מקבל? (רמז: DOM)