קוד מצב של HTTP

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

בתגובה לבקשת HTTP ‏(Hypertext Transfer Protocol) של לקוח מחזיר השרת תשובת HTTP המכילה קוד מצב המציין את התוצאה של ניסיון השרת למלא את הבקשה שנשלחה. הקוד מורכב ממספר תלת-ספרתי והסבר טקסטואלי קצר על משמעותו.

מחלקות

עריכה

המספרים מחולקים ל-5 מחלקות, בהתאם לספרה הראשונה שלהם:

  • 1xx – ההודעה מכילה מידע בלבד.
  • 2xx – הבקשה ששלח הלקוח בוצעה בהצלחה על ידי השרת, והתשובה מכילה את מה שהשרת נתבקש לשלוח בהתאם לשיטת הבקשה.
  • 3xx – הבקשה פוענחה בהצלחה, אך מסיבות כלשהן התשובה אינה כוללת את האובייקט המבוקש (למשל, משום שהעמוד מפנה אוטומטית לעמוד אחר).
  • 4xx – נמצאה שגיאה כלשהי בבקשה עצמה.
  • 5xx – השרת לא הצליח למלא אחר הבקשה כתוצאה מכשל פנימי.

1xx מידע

עריכה

התקבלה בקשה ממשיך תהליך.

זהו קוד סטטוס מותנה וכולל רק שורת מצב וכותרים מסוימים והוא נעצר על ידי שורה ריקה. מאז HTTP/1.0 אין הגדרה של 1xx ושרתים מחויבים לא לשלוח ללקוח סטטוס 1xx אלא בתנאים ניסיוניים.

100 המשך
משמעות הדבר כי השרת קיבל את כותרי הבקשה והלקוח צריך לשלוח את גוף הבקשה (במקרה שהבקשה גדולה כמו POST). אם גוף הבקשה הוא גדול על הלקוח לשלוח את הכותרים קודם בתור בקשה 100 כדי לראות שהם לא נדחים.
101 החלפת פרוטוקולים
הלקוח מבקש ביצוע החלפת פרוטוקולים השרת מאשר שזה יבוצע.
102 מריץ תהליך (WebDav)
כמו WebDav הבקשה עשויה להכיל תת-בקשות המערבות בפעולות הקובץ, זה עלול לקחת זמן רב כדי להשלים את הבקשה. קוד זה מציין שהשרת קיבל והוא עיבוד הבקשה, אך התגובה לא זמינה עדיין.[1] זה מונע מהלקוח לחכות ולהניח שהבקשה אבדה.

2xx הצלחה

עריכה
200 תקין
סטנדרטי בתגובה מוצלחת של HTTP. התגובה בפועל תלויה בשיטת בקשה שבשימוש. בשיטה GET, התגובה תכיל מאפיין המתאים למשאב המערכת המבוקש. בשיטת POST התגובה תכיל מאפיין המתאר או מכיל את התוצאה של הפעולה.
201 נוצר
הבקשה בוצעה ויצרה משאב חדש.
202 אושר
הבקשה התקבלה לעיבוד, אבל פעולת העיבוד לא הושלמה. אפשרי שהבקשה תפעל כפי שהיא או שלא, :מכיוון שהיא עשויה להיות אסורה בזמן התרחשות העיבוד.
203 מידע לא מוסמך
השרת עיבד את הבקשה בהצלחה, אך הוא מחזיר מידע שעשוי לבוא ממקור אחר.
204 תוכן ריק
השרת עיבד בהצלחה את הבקשה אך התוכן ריק.
205 עדכן מידע
השרת עיבד את הבקשה בהצלחה, אך אינו מחזיר כל תוכן. שלא כמו תגובה 204, תגובה זו מחייבת את הלקוח לעדכן את תצוגת המסמך.
206 מידע חלקי
השרת מספק רק חלק המשאב בשל טווח הכותרות שנשלח על ידי הלקוח. טווח כותרות משמש כלי כמו wget כדי לאפשר חידוש של הורדות קטע, או לפצל הורדה לתוך זרמים מרובים סימולטנית.
207 תוכן כפול
גוף הודעה שעוקב אחר קובץ XML יכול להכיל מספר קודים בתגובה נפרדת, בהתאם למספר תתי בקשות שנעשו.

3xx העברה

עריכה

