מאגר המידע הוראות פשוטות לעבודה עם שירות Profitserver
ראשי מאגר המידע קודי שגיאה של HTTP: רשימה מלאה של שגיאות שרת

קודי שגיאה של HTTP: רשימה מלאה של שגיאות שרת


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

מהו קוד תגובה של HTTP

קוד תגובת HTTP הוא השפה של שרתי אינטרנט המתרגמת בקשות דפדפן להוראות מובנות. זה כמו משורר שעונה על שאלות וירטואליות, נותן להן משמעות וכיוון. קודי תגובה הם לא תמיד קודי שגיאה של HTTP. לדוגמה, "200 בסדר" פירושו שהכל בסדר, אבל שגיאת HTTP "404 לא נמצאה" פירושה כאשר הדף אבד במרחב הווירטואלי. כל קוד הוא ביטוי ייחודי למצב השרת, שהפענוח שלו מאפשר לנו להבין מה קורה בצד השני של העולם הוירטואלי.

קודי 1xx (מידע)

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

100 המשך . קוד תגובת HTTP שבו השרת נותן אור ירוק למשתמש, ומאפשר לו להמשיך לשלוח בבטחה בקשה גדולה.

101 החלפת פרוטוקולים . השרת מודיע ללקוח שהוא משנה את כללי המשחק, לדוגמה, מעבר מ-HTTP ל-HTTPS מאובטח יותר. במקרה זה, הכותרת "Upgrade" משמשת לשינוי הפרוטוקול.

102 עיבוד . קוד זה דומה להודעה שהשרת קיבל את הבקשה, אך עדיין עסוק בפעולה מורכבת.

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

קוד 2xx (מוצלח)

קודי שגיאה של HTTP בקבוצה 2xx מציינים בקשה מוצלחת מהשרת. הם בעצם פועלים כ"אור ירוק" בהיקף התקשורת האינטרנטית, המאשרים שהכל מתנהל לפי התוכנית והושלם בהצלחה.

200 OK . סטטוס זה משמש כאשר השרת מעבד בקשה באמצעות שיטת GET ללא בעיות ומחזיר את הנתונים המבוקשים בתגובה. כותרת ה-"Content-Type" מדווחת על סוג התוכן בתגובה. היא רק מודיעה ללקוח שהבקשה הצליחה.

201 נוצר . כאן השרת מכריז על יצירת משאב חדש.

202 התקבל . השרת מודיע למשתמש שהבקשה התקבלה, אך ייקח זמן עד שתגיב.

203 מידע לא מוסמך . קוד זה מספק ללקוח נתונים שאולי אינם רשמיים, אך ניתן להשתמש בהם להשוואה.

204 אין תוכן . השרת עיבד את הבקשה אך אינו מחזיר תוכן נוסף.

205 איפוס תוכן . כאן הלקוח מקבל הוראה לאפס את התצוגה או הנתונים הנוכחיים לאחר השליחה.

206 תוכן חלקי . מקרה זה מציין שהתגובה מכילה רק חלק מהתוכן המבוקש. הכותרת "טווח תוכן" מציינת את טווח התוכן החלקי.

207 מצב מרובה. השרת השלים בהצלחה בקשה מרובת פעולות מהלקוח, והתגובה מכילה מידע על המצב של כל אחת מהפעולות.

226 IM בשימוש . קוד זה מציין שהשרת השתמש בשיטת מטא-נתונים מצטברת (IM) והגיב על ידי העברת חלקי המשאב שהשתנו ללקוח בלבד.

קודי 3xx (הפניות מחדש)

קודי 3xx בפרוטוקול HTTP הם כמו מצביעים המנחים את המשתמש למיקום משאב חדש. הם מודיעים ללקוח שיש לנקוט בצעדי מעקב כדי להשיג את התוכן המבוקש או להפנות אותו למשאב אחר. בואו ניקח את הפרטים של כל אחד מהם:

300 אפשרויות מרובות . הלקוח מקבל אות שישנם מספר מיקומים אפשריים עבור המשאב וניתנת לו אפשרות בחירה בתגובה. בנסיבות הנוכחיות, הכותרת "מיקום" עשויה להצביע על אפשרויות חלופיות עבור המשאב.

301 הועבר לצמיתות. השרת מדווח למשתמש שהמשאב הועבר לצמיתות למיקום אחר.

302 נמצא . קוד HTTP זה דומה להפניה זמנית. השרת מודיע לצרכן שהמשאב זמין באופן זמני בכתובת URL אחרת. הכותרת "Location" מצביעה לכתובת ה-URL החדשה עבור ההפניה הזמנית.

303 ראה אחר . הלקוח מקבל הודעה שהמשאב זמין בכתובת URL אחרת ועליו לבצע בקשת GET לכתובת החדשה הזו.

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

