קוד מצב של HTTP

מתוך ויקיפדיה, האנציקלופדיה החופשית
(הופנה מהדף שגיאות של HTTP)
קפיצה אל: ניווט, חיפוש
Incomplete-document-purple.svg יש להשלים ערך זה: בערך זה חסר תוכן מהותי. ייתכן שתמצאו פירוט בדף השיחה.
הנכם מוזמנים להשלים את החלקים החסרים ולהסיר הודעה זו. שקלו ליצור כותרות לפרקים הדורשים השלמה, ולהעביר את התבנית אליהם.

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

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

מיקרוסופט IIS עשוי להשתמש בקוד תת-עשרוני לספק מידע ספציפי יותר , ליותר מידע[1]. התגובה המוצגת מכילה דוגמאות סטנדרטיות אבל ניתן לספק כל תוכן אחר בתור שגיאת HTTP.

1xx מידע[עריכת קוד מקור | עריכה]

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

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

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

2xx הצלחה[עריכת קוד מקור | עריכה]

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

3xx העברה[עריכת קוד מקור | עריכה]

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

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

4xx שגיאות צד לקוח[עריכת קוד מקור | עריכה]

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

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

5xx שגיאות צד שרת[עריכת קוד מקור | עריכה]

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

הערות שוליים[עריכת קוד מקור | עריכה]