בקשות שרת פירושו כל פעולה שמשתמש (למשל, בן אדם או רובוט) מבצע דרך ממשק משתמש של תוכנת שרת ווב מסוימת או דרך תווך (כגון דפדפן ווב) המתווך בינו לבין ממשק כזה.
דוגמאות טריוויאליות לבקשת שרת הן הפעלת אפליקציית אינטרנט כגון הרצת כתובת אתר ווב בדפדפן ווב או לחיצה על קישור בדף ווב.
מהות התהליכים
בקשת שרת היא בקשת מידע.
בהגדרה אחרת הינה "הגשת שאילתא" לשרת. תגובה (תקנית) היא מתן מידע בהתאם לבקשה.
אם שרת עובד והמידע קיים במערכת שאיתה הוא מאפשר להתממשק, הרי שהשרת יגיש את המידע בהצלחה וייתכן שגם יספק קוד מצב (כגון "הצלחה"; הרחבה בערך קוד מצב HTTP).
שיטות
ישנן כמה שיטות מבוססות בתוך פרוטוקול תקשורת מסוג HTTP, אשר משמשות לתעבורת מידע הן בבקשת שרת והן בתגובת שרת, אם כי חלקן משמשות בעיקר לתעבורה מסוג "בקשה" או לתעבורה מסוג "תגובה" (serving):
שיטות אלה הן למשל get
, post
, put
ועוד; ההחלטה באיזו שיטה להשתמש באיזו פרוצדורה לרוב נקבעת על ידי מהנדס תוכנה ו\או מתכנת מומחה אבטחת מידע.
מבנה
המידע המועבר בבקשת שרת או תגובת שרת מאורגן במבנה מידע סדור.
סדר נפוץ למידע בקשת שרת הינו כותרת עליונה הכוללת מידע ראשי כולל שיטה מבוקשת (header), מידע משני כולל התנהגות חיבור (general data) וגוף בקשה המתאר מה למעשה מבקשים (body).
סדר נפוץ למידע תגובת שרת הינו קוד מצב, כותרת כללית, כותרת גוף תגובה, כותרת תיאור-ישות (סיווג טכני המידע, כגון מסמך HTML) וכן גוף התגובה.
נכון ל-2020 אין סדר אחד ויחיד והסדרים השונים יכולים להשתנות בעדכונים שונים של פרוטוקוליי תקשורת שונים.
בעיות אפשריות
בעת בקשת שרת ייתכנו בעיות שונות שימנעו את העברת המידע או ייגרמו להעברת מידע חלקית ובעיות אלו יכולות להיות משני הצדדים באינטראקציה, כגון מן השמתמש דרך ניתוק פתאומי חיבור לאינטרנט, בעיית תוכנה מקומית וכדומה או דרך השרת; בעיית חומרה או תוכנה שגרמה לשרת לקרוס ולכן לא ניתן להעביר מידע כלל, גם לא בצורה בסיסית של אפליקציית אינטרנט ישירות דרך השרת. כמו כן, ייתכנו גם בעיות אבטחחת מידע שונות אם משתמשים בשיטה שלא מתאימה לפרוצדורה מסוימת (כך למשל, שיטת get
בדרך כלל משמשת לבקשת שרת בעניין הורדת מידע (download) וכן שיטת post
בדרך כלל משמשת לבקשת שרת בעניין העלאת מידע (upload); פירוט על שיטות נוספות וייעודן זמין בספרות ייעודית בתחום פרוטוקול HTTP.
הערות כלליות
- המונחים "בקשת HTTP" ו"תגובת HTTP" מסמלים בקשת שרת ותגובת שרת בהתאם לפרוטוקול HTTP.