הלקוח חייב לבצע פעולה נוספת כדי להשלים את הבקשה. זוהי תגובה מסוג שכל פעולה נוספת חייבת להתבצע על ידי התוכנה של המשתמש כדי למלא את הבקשה. הפעולה הנדרשת יכולה להתבצע על ידי סוכן המשתמש ללא אינטראקציה עם המשתמש אם ורק אם השיטה בה משתמשת הבקשה השנייה היא GET או HEAD. לקוח שמקבל תגובת סטטוס מסוג זה יותר מ-5 פעמים אמור להניח שזוהי בעצם הפניה אינסופית.

300 מספר אופציות
מציין מספר רב של אפשרויות משאב שהלקוח יכול לבצע. זה למשל, יכול לשמש כדי להציג אפשרויות תצוגה שונות עבור וידאו, קבצים עם סיומות שונות.
301 הועבר לצמיתות
סטטוס זה וכל הבאים צריכים להפנות אל ה-URL הנתון.
302 נמצא
זוהי ההפניה הנפוצה ביותר שבה נדרש הלקוח לבצע הפניה זמנית (הביטוי המתאר המקורי הוא "הועבר זמנית"), אבל בדפדפנים הפופולריים 302 מיושם. עם פונקציונליות של 303. לכן ב- HTTP/1.1 נוספו קודי מצב 303 ו 307 כדי להבחין בין שתי ההתנהגויות. עם זאת, חלק מהיישומים ומסגרות האינטרנט משתמשים ב-302 כאילו היה 303.[2]

4xx שגיאות צד לקוח

עריכה

מחלקת קוד סטטוס זו מיועדת למקרים בהם הלקוח כנראה טעה. למעט כאשר להגיב לבקשת HEAD, השרת צריך לכלול ישות המכילה הסבר על המצב שגיאה, וציון אם זהו מצב זמני או קבוע. אלו קודי מצב החלות על כל שיטה הבקשה. אלה הם בדרך כלל קודי השגיאה הנפוצים ביותר בהם נתקל בגלישה באינטרנט.

400 בקשה לא תקינה
הבקשה שנשלחה לשרת אינה תקינה.
401 לא מאומת
נידרש לבצע אימות כדי לגשת למשאב המבוקש.
403 אסור
אסור לגשת למשאב המבוקש. בניגוד לשגיאה 401, גם אימות לא מאפשר גישה למשאב המבוקש.
404 לא נמצא (זמני)
המשאב המבוקש לא נמצא, אך עשוי להיות זמין בעתיד.
410 לא נמצא (קבוע)
המשאב המבוקש לא נמצא, וגם לא ימצא.
413 גוף הבקשה גדול מדי
שרת האינטרנט מתריע שזרם נתוני ה-HTTP שנשלח על ידי הלקוח היה גדול מדי. לדוגמה חיפוש בגוגל מספר מילים גדול מידי, או בקשה להעלות קובץ גדול מאוד (באמצעות שיטת PUT HTTP) עלולה להיתקל בבעיה של העלאת הקובץ כי הוא עובר את גודל הקובץ המקסימלי שנקבע על ידי שרת האינטרנט.
451 לא זמין מסיבות משפטיות
הדף הוסר בעקבות סיבה משפטית (הפרת זכויות יוצרים, פרטיות או הפרת כל חוק אחר).

5xx שגיאות צד שרת

עריכה
 
שגיאת 503 שהוחזרה משרתי ויקימדיה מוצגת בדפדפן Lynx (לחצו להגדלה)
500 שגיאת שרת
השרת נתקל בשגיאה בביצוע הבקשה.
503 שירות אינו זמין
השירות אינו זמין זמנית.
504 Gateway Timeout
השרת פועל כ-Gateway או Proxy ולא קיבל תגובה משרת אחר (Upstream server).

קישורים חיצוניים

עריכה
  מדיה וקבצים בנושא קוד מצב של HTTP בוויקישיתוף

הערות שוליים

עריכה
  1. ^ HTTP Extensions for Distributed Authoring -- WEBDAV
  2. ^ "Reference of method redirect_to in Ruby Web Framework "Ruby on Rails". It states: The redirection happens as a "302 Moved" header unless otherwise specified". אורכב מ-המקור ב-5 ביולי 2012. {{cite web}}: (עזרה)