קודי סטטוס HTTP מוסברים, מ-200 עד 503
בכל פעם שהדפדפן שלכם מבקש משהו משרת אינטרנט, השרת עונה במספר בן שלוש ספרות לפני שהוא שולח בחזרה HTML, תמונה או JSON כלשהם. המספר הזה הוא קוד הסטטוס של HTTP, וזו הדרך הקצרה של השרת לומר מה קרה: הדף נמצא כאן, הוא עבר מקום, אתם לא מורשים להיכנס, או שמשהו נשבר אצלנו. רוב הזמן אתם אף פעם לא רואים את הקודים האלה כי הכל עובד והדף פשוט נטען. אבל ברגע שאתר מתנהג לא כשורה, קוד הסטטוס הוא הרמז הראשון שכדאי לקרוא.
המספרים אינם אקראיים. הספרה הראשונה ממיינת כל תגובה לאחת מחמש משפחות, כך שאפילו קוד לא מוכר אומר לכם בערך מה השתבש רק לפי הספרה המובילה שלו. למדו את חמש המשפחות ותוכלו לקרוא כמעט כל תגובה במבט חטוף.

חמש הקטגוריות
1xx מידע. השרת קיבל את הבקשה שלכם ועדיין עובד עליה. אלה נדירים בגלישה יומיומית ולרוב מטופלים בשקט בין הדפדפן לשרת. 100 Continue היא הדוגמה הקלאסית, ואומרת ללקוח שמותר לו לשלוח את שאר גוף הבקשה הגדולה.
2xx הצלחה. הבקשה הצליחה. 200 OK הוא זה שאתם רוצים לראות כל היום, ומשמעו שהמשאב נמצא ובדרכו חזרה. 201 Created מופיע אחרי שאתם שולחים טופס או קריאת API שיוצרת משהו חדש, ו-204 No Content אומר שהפעולה הצליחה אבל אין מה להציג.
3xx הפניה. מה שביקשתם נמצא במקום אחר, והדפדפן בדרך כלל עוקב אוטומטית. הפניות שומרות על קישורים ישנים בחיים ומשנות מאוד לדירוג בחיפוש.
4xx שגיאת לקוח. משהו בבקשה היה שגוי מהצד שלכם: כתובת שגויה, התחברות חסרה, או משאב שלא קיים. השרת בריא; הוא פשוט לא יכול לקבל את מה ששלחתם.
5xx שגיאת שרת. הבקשה שלכם הייתה תקינה, אבל השרת נתקל בבעיה בעת הטיפול בה. אלה מצביעים על התשתית של האתר, לא עליכם.
הקודים הספציפיים שאנשים באמת מחפשים
200 OK היא הצלחה פשוטה. הדף או הנתונים נטענו כמצופה.
301 Moved Permanently אומר לדפדפנים ולמנועי חיפוש שלדף יש בית קבוע חדש. זו ההפניה הידידותית ל-SEO, כי היא מעבירה אותות דירוג מה-URL הישן לחדש. השתמשו בה כשאתם משנים כתובת URL לצמיתות.
302 Found היא הפניה זמנית. כתובת ה-URL המקורית עדיין האמיתית, כך שמנועי חיפוש ממשיכים לאנדקס אותה במקום את היעד. פנו ל-302 רק כשהמעבר באמת קצר-מועד, כמו ניתוב משתמשים לדף נחיתה עונתי.
304 Not Modified הוא גיבור שקט של גלישה מהירה. הוא אומר לדפדפן שהעותק שכבר יושב במטמון שלו עדיין עדכני, כך שהשרת מדלג על שליחה מחדש של הקובץ. פחות נתונים, דפים מהירים יותר.
400 Bad Request משמעו שהשרת אפילו לא הצליח להבין את הבקשה, לעיתים קרובות בגלל תחביר פגום או פרמטר לא תקין.
401 Unauthorized מתורגם בערך ל-"אני לא יודע מי אתה, נא להזדהות". חסרים לכם אישורים תקינים.
403 Forbidden שונה: השרת יודע מי אתם ועדיין מסרב. חסרה לכם הרשאה, וכניסה חוזרת לא תעזור.
404 Not Found הוא הקוד המפורסם ביותר מכולם. השרת חי וענה לכם, אבל אין שום דבר בכתובת הזו. זה בדרך כלל מגיע מקישור עם שגיאת הקלדה או מדף שנמחק או הועבר בלי הפניה.
429 Too Many Requests משמעו שהוגבל הקצב שלכם (rate-limited). שלחתם יותר מדי בקשות בחלון זמן קצר מדי, והשרת מבקש מכם להאט. ממשקי API משתמשים בזה כל הזמן.
500 Internal Server Error היא התגובה הגנרית של "משהו נשבר". השרת נתקל בתנאי בלתי צפוי וויתר, אבל הוא לא אומר מה. בדקו את יומני השרת.
502 Bad Gateway מופיע כאשר שרת אחד, הפועל כשער או פרוקסי, מקבל תגובה לא תקינה משרת upstream שמאחוריו. לעיתים קרובות סימן שאפליקציית backend קרסה או שאינה נגישה.
503 Service Unavailable משמעו שהשרת עמוס באופן זמני או מושבת לתחזוקה. בניגוד ל-500, זה רומז שהתקלה קצרת-טווח והאתר אמור לחזור בקרוב.

