tigtools

קודי סטטוס HTTP

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

פועל בדפדפן שלך ללא הרשמה

מוצגים 79 קודים

  • 100 Continue

    השרת קיבל את כותרות הבקשה והלקוח רשאי לשלוח את גוף הבקשה. מופיע כאשר הלקוח שולח "Expect: 100-continue" לפני העלאת גוף גדול.

    מוגדר ב-RFC 9110

  • 101 Switching Protocols

    השרת מסכים לעבור לפרוטוקול שהלקוח ביקש בכותרת Upgrade. מופיע כאשר חיבור משודרג ל-WebSocket.

    מוגדר ב-RFC 9110

  • 102 Processing

    מיושן או לא בשימוש

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

    מוגדר ב-RFC 2518

  • 103 Early Hints

    נשלח לפני התשובה הסופית כך שהדפדפן יוכל להתחיל לטעון מראש משאבים הרשומים בכותרות Link. משמש CDNs ושרתים כדי לזרז טעינת דפים.

    מוגדר ב-RFC 8297

  • 200 OK

    הבקשה הצליחה והתשובה מכילה את התוצאה. זוהי התשובה הרגילה לטעינת דף או לקריאת API מוצלחת.

    מוגדר ב-RFC 9110

  • 201 Created

    הבקשה הצליחה ונוצר משאב חדש, בדרך כלל מזוהה על ידי כותרת Location. אופייני לאחר בקשת POST מוצלחת שיוצרת רשומה.

    מוגדר ב-RFC 9110

  • 202 Accepted

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

    מוגדר ב-RFC 9110

  • 203 Non-Authoritative Information

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

    מוגדר ב-RFC 9110

  • 204 No Content

    הבקשה הצליחה ואין תוכן להחזיר. נפוץ עבור בקשות DELETE ולשמירת נתונים כאשר הלקוח אינו זקוק לגוף תשובה.

    מוגדר ב-RFC 9110

  • 205 Reset Content

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

    מוגדר ב-RFC 9110

  • 206 Partial Content

    השרת מחזיר רק את טווח הבתים שהלקוח ביקש. מופיע בעת הזרמת וידאו, חידוש הורדות או כאשר לקוח שולח כותרת Range.

    מוגדר ב-RFC 9110

  • 207 Multi-Status

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

    מוגדר ב-RFC 4918

  • 208 Already Reported

    משמש בתוך תשובת WebDAV 207 כדי להימנע מלרשום שוב את אותם חברי משאב קשור.

    מוגדר ב-RFC 5842

  • 226 IM Used

    השרת החיל מניפולציות מופע (כגון קידוד דלתא) על המשאב הנוכחי. נדיר מאוד לראות.

    מוגדר ב-RFC 3229

  • 300 Multiple Choices

    למשאב יש מספר ייצוגים ועל הלקוח לבחור אחד. נדיר בשימוש בפועל.

    מוגדר ב-RFC 9110

  • 301 Moved Permanently

    המשאב עבר לצמיתות לכתובת ה-URL שבכותרת Location. דפדפנים ומנועי חיפוש מעדכנים את הקישורים שלהם; חלק מהלקוחות משנים POST ל-GET כאשר הם עוקבים אחריה.

    מוגדר ב-RFC 9110

  • 302 Found

    המשאב נמצא זמנית בכתובת URL אחרת המופיעה בכותרת Location. נפוץ אחרי התחברות ולהפניות זמניות; דפדפנים בדרך כלל עוקבים אחריה עם GET.

    מוגדר ב-RFC 9110

  • 303 See Other

    על הלקוח להביא את התוצאה מכתובת URL אחרת באמצעות GET. משמש אחרי שליחת טופס ב-POST כדי להפנות לדף אישור (תבנית Post/Redirect/Get).

    מוגדר ב-RFC 9110

  • 304 Not Modified

    העותק השמור במטמון עדיין תקף, ולכן השרת שולח תשובה ללא גוף. נראה כאשר דפדפן מאמת מחדש קובץ במטמון עם If-None-Match או If-Modified-Since.

    מוגדר ב-RFC 9110

  • 305 Use Proxy

    מיושן או לא בשימוש

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

    מוגדר ב-RFC 9110

  • 306 (Unused)

    מיושן או לא בשימוש

    שמור. היה בשימוש בטיוטה מוקדמת של HTTP/1.1 וכבר אינו בשימוש.

    מוגדר ב-RFC 9110

  • 307 Temporary Redirect

    המשאב נמצא זמנית בכתובת URL אחרת, ועל הלקוח לחזור על הבקשה באותה שיטה ובאותו גוף. משמש גם בדפדפנים להפניות HSTS פנימיות ל-HTTPS.

    מוגדר ב-RFC 9110

  • 308 Permanent Redirect

    המשאב עבר לצמיתות לכתובת URL חדשה, ועל הלקוח להשתמש באותה שיטה ובאותו גוף בכתובת החדשה. המקבילה הקבועה של 307, בטוחה להפניית בקשות POST.

    מוגדר ב-RFC 9110

  • 400 Bad Request

    השרת אינו יכול לעבד את הבקשה מפני שהיא פגומה, למשל JSON לא תקין, פרמטר query שגוי או cookie פגום.

    מוגדר ב-RFC 9110

  • 401 Unauthorized

    לבקשה חסרים אישורי אימות תקפים. למרות השם, המשמעות היא "לא מאומת"; השרת שולח כותרת WWW-Authenticate המתארת כיצד להתחבר.

    מוגדר ב-RFC 9110

  • 402 Payment Required

    שמור לשימוש עתידי במפרט HTTP. חלק מה-API ושירותי התשלום משתמשים בו כשנדרש תשלום או מינוי.

    מוגדר ב-RFC 9110

  • 403 Forbidden

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

    מוגדר ב-RFC 9110

  • 404 Not Found

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

    מוגדר ב-RFC 9110

  • 405 Method Not Allowed

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

    מוגדר ב-RFC 9110

  • 406 Not Acceptable

    השרת אינו יכול להפיק תשובה באף אחד מהפורמטים הרשומים בכותרות Accept של הלקוח.

    מוגדר ב-RFC 9110

  • 407 Proxy Authentication Required

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

    מוגדר ב-RFC 9110

  • 408 Request Timeout

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

    מוגדר ב-RFC 9110

  • 409 Conflict

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

    מוגדר ב-RFC 9110

  • 410 Gone

    המשאב הוסר לצמיתות ולא ישוב. בניגוד ל־404, הוא מאותת למנועי חיפוש להסיר את כתובת ה־URL מהר יותר.

    מוגדר ב-RFC 9110

  • 411 Length Required

    השרת דורש כותרת Content-Length והבקשה לא כללה אחת.

    מוגדר ב-RFC 9110

  • 412 Precondition Failed

    תנאי בכותרת הבקשה, כמו If-Match, לא התקיים. משמש למניעת דריסה של משאב שהשתנה מאז שהלקוח קרא אותו לאחרונה.

    מוגדר ב-RFC 9110

  • 413 Content Too Large

    גוף הבקשה גדול ממה שהשרת מוכן לקבל. מופיע למשל כשמעלים קובץ מעל מגבלה כמו client_max_body_size של nginx.

    מוגדר ב-RFC 9110

  • 414 URI Too Long

    כתובת ה־URL ארוכה יותר ממה שהשרת מוכן לעבד. נגרם בדרך כלל מטופס ששולח יותר מדי נתונים ב־GET או מלולאת הפניות שמוסיפה פרמטרים שוב ושוב.

    מוגדר ב-RFC 9110

  • 415 Unsupported Media Type

    השרת אינו תומך בפורמט של גוף הבקשה, למשל שליחת XML לנקודת קצה שמצפה ל־application/json.

    מוגדר ב-RFC 9110

  • 416 Range Not Satisfiable

    טווח הבתים שהתבקש בכותרת Range נמצא מחוץ לגודל המשאב.

    מוגדר ב-RFC 9110

  • 417 Expectation Failed

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

    מוגדר ב-RFC 9110

  • 418 I'm a teapot

    בדיחת אחד באפריל מפרוטוקול Hyper Text Coffee Pot Control Protocol משנת 1998: קומקום שמסרב להכין קפה. HTTP שומר את הקוד כלא בשימוש, אך חלק מהשרתים מחזירים אותו כהפתעה נסתרת או כדי לדחות בוטים לא רצויים.

    מוגדר ב-RFC 2324 / RFC 9110 (Unused)

  • 419 Page Expired

    לא תקני

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

    מוגדר ב-Laravel

  • 420 Enhance Your Calm

    לא תקני

    אינו קוד תקני. ה־API הישן של Twitter השתמש בו להגבלת קצב; הקוד התקני לכך הוא 429.

    מוגדר ב-Twitter API v1

  • 421 Misdirected Request

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

    מוגדר ב-RFC 9110

  • 422 Unprocessable Content

    הבקשה תקינה מבחינת תחביר אך התוכן שלה אינו חוקי, למשל טופס שלא עבר את כללי האימות. נמצא בשימוש נרחב ב־API לשגיאות אימות.

    מוגדר ב-RFC 9110

  • 423 Locked

    משאב ה־WebDAV נעול ולא ניתן לשנותו.

    מוגדר ב-RFC 4918

  • 424 Failed Dependency

    בקשת ה־WebDAV נכשלה כי פעולה אחרת שהיא הייתה תלויה בה נכשלה.

    מוגדר ב-RFC 4918

  • 425 Too Early

    השרת לא יעבד בקשה שעלולה להיות משודרת מחדש, כמו בקשה שנשלחה ב־early data של TLS 1.3.

    מוגדר ב-RFC 8470

  • 426 Upgrade Required

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

    מוגדר ב-RFC 9110

  • 428 Precondition Required

    השרת דורש בקשה מותנית (למשל עם If-Match) כדי למנוע אובדן עדכונים.

    מוגדר ב-RFC 6585

  • 429 Too Many Requests

    הלקוח שלח יותר מדי בקשות בפרק זמן נתון. APIs משתמשים בו להגבלת קצב ולעיתים כוללים כותרת Retry-After שמציינת מתי לנסות שוב.

    מוגדר ב-RFC 6585

  • 431 Request Header Fields Too Large

    כותרות הבקשה גדולות מדי, לרוב בגלל יותר מדי עוגיות או עוגיות גדולות מדי. ניקוי העוגיות של האתר בדרך כלל פותר את זה.

    מוגדר ב-RFC 6585

  • 444 No Response

    לא תקני

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

    מוגדר ב-nginx

  • 451 Unavailable For Legal Reasons

    המשאב אינו זמין מסיבות משפטיות, כגון צו בית משפט או צנזורה ממשלתית. המספר מתייחס לרומן פרנהייט 451.

    מוגדר ב-RFC 7725

  • 494 Request Header Too Large

    לא תקני

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

    מוגדר ב-nginx

  • 495 SSL Certificate Error

    לא תקני

    לא קוד סטנדרטי. nginx מחזיר אותו כאשר תעודת לקוח נכשלת באימות.

    מוגדר ב-nginx

  • 496 SSL Certificate Required

    לא תקני

    לא קוד סטנדרטי. nginx מחזיר אותו כאשר לא סופקה תעודת לקוח נדרשת.

    מוגדר ב-nginx

  • 497 HTTP Request Sent to HTTPS Port

    לא תקני

    לא קוד סטנדרטי. nginx מחזיר אותו כאשר בקשת HTTP רגילה נשלחת לפורט המוגדר עבור HTTPS.

    מוגדר ב-nginx

  • 499 Client Closed Request

    לא תקני

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

    מוגדר ב-nginx

  • 500 Internal Server Error

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

    מוגדר ב-RFC 9110

  • 501 Not Implemented

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

    מוגדר ב-RFC 9110

  • 502 Bad Gateway

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

    מוגדר ב-RFC 9110

  • 503 Service Unavailable

    השרת אינו מסוגל זמנית לטפל בבקשה מכיוון שהוא עמוס מדי או מושבת לצורך תחזוקה. כותרת Retry-After עשויה לציין מתי לנסות שוב.

    מוגדר ב-RFC 9110

  • 504 Gateway Timeout

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

    מוגדר ב-RFC 9110

  • 505 HTTP Version Not Supported

    השרת אינו תומך בגרסת ה-HTTP שבה נעשה שימוש בבקשה.

    מוגדר ב-RFC 9110

  • 506 Variant Also Negotiates

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

    מוגדר ב-RFC 2295

  • 507 Insufficient Storage

    השרת אינו יכול לאחסן את מה שנדרש להשלמת הבקשה, למשל דיסק מלא בשרת WebDAV.

    מוגדר ב-RFC 4918

  • 508 Loop Detected

    השרת עצר פעולת WebDAV מכיוון שזיהה לולאה אינסופית.

    מוגדר ב-RFC 5842

  • 509 Bandwidth Limit Exceeded

    לא תקני

    לא קוד סטנדרטי. בשימוש על ידי חלק מתצורות האחסון המשותף (מודולי Apache, cPanel) כאשר אתר חורג ממכסת רוחב הפס שלו.

    מוגדר ב-Apache / cPanel

  • 510 Not Extended

    מיושן או לא בשימוש

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

    מוגדר ב-RFC 2774

  • 511 Network Authentication Required

    הלקוח חייב לבצע אימות כדי לקבל גישה לרשת. נשלח על ידי פורטלים קפטיביים ברשתות Wi-Fi של מלונות, נמלי תעופה או בתי קפה לפני ההתחברות.

    מוגדר ב-RFC 6585

  • 520 Web Server Returned an Unknown Error

    לא תקני

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

    מוגדר ב-Cloudflare

  • 521 Web Server Is Down

    לא תקני

    קוד לא תקני. Cloudflare מחזיר אותו כאשר שרת המקור סירב לחיבור, בדרך כלל מכיוון ששרת האינטרנט מושבת או חוסם את כתובות ה-IP של Cloudflare.

    מוגדר ב-Cloudflare

  • 522 Connection Timed Out

    לא תקני

    קוד לא תקני. Cloudflare מחזיר אותו כאשר פג הזמן הקצוב של חיבור ה-TCP לשרת המקור.

    מוגדר ב-Cloudflare

  • 523 Origin Is Unreachable

    לא תקני

    קוד לא תקני. Cloudflare מחזיר אותו כאשר הוא אינו יכול להגיע לשרת המקור, למשל בשל בעיית DNS או ניתוב.

    מוגדר ב-Cloudflare

  • 524 A Timeout Occurred

    לא תקני

    קוד לא תקני. Cloudflare מחזיר אותו כאשר הוא התחבר לשרת המקור אך לא קיבל תגובת HTTP בתוך הזמן הקצוב (100 שניות כברירת מחדל).

    מוגדר ב-Cloudflare

  • 525 SSL Handshake Failed

    לא תקני

    קוד לא תקני. Cloudflare מחזיר אותו כאשר לחיצת היד של SSL/TLS עם שרת המקור נכשלה.

    מוגדר ב-Cloudflare

  • 526 Invalid SSL Certificate

    לא תקני

    קוד לא תקני. Cloudflare מחזיר אותו כאשר אישור ה-SSL של שרת המקור אינו תקף ומצב ה-SSL Full (strict) מופעל.

    מוגדר ב-Cloudflare

איך להשתמש בו

  1. הקלידו מספר קוד (למשל 404 או רק 5 לכל שגיאות השרת) או מילת מפתח כמו "redirect" או "timeout".
  2. צמצמו את הרשימה בעזרת מסנן המחלקה: מידע, הצלחה, הפניה, שגיאת לקוח או שגיאת שרת.
  3. השתמשו ב"העתק קישור" בכל קוד כדי לשתף קישור ישיר אליו, למשל בדוח באג.

איך זה עובד

כל תגובת 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 למעברים קבועים.

פרטיות

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