בקשה ותגובה של HTTP

דפדפני אינטרנט יוצרים אינטראקציה עם אתרים באמצעות פרוטוקול HTTP. זהו סט סטנדרטי של כללים לתקשורת:

  • כשאתם נכנסים לדף אינטרנט, הדפדפן שולח בקשות HTTP למשאבים בדף, כמו HTML,‏ CSS,‏ JavaScript ותמונות.
  • כששרת HTTP (שרת אינטרנט שמארח אתר) מקבל בקשת HTTP תקינה מדפדפן, השרת מגיב לדפדפן עם תגובת HTTP.
  • בקשות ותגובות יכולות לכלול מידע נוסף שנקרא כותרות HTTP.

לדוגמה, באתר cats.example.

האתר המיתולוגי cats.example.

בקשה

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

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

  • Accept-Language: en-US
    הכותרת הזו מציינת את השפה המועדפת של המשתמש, במקרה הזה, אנגלית (ארצות הברית).
  • User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/127.0.0.0 Safari/537.36
    הכותרת הזו מספקת פרטים על הדפדפן ומערכת ההפעלה של המשתמש, במקרה הזה 'Mozilla/5.0' (משפחת הדפדפנים), 'Macintosh' (מערכת ההפעלה) ו-'Chrome/127.0.0.0' (גרסת הדפדפן).

תשובה

כששרת אינטרנט מקבל בקשה תקינה מדפדפן, השרת שולח לדפדפן תגובה שמספקת את המשאב המבוקש (ה'מטען'): HTML, ‏ CSS, ‏ JavaScript, קובץ תמונה, סרטון או נתונים אחרים. בדיוק כמו שכל בקשה מהדפדפן יכולה לכלול כותרות בקשה, כל תגובה מהשרת יכולה לכלול כותרות תגובה. כותרות התגובה האלה נשלחות יחד עם המטען הייעודי (payload).

כותרת Set-Cookie שכלולה בתגובה אומרת לדפדפן לאחסן טקסט מסוים: שם וערך. הוא נקרא קובץ Cookie של HTTP. בתגובה לבקשה של cats.example/images/cat.jpg, השרת cats.example כולל את הכותרת Set-Cookie:cat=tabby. הפקודה הזו מורה לדפדפן לשמור קובץ Cookie בשם cat עם הערך tabby.

קובץ ה-Cookie הזה ייכלל בבקשות הבאות אל cats.example, עד שתוקף קובץ ה-Cookie יפוג או שהוא יוסר. כך השרת יכול לשמור מידע על המשתמש בכמה דפי אינטרנט או סשנים: לדוגמה, שהוצגה למשתמש תמונה של חתול טאבי.


Header פעולה דוגמה אפקט
תגובת HTTP
שרת לדפדפן
Set‑Cookie שרת האינטרנט מבקש מהדפדפן שלכם לשמור קובץ Cookie. Set‑Cookie:cat=tabby קובץ ה-Cookie מאוחסן בדפדפן ומסופק בבקשות הבאות לשרת שהגדיר אותו.
בקשת HTTP
דפדפן לשרת
Cookie הדפדפן מספק קובץ Cookie. Cookie:cat=tabby קובץ ה-Cookie זמין לשרת שהוא היעד של הבקשה.

הדגמות

  • 1pc.glitch.me: הדגמה של קובץ Cookie מהדומיין הנוכחי
  • 3pc.glitch.me: הדגמה של קובץ Cookie של צד שלישי

כלים

למידע נוסף