305 השתמש בפרוקסי. בתגובה, השרת מדווח שעליו להשתמש בפרוקסי שצוין כדי לגשת למשאב המבוקש.

306 (שמור) - הקוד שמור, אך למעשה הוא אינו בשימוש.

307 זמני הפניה . קוד זה דומה ל-302 נמצא, אך דורש מהלקוח להישאר בשיטת הבקשה ששימשה בבקשה המקורית.

308 הפניה קבועה . מציין שהמשאב ביצע מעבר קבוע ל-URI חדש ועל הלקוח להשתמש ב-URI החדש עבור כל הבקשות העתידיות.

4xx שגיאת HTTP (שגיאות לקוח)

קודי השגיאה של HTTP 4xx מציינים שגיאות לקוח. המשמעות היא שהבעיה היא בצד המשתמש, כמו דפדפן האינטרנט או האפליקציה.

400 בקשה שגויה . השרת אינו יכול לעבד את הבקשה עקב שגיאות תחביר, נתונים לא חוקיים או שגיאות אחרות בצד הלקוח.

401 לא מורשה. השרת אינו יכול לעבד את הבקשה עקב שגיאות תחביר, נתונים לא חוקיים או שגיאות אחרות בצד הלקוח.

402 נדרש תשלום . הקוד אינו פעיל כרגע ושמור לשימוש עתידי. ייתכן שהוא מצביע על הצורך לשלם לפני גישה למשאב בעתיד.

שגיאת HTTP 403 אסורה. ללקוח אין הרשאות מספיקות לגישה למשאב המבוקש.

404 לא נמצא. המשאב המבוקש אינו קיים בשרת. זוהי אחת משגיאות המשתמש הנפוצות ביותר.

405 שיטה לא מותרת . השרת אינו תומך בשיטת הבקשה שצוינה במהלך משאב זה. הכותרת "אפשר" מציינת את השיטות המותרות עבור המשאב. עם קוד זה,

406 לא מקובל. השרת אינו יכול לספק נתונים בפורמט שניתן לקבל על ידי הלקוח.

407 נדרש אימות פרוקסי . נדרש אימות בשרת פרוקסי כדי לגשת למשאב המבוקש.

408 זמן קצוב של בקשה . השרת המתין לקבלת בקשה מהלקוח, אך הזמן הקצוב לו הסתיים. הכותרת "Retry-After" עשויה לציין את הזמן שלאחריו ניתן יהיה לנסות שוב את הבקשה.

409 התנגשות. לא ניתן להשלים את הבקשה עקב התנגשות עם מצב המשאב הנוכחי.

410 נעלם . המשאב המבוקש היה קיים בעבר אך כעת נמחק ושחזורו אינו צפוי.

411 אורך נדרש . השרת דורש לציין את אורך התוכן בבקשה; היעדר מידע זה נחשב לשגיאה.

412 תנאי מוקדם נכשל . תנאי מוקדם בבקשה לא מתקיים, דבר המונע את ביצועה.

413 מטען גדול מדי . גודל נתוני הבקשה חורג ממגבלות השרת.

414 URI ארוך מדי . אורך ה-URI בבקשה חורג מהמגבלות המקובלות.

415 סוג מדיה לא נתמך . השרת אינו יכול לעבד את סוג הנתונים שסופק בבקשה.

416 טווח לא ניתן לספק . שגיאת HTTP שבה הטווח המבוקש אינו תואם לנתוני השרת הנוכחיים.

417 הציפייה נכשלה . התנאי הצפוי בכותרת "ציפייה" לא התקיים.

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

421 בקשה שגויה . השרת אינו מעבד את הבקשה עקב שגיאה בבקשה או בתצורת השרת.

422 ישות בלתי ניתנת לעיבוד . השרת מבין את הבקשה, אך אינו מעבד אותה עקב שגיאות נתונים.

423 נעול. המשאב חסום ולא ניתן לעבד אותו.

424 תלות נכשלה . הבקשה תלויה בבקשה אחרת שלא בוצעה.

425 מוקדם מדי. השרת אינו מוכן לעבד את הבקשה עקב הגעתה המוקדמת.

426 נדרש שדרוג . השרת דורש שימוש בפרוטוקול מתקדם יותר כדי לעבד את הבקשה.

428 נדרש תנאי מקדים . השרת דורש ציון של תנאים מוקדמים מסוימים בבקשה.

429 יותר מדי בקשות . הלקוח שלח יותר מדי בקשות בזמן קצר, וחרג ממגבלות השרת.

431 שדות כותרת הבקשה גדולים מדי . כותרות הבקשה חורגות מהגודל המרבי המותר.

