דפדפני אינטרנט יוצרים אינטראקציה עם אתרים בהתאם לפרוטוקול HTTP. זוהי קבוצה סטנדרטית של כללים לתקשורת:
- כשאתם נכנסים לדף אינטרנט, הדפדפן שולח בקשות HTTP למשאבים בדף, כמו HTML, CSS, JavaScript ותמונות.
- כששרת HTTP (שרת אינטרנט שמארח אתר) מקבל בקשת HTTP תקינה מדפדפן, השרת מגיב לדפדפן באמצעות תגובת HTTP.
- בקשות ותגובות יכולות לכלול מידע נוסף שנקרא כותרות HTTP.
לדוגמה, ניקח את האתר cats.example.
בקשה
הגישה לדף cats.example
מפעילה שרשרת של בקשות לדומיינים שונים. הבקשות האלה כוללות בקשה לתמונה שמתארחת ב-cats.example
עצמו, בקשה לסקריפט של Analytics מ-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, קובץ תמונה, סרטון או נתונים אחרים. בדיוק כמו שכל בקשה מהדפדפן יכולה לכלול כותרות בקשה, כל תגובה מהשרת יכולה לכלול כותרות תגובה. כותרות התגובה האלה נשלחות יחד עם עומס העבודה.
כותרת Set-Cookie
שכלולה בתגובה מורה לדפדפן לאחסן טקסט: שם וערך. זהו קובץ cookie מסוג HTTP. בתגובה לבקשה ל-cats.example/images/cat.jpg
, השרת cats.example
כולל את הכותרת Set-Cookie:cat=tabby
. הפקודה הזו מורה לדפדפן לשמור קובץ cookie בשם cat עם הערך tabby.
קובץ ה-Cookie הזה ייכלל בבקשות הבאות ל-cats.example,
עד שתוקף קובץ ה-Cookie יפוג או שהוא יוסר.
כך השרת יכול לשמור מידע על המשתמש במספר דפי אינטרנט או סשנים: לדוגמה, שהוצגה למשתמש תמונה של חתול כתום.
כותרת | פעולה | דוגמה | אפקט | |
---|---|---|---|---|
תגובת HTTP מהשרת לדפדפן |
Set‑Cookie
|
שרת האינטרנט מבקש מהדפדפן לשמור קובץ cookie. | Set‑Cookie:cat=tabby |
קובץ ה-cookie נשמר בדפדפן שלכם ומסופק בבקשות הבאות לשרת שהגדיר אותו. |
בקשת HTTP דפדפן לשרת |
Cookie |
הדפדפן מספק קובץ cookie. | Cookie:cat=tabby |
קובץ ה-cookie זמין לשרת שאליו נשלחה הבקשה. |
הדגמות
- 1pc.glitch.me: הדגמה של קובץ cookie מהדומיין הנוכחי
- 3pc.glitch.me: הדגמה של קובצי Cookie של צד שלישי