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

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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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 שגיאת שרת פנימית. השרת נתקל בנסיבות בלתי צפויות המונעות ממנו את השלמת הבקשה הכותרת "שרת" עשויה לציין את השרת שבו התרחשה השגיאה.

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

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

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

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