מה קודי סטטוס אומרים עבור SEO וניפוי באגים
לדירוג בחיפוש, ההבחנה בין 301 ל-302 היא זו שמכשילה אנשים. מעבר קבוע צריך תמיד להשתמש ב-301 כדי שהדף החדש יירש את הסמכות של הישן; 302 במקום הלא נכון עלול להשאיר את מנועי החיפוש מאנדקסים את כתובת ה-URL המקורית ומפצל את האותות שלכם. בינתיים, מספר גדול של 404 מבזבז תקציב סריקה ומתסכל מבקרים, אז כדאי להפנות או לתקן קישורים שבורים במקום להשאיר אותם להירקב.
לניפוי באגים, המשפחה אומרת לכם היכן להסתכל. 4xx מצביע על הבקשה, אז בדקו את ה-URL, הכותרות והאישורים. 5xx מצביע על השרת, אז בדקו את יומני האפליקציה, השירותים ה-upstream, והאם פריסה כלשהי השתבשה זה עתה. גל של 502 ו-503 לעיתים קרובות משמעו ש-backend מושבת או עמוס יתר על המידה ולא באג בקוד. תוכלו לבחון את הסטטוס המדויק שאתר מחזיר עם כלי המפתחים שלנו, וכשקוד 5xx נראה כמו בעיית קישוריות ולא תקלת אפליקציה, בדיקת DNS מהירה יכולה לאשר שהדומיין עדיין נפתר לכתובת הנכונה.
שאלות נפוצות
האם שגיאת 404 מזיקה לאתר שלי?
כמה 404 בודדים הם נורמליים ולא מזיקים. הבעיות מתחילות כשדפים פופולריים מחזירים 404 או כשקישורים פנימיים שבורים מצטברים, ומבזבזים תקציב סריקה ומתסכלים מבקרים. הפנו דפים שהועברו ותקנו קישורים שגויים.
מה ההבדל בין הפניית 301 להפניית 302?
301 הוא קבוע ומעביר אותות דירוג ל-URL החדש, אז השתמשו בו כשדף עובר לצמיתות. 302 הוא זמני ושומר את כתובת ה-URL המקורית מאונדקסת, אז השתמשו בו רק למעברים קצרי-מועד.
מה ההבדל בין 401 ל-403?
401 משמעו שלא הזדהיתם, אז התחברות עשויה לפתור את זה. 403 משמעו שהשרת מזהה אתכם אך עדיין דוחה גישה כי חסרה לכם הרשאה, אז התחברות מחדש לא תעזור.
מה משמעות שגיאת 500 ואיך מתקנים אותה?
500 Internal Server Error משמעו שהשרת נתקל בתקלה בלתי צפויה בעת הטיפול בבקשה שלכם. ההודעה גנרית בכוונה, אז התיקון בדרך כלל מתחיל בקריאת יומני השרת כדי למצוא את הסיבה האמיתית.
למה אני מקבל קוד סטטוס 429?
429 Too Many Requests משמעו שהוגבל הקצב שלכם בגלל שליחת בקשות מהר מדי. האטו, כבדו כל כותרת Retry-After שהשרת מחזיר, והוסיפו backoff לסקריפטים וללקוחות API.
מה משמעות 503 Service Unavailable?
503 משמעו שהשרת אינו מסוגל באופן זמני לטפל בבקשה, בדרך כלל בשל עומס יתר או תחזוקה מתוזמנת. זה מסמן בעיה קצרת-טווח, אז האתר אמור להתאושש בעצמו בקרוב.
