בדיחת אחד באפריל מפרוטוקול Hyper Text Coffee Pot Control Protocol משנת 1998: קומקום שמסרב להכין קפה. HTTP שומר את הקוד כלא בשימוש, אך חלק מהשרתים מחזירים אותו כהפתעה נסתרת או כדי לדחות בוטים לא רצויים.
קוד לא תקני. Cloudflare מחזיר אותו כאשר אישור ה-SSL של שרת המקור אינו תקף ומצב ה-SSL Full (strict) מופעל.
מוגדר ב-Cloudflare
איך להשתמש בו
הקלידו מספר קוד (למשל 404 או רק 5 לכל שגיאות השרת) או מילת מפתח כמו "redirect" או "timeout".
צמצמו את הרשימה בעזרת מסנן המחלקה: מידע, הצלחה, הפניה, שגיאת לקוח או שגיאת שרת.
השתמשו ב"העתק קישור" בכל קוד כדי לשתף קישור ישיר אליו, למשל בדוח באג.
איך זה עובד
כל תגובת HTTP מתחילה בקוד סטטוס בן שלוש ספרות. הספרה הראשונה קובעת את המחלקה: 1xx תגובות מידע, 2xx הצלחה, 3xx הפניה, 4xx שגיאות שנגרמות מהבקשה, ו-5xx שגיאות בצד השרת. לקוחות שאינם מזהים קוד מסוים מתייחסים אליו כמו לקוד x00 של אותה מחלקה, כך שקוד 4xx לא מוכר מטופל כמו 400.
הקודים המרכזיים מוגדרים ב-RFC 9110 (HTTP Semantics, 2022), שהחליף את RFC 7231 הישן. אחרים מגיעים מהרחבות: WebDAV (RFC 4918), RFC 6585 עבור 428, 429, 431 ו-511, RFC 7725 עבור 451, ו-RFC 8470 עבור 425. RFC 9110 גם שינה את השם של שני קודים: 413 הוא כעת “Content Too Large” ו-422 “Unprocessable Content”, וייתכן שעדיין תראה אותם בשמותיהם הישנים “Payload Too Large” ו-“Unprocessable Entity”.
חלק מהקודים שפוגשים ביומנים אינם תקניים כלל. nginx משתמשת פנימית ב-444 וב-494–499 (499 מציין לקוח שהפסיק לחכות), ו-Cloudflare מחזירה 520–526 כשאינה מצליחה לקבל תשובה תקינה משרת המקור. אלה מסומנים “Non-standard” ברשימה. ביטויי הסיבה (כמו “Not Found”) מוצגים באנגלית כפי שנכתבו במפרטים; HTTP/2 ו-HTTP/3 שולחים רק את המספר.
דוגמאות
301 או 308 בעת העברת אתר
שניהם קבועים. השתמשו ב-301 להעברות דפים רגילות; השתמשו ב-308 כאשר לקוחות צריכים לחזור על בקשות POST או PUT אל ה-URL החדש, כי חלק מהלקוחות משנים POST ל-GET אחרי 301.
401 לעומת 403
API מחזיר 401 כאשר לא נשלח אסימון או שנשלח אסימון שפג תוקפו, כך שעל הלקוח להתחבר. הוא מחזיר 403 כאשר האסימון תקף אך למשתמש אין הרשאה, כך שהתחברות חוזרת לא תעזור.
אבחון 502 מאחורי nginx
502 Bad Gateway מ-nginx פירושו שהיישום שמאחוריו לא ענה כראוי. בדקו אם תהליך היישום פועל ומה הוא רשם ביומן; 504, לעומת זאת, פירושו שהוא ענה לאט מדי.
שאלות נפוצות
מה ההבדל בין 404 ל-410?
404 פירושו שהשרת אינו יכול למצוא את המשאב ואינו אומר דבר לגבי העתיד. 410 אומר שהמשאב הוסר במכוון ולא יחזור, מה שעוזר למנועי החיפוש להסיר את ה-URL מוקדם יותר.
האם שגיאת ולידציה אמורה להחזיר 400 או 422?
משתמשים בשניהם. 400 מתאים לבקשות שהשרת לא מצליח לפענח, כמו JSON פגום. 422 מתאים לבקשות שמתפעחות כראוי אך מכילות ערכים לא תקינים, כמו שדה דוא"ל בלי @.
האם 418 I'm a teapot הוא קוד סטטוס אמיתי?
מקורו ב-RFC של אחד באפריל משנת 1998. RFC 9110 שומר את 418 כקוד שאינו בשימוש כדי שלא יוקצה לשום דבר אחר, ויש שרתים שמחזירים אותו כבדיחה, אך אין לו משמעות תקנית.
מה מקורו של 499?
499 הוא קוד ייחודי ל-nginx. הוא מופיע ביומני nginx כאשר הלקוח סוגר את החיבור לפני שהשרת שולח תגובה. הלקוח לעולם לא מקבל 499; בדרך כלל הוא מעיד על תגובות איטיות או על פסקי זמן בצד הלקוח.
האם מנועי חיפוש מתייחסים ל-302 כמו ל-301?
302 מסמן מעבר זמני, ולכן מנועי חיפוש בדרך כלל משאירים את ה-URL המקורי באינדקס בהתחלה. אם 302 נשאר בשימוש זמן רב, Google עשויה להתייחס אליו כאל הפניה קבועה. השתמשו ב-301 או ב-308 למעברים קבועים.
פרטיות
הרשימה היא חלק מהדף. החיפוש והסינון מתבצעים בדפדפן שלכם; מונחי החיפוש שלכם אינם נשלחים לשום מקום ואינם נכללים בניתוחי נתונים.