קוד מצב של 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 הבקשה עשויה להכיל תת-בקשות המערבות בפעולות הקובץ, זה עלול לקחת זמן רב כדי להשלים את הבקשה. קוד זה מציין שהשרת קיבל והוא עיבוד הבקשה, אך התגובה לא זמינה עדיין. זה מונע מהלקוח לחכות ולהניח שהבקשה אבדה.

== 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.

== 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
HTTP