449 נסה שוב עם. מציין שהשרת הנוכחי אינו יכול להריץ את הבקשה, אך ניתן לעבד אותה בהצלחה על ידי שרת אחר, ועל הלקוח לנסות שוב את הבקשה עם URI חדש.

451 לא זמין מסיבות משפטיות . המשאב אינו זמין מסיבות משפטיות.

499 בקשת סגירה על ידי הלקוח . השרת קיבל את הבקשה, אך החיבור נסגר על ידי הלקוח לפני השלמת העיבוד.

שגיאת HTTP 5xx (שגיאות שרת)

קודי השגיאה של HTTP 5xx מציינים את הבעיות בשרת. קודים אלו מצביעים על בעיות שהתרחשו בצד השרת, מה שגורם לשרת לא לעבד את בקשת המשתמש בצורה נכונה. בואו נסתכל עליהם מקרוב:

שגיאת HTTP 500 שגיאת שרת פנימית . השרת נתקל בנסיבות בלתי צפויות המונעות ממנו את השלמת הבקשה. כותרת ה-"Server" עשויה לציין את השרת שבו אירעה השגיאה.

501 לא מיושם . השרת אינו תומך בפונקציונליות הנדרשת לעיבוד בקשת הלקוח. כותרת "Via" עשויה לציין את שרת ה-proxy שדרכו אירעה השגיאה.

502 Bad Gateway . קוד זה אומר שהשרת שפועל כשרת פרוקסי קיבל תגובה שגויה משרת אחר.

שגיאת HTTP 503 שירות אינו זמין . השרת אינו מסוגל לעבד בקשות באופן זמני.

504 פסק זמן של שער . השרת, שפועל כפרוקסי, לא קיבל תגובה בזמן משרת אחר.

505 גרסת HTTP אינה נתמכת . השרת אינו תומך בגרסת פרוטוקול ה-HTTP שצוינה בבקשה. כאפשרות גיבוי, הכותרת "שדרוג" עשויה לציין פרוטוקולים נתמכים.

506 גרסה זו מנהלת משא ומתן . סטטוס זה אינו בשימוש ב-HTTP/1.1; עם זאת, אם השרת מזהה תצורה פנימית הגורמת לעמימות במשא ומתן על התוכן, הוא עשוי להשתמש בתגובה זו.

507 אחסון לא מספיק . השרת אינו יכול למלא את הבקשה עקב שטח אחסון לא מספיק בשרת.

508 זוהתה לולאה . השרת זיהה לולאה בעת עיבוד הבקשה, ומסרב להשלים את הבקשה על מנת למנוע לולאה אינסופית.

509 חריגה ממגבלת רוחב הפס . השגיאה מתרחשת כאשר רוחב הפס של השרת חריג עקב נפח גבוה של בקשות או תעבורה.

510 לא הוארך . הלקוח חייב להעביר הרחבות נוספות כדי להמשיך בבקשה.

511 נדרש אימות רשת . הלקוח חייב לאמת את עצמו כדי לקבל גישה לרשת.

כיצד לבדוק את קוד מצב העמוד

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

בדיקת תגובת השרת באמצעות שורת הפקודה

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

curl -I http://page-address

פקודה זו שולחת בקשת HEAD (בקשת כותרות בלבד) לכתובת ה-URL שצוינה ומציגה מידע כולל קוד מצב ה-HTTP:

בדיקת קוד תגובת HTTP של שרת Curl

הדוגמה למעלה מציגה קוד תגובה מוצלח. במקרה של תגובה המכילה קוד שגיאה, כגון 404 לא נמצא שגיאת HTTP, התוצאה תיראה דומה:

שגיאת HTTP 404 לא נמצא קוד שגיאה

בדיקת תגובת השרת דרך מסוף הדפדפן

קונסולת המפתחים של דפדפן האינטרנט מספקת כלים לביצוע פעולות שונות, כולל בדיקת קוד מצב העמוד. על מנת לראות את קוד ה-HTTP בתגובת השרת, עליך לפתוח את מסוף המפתחים (Ctrl+Shift+K) או (Ctrl+shift+J) בהתאם לדפדפן בו נעשה שימוש. לאחר מכן, בחר בקטע "רשת" וטען את הדף הרצוי:

אבחון קוד תגובת ה-HTTP של שרת הדפדפן

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

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

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

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

התוצאה תוצג בתחתית העמוד:

קוד תגובה של שרת HTTP מוצלח

סיכום

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

❮ מאמר קודם כיצד לבדוק שרת דואר
המאמר הבא ❯ כיצד להוסיף כתובת IP נוספת לשרת Windows

שאל אותנו לגבי VPS

אנחנו תמיד מוכנים לענות על שאלותיכם בכל שעה ביום ובלילה.