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

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

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

לדוגמה, ניקח את האתר cats.example.

האתר המיתולוגי 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 של צד שלישי

כלים

למידע נוסף