דף הבית   | מפת האתר   | אודות

 מדריך ללימוד Servlets >HTTP status code >משמעות קודי הסטטוס

הינך נמצא ב :

משמעות קודי הסטאטוס ב-HTTP 1.1

נציין תחילה שמכיוון שחלק מהדפדפנים עשויים לתמוך רק ב- HTTP 1.0 מומלץ לבדוק את גרסת הפרוטוקול (באמצעות request.getRequest.Protocol)  לפני שליחת הקודים החדשים המוגדרים ב-HTTP 1.1.

כעת נתאר את קודי הסטאטוס הזמינים ב-HTTP 1.1 (מפרט HTTP 1.1  המלא
נמצא ב-RFC 2616
 הזמין ב- http://www.rfc-editor.org .)

קודי הסטאטוס נחלקים ל - 5  קטגוריות כלליות:

100-199 : קודים אלו הינם אינפורמטיביים ומורים ללקוח להגיב בפעולה כלשהיא.

200-299 : ערכים בתחום הזה מציינים שהבקשה הצליחה.

300-399 : ערכים בתחום הזה משמשים עבור קבצים שהועברו, וכוללים את הכותרת Location המצביעה על הכתובת החדשה.

400-499 : ערכים בתחום הזה מצביעים על שגיאת לקוח.

500-599 : ערכים בתחום הזה מציינים שגיאות שרת.

משמעות ה- HTTP status codes  הנפוצים:

100 SC_CONTINUE *
כאשר השרת מקבל את כותרת הדרישה
Expect ובה הערך 100-continue המשמעות היא שהלקוח שואל האם הוא יכול לצרף מסמך לדרישה העוקבת. במקרה זה השרת יחזיר תגובה עם סטאטוס 100
(
SC_CONTINUE ) כדי לומר ללקוח להמשיך, או עם סטאטוס 417  (Expectation Fail) המודיע לדפדפן שהמסמך לא התקבל.

101 SC_SWITCHING_PROTOCOLS *
קוד זה מציין שהשרת יענה לכותרת
Upgrade וישנה את הפרוטוקול.

200 SC_OK
משמעותו שהכול תקין. המסמך יבוא בעקבות בקשות
GET ו-POST. סטאטוס זה הינו ברירת מחדל של  Servlets.

201 SC_CREATED
קוד זה מציין שהשרת יצר מסמך חדש כתגובה לבקשה. הכותרת
Location אמורה לספק את כתובת ה-URL של המסמך החדש.

202 SC_ACCEPTED
מודיע ללקוח שהבקשה מטופלת אך התהליך לא הסתיים עדיין.

203 SC_NON_AUTHORITATIVE_INFORMATION *
קוד זה מציין שהמסמך מוחזר בדרך הרגילה אך מס' כותרות תגובה עלולות להיות שגויות מכיוון שנעשה שימוש בעותק מסמך.

204 SC_NO_CONTENT
קוד זה מורה לדפדפן להמשיך להציג את המסמך הקודם כיוון שהמסמך החדש אינו זמין. התנהגות זו יעילה אם המשתמש הוריד קודם לכן דף ע"י לחיצה על
"Reload" והשרת יכול לקבוע שהדף הקודם עדיין עדכני.

205 SC_RESET_CONTENT *
משמעות ערך זה היא שאין כל מסמך חדש אך על הדפדפן להגדיר מחדש את תצוגת המסמך. קוד סטאטוס זה משמש לאלץ את הדפדפנים לנקות שדות טופס.

300 SC_MULTIPLE_CHOICES
ערך זה מציין שהמסמך הנדרש עשוי להימצא במס' מקומות שיירשמו במסמך המוחזר. במידה ולשרת יש מיקום מועדף, עליו לציינו בכותרת התגובה
Location.

301 SC_MOVED_PERMANENTLY
סטאטוס זה מציין שהדף הנדרש נמצא במקום אחר. כתובת
URL חדשה מצוינת בכותרת Location. דפדפנים אמורים לעבור אוטומטית לכתובת החדשה.

302 C_MOVED_TEMPORARILY
ערך זה דומה ל- 301 אלא שכתובת
URL הניתנת בכותרת Location הינה מקום חליפי זמני. משום שקוד סטאטוס זה הינו בשימוש נפוץ, קיים method מיוחד עבורו: sendRedirect.

response.sendRedirect(url);

מחליף את :

response.setStatus(response.SC_MOVED_TEMPORARILY);

response.setHeader("location", url);

הדפדפנים אמורים לעקוב אוטומטית אחרי ההפניה מחדש רק אם הבקשה המקורית הייתה GET.

303 SC_SEE_OTHER*
סטאטוס זה דומה ל
- 301 ו- 302 מלבד כאשר הדרישה המקורית הייתה POST, המסמך החדש (המצוין בכותרת Location) ישלח באמצעות GET.

304 SC_NOT_MODIFIED
כאשר ללקוח יש מסמך מוטמן הוא יכול לבצע דרישה מותנית ע"י אספקת הכותרת
If-Modified-Since, כדי לציין שברצונו במסמך רק בתנאי שהוא שונה מתאריך מסוים. הערך 304 משמעותו שהגרסה המוטמנת הינה מעודכנת ועל הלקוח להשתמש בה, אם לא כך על השרת להחזיר את המסמך הנדרש עם קוד הסטאטוס הרגיל 200. Servlets אינם אמורים בד"כ להגדיר ישירות את קוד סטאטוס זה אולם עליהם ליישם את ה-getLastModified method ולהותיר לברירת המחדל של service method לנהל דרישות מותנות בהתבסס על תאריך שינוי זה.

400 SC_BAD_REQUEST
סטאטוס זה מציין שיש תחביר שגוי בבקשת הלקוח.

401 SC_UNAUTHORIZED
מציין שהלקוח ניסה לגשת לדף מוגן סיסמא ללא מידע מזהה מתאים בכותרת
AUTHORIZATION.

403 SC_FORBIDDEN
משמעותו שהשרת מסרב לספק את המסמך בלא להתחשב בהרשאה.

404 SC_NOT_FOUND
מודיע ללקוח כי לא נמצא המסמך בכתובת המצוינת. תגובה זו היא כה נפוצה שקיים עבורה
method  מיוחד:

sendError("message")

יתרונו של method זה על פני setStatus הוא, שבמקרה של sendError השרת מייצר אוטומטית דף שגיאה המציג את הודעת השגיאה. כברירת מחדל InternetExplorer 5 מתעלם מדפי השגיאה הנוצרים ע"י השרת.

405 SC_METHOD_NOT_ALLOWED*
מציין שסוג הבקשה
(GET,POST,HEAD,PUT וכו') אינה מורשית עבור מקום מסוים זה.

406 SC_NOT_ACCEPTABLE*
מציין שהמסמך הנדרש הינו בעל סוג
MIME שאינו תואם  לסוגים המצוינים ע"י הלקוח בכותרת Accept.

408 SC_REQUEST_TIME_OUT *
משמעות קוד זה היא שארך ללקוח זמן רב מדי לסיים את משלוח הדרישה.

410 SC_GONE *
מודיע ללקוח שהמסמך המבוקש נעלם ולא ידועה כתובתו הבאה. 410 שונה  מ- 404 בכך שידוע שהמסמך נעלם לתמיד, לא רק אינו נגיש מסיבות לא ידועות כפי שזה בסטאטוס 404.

415 SC_UNSUPPORTED_MEDIA_TYPE*
משמעותו שלדרישה מצורף מסמך מסוג שהשרת אינו יודע כיצד לטפל בו.

500 SC_INTERNAL_SERVER_ERROR
לעיתים קרובות זוהי תוצאה של תוכניות
CGI או Servlets קורסים או כאלה המחזירים כותרות בעלות תבנית שגויה.

501 SC_NOT_IMPLEMENTED
סטאטוס זה מודיע ללקוח שהשרת אינו תומך בבקשה. לדוגמא כאשר הלקוח שולח בקשת
PUT שהשרת אינו תומך בו.

503 SC_SERVICE_UNAVAILABLE
קוד זה מציין שהשרת אינו יכול להגיב עקב בעיות תחזוקה או עומס יתר. לדוגמא כאשר מסד נתונים הקשור לביצוע הבקשה הינו מלא.

505 SC_HTTP_VERSION_NOT_SUPPORTED*
קוד זה משמעותו היא שהשרת אינו תומך בגרסת
HTTP המצוינת בשורת הבקשה .

 

* קוד סטאטוס זה הינו חדש ב-HTTP 1.1.



       
 כל הזכויות שמורות למערכות מידע אית"ן