קודי מצב HTTP: כל קוד אפשרי מופיע ברשימה

גילוי נאות: התמיכה שלך עוזרת להפעיל את האתר! אנו מרוויחים דמי הפניה עבור חלק מהשירותים שאנו ממליצים עליהם בדף זה.


Contents

יסודות קוד של מצב HTTP

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

מחפש קוד ספציפי? עיין בתוכן העניינים מימין!

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

אבל מדי פעם אנו נתקלים בשגיאה. אנו מקבלים דף 404 Not Found חכם עם תמונה מצחיקה בו. לחלופין, אנו מקבלים דף ריק עם פתק מדפדפן שלנו המספר לנו על שגיאה 501 לא ידועה.

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

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

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

כיצד מתקנים שגיאות HTTP? כיצד נמנעים משגיאות HTTP? מה המשמעות של כל קודי הסטטוס האלה HTTP, אפילו?

זה מה שמכסה מדריך זה, יחד עם מידע על:

  • קודי סטטוס HTTP טובים (אלה שאתה בדרך כלל לא רואה)
  • קודי מצב HTTP שימושיים
  • באיזה סוג הפניות אתה צריך להשתמש (ומדוע).

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

בקשות ותגובות HTTP

HTTP מייצג את “פרוטוקול העברת HyperText.”

מה זה פרוטוקול?

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

זה פרוטוקול.

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

לפעמים פרוטוקול מאוד נוקשה ומוגדר:

  • לעלות על ספינה:
    • דגל הצדעה
    • קצין הצדעה בתפקיד
    • בקש רשות לעלות.

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

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

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

הכללים לאופן שבו דפדפן האינטרנט של המחשב המקומי שלך מתקשר עם שרת האינטרנט שמארח את האתר שאתה מנסה לבדוק הוא HTTP (HyperText Transfer Protocol).

מדוע אנו מעבירים את HyperText?

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

איזה סוג של מסמכים? מסמכי היפרטקסט.

משמעות ההיפרקסט היא שהמסמכים מקשרים זה לזה עם “היפר-קישורים”. היום אנחנו פשוט קוראים להם “קישורים” ישנים-רגילים – הם כל כך רגילים עכשיו שאנחנו כבר לא קוראים להם “היפר”.

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

השפה ליצירת מסמכים אלה? שפת סימון היפר-טקסט (HTML). והפרוטוקול לבקשה ולקבלת מסמכים אלה? HTTP.

אז HTTP הוא …

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

בקשת HTTP

לכן, כאשר אתה מקליד כתובת, לחץ על קישור או פותח דף אינטרנט אחר, הדפדפן שלך שולח בקשה לשרת אחר.

יעד הבקשה מוגדר על ידי כתובת האתר ומערכת ה- DNS. מערכת ה- DNS היא נושא ליום אחר, אך בעיקרון – ה- DNS הוא פנקס כתובות התואם שמות מתחם לכתובות IP ספציפיות של מחשב..

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

  • סוג הבקשה. השניים הנפוצים ביותר הם:
    • GET – “אנא שלח לי את המשאב הזה.”
    • POST – “הנה כמה נתונים לעיבוד.”
  • שדות כותרות – שדות מטא נתונים אופציונליים המשמשים כדי לספר לשרת על הלקוח (איזה סוג דפדפן, למשל).
  • גוף – הנתונים שנשלחו על ידי הלקוח (לשימוש עם POST).

השרת מקבל את הבקשה הזו (לאחר עיבוד מסוים) שולח תגובה.

תגובת HTTP

השורה הראשונה מאוד של תגובה היא סטטוס HTTP.

בשורת המצב שני חלקים, קוד מספר (כמו 200) והסבר טקסט (כמו הצלחה).

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

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

כשדברים לא מסתדרים כל כך טוב, ייתכן שתראה הודעה על הסטטוס. בדרך כלל זה קורה כשאתה מקבל משהו כמו קוד 404 או 501. אלה קודי שגיאה. משהו השתבש.

תגובות עם קוד שגיאה 404 או 501 לא חוזרות עם המשאב שביקשת. לפעמים הם חוזרים עם משאב אחר (כמו עמוד 404 החכם). לפעמים אין משאב כלל (זה כאשר אתה מקבל את הדף הריק של הדפדפן ואת הודעת השגיאה המוגדרת כברירת מחדל)..

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

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

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

שיעורי קוד סטטוס

בטח שמתם לב שכל קודי הסטטוס הם מספרים תלת ספרתיים. האם שמת לב שהספרה הראשונה היא תמיד בין 1 ל -5?

קודי סטטוס מקובצים לחמש “שיעורים” של קודים. שגיאת ה- 404: Not Found היא חלק מקבוצת הסטטוסים של 400 (או לפעמים 4xx). כל כיתה כוללת מגוון מסוים של סוגיות או מצבים.

  • 1xx – מידע – אלה תגובות זמניות המיועדות לשימוש בזמן שהשרת ממשיך לעבד את הבקשה. לעתים רחוקות משתמשים בהן.
  • 2xx – הצלחה – קודים המשמשים כשדברים עובדים כמו שהם אמורים. קודי הצלחה שונים מוחזרים על סמך מה שבאופן ספציפי, הבקשה ניסתה לעשות.
  • 3xx – ניתוב מחדש – קודים המשמשים להגיד ללקוח לחפש את המשאב המבוקש במקום אחר.
  • 4xx – שגיאת לקוח – קודים אלה אומרים ללקוח שהוא עשה משהו לא בסדר.
  • 5xx – שגיאת שרת – קוד למשהו בשרת אינו פועל כצפוי.

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

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

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

קוד סטטוס HTTP 1xx – מידע

ידע הוא כוח. המידע משחרר.

– קופי אנאן

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

הם הוצגו ב- HTTP / 1.1, כך שדפדפנים מוקדמים המיישמים HTTP / 1.0 אינם יכולים להתמודד איתם, ושרתים לא צריכים לסיים קודי 1xx במקרים אלה.

HTTP 100 המשך

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

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

במקרים אלה הלקוח (הדפדפן) עשוי לשלוח את הבקשה הראשונית עם כותרת הכוללת Expect: 100-continue.

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

אם הכל לא מסתדר, השרת ישלח בחזרה את הציפוי 417 נכשל.

פרוטוקולי מיתוג של HTTP 101

לקוח יכול לבקש משרת לעבור פרוטוקולים, למשל מ- HTTP / 1.1 ל- HTTP / 2.0.

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

עיבוד HTTP 102

קוד זה משמש רק עם WebDAV שהוא הרחבה של HTTP המספק יכולת מניפולציה של קבצים, דומה במקצת ל- FTP (אם כי שונה מאוד ביישום בפועל).

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

קוד סטטוס HTTP 2xx – הצלחה

כל מה שאתה צריך בחיים האלה זה בורות וביטחון ואז ההצלחה בטוחה.

-מרק טווין

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

רבים מהקודים הללו אף פעם לא משתמשים, או לעיתים רחוקות, או אפילו מיושמים.

HTTP 200 אישור

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

כאשר הבקשה היא GET (מבקש משאב), התגובה תכלול את המשאב. כאשר הבקשה היא POST (או סוג אחר), התגובה תכיל משאב המתאר או מכיל את תוצאת הפעולה.

HTTP 201 נוצר

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

HTTP 202 התקבל

הבקשה התקבלה, אך לא ננקטה. יתכן וייתכן שלא יפעלו בבקשה.

מידע HTTP 203 שאינו סמכותי

התגובה מכילה את המשאב המבוקש, אך יתכן שהמשאב הושג ממקור אחר, ולכן יכול להיות שאינו אמין – השרת אינו מתחייב לתוקף או לאותנטיות של המשאב..

HTTP 204 ללא תוכן

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

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

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

HTTP 205 איפוס תוכן

תגובת 205 דומה ל- 204, אך סוכן המשתמש אמור לרענן את תצוגתו חזרה למצב ברירת המחדל של המסמך הנוכחי.

HTTP 206 תוכן חלקי

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

זה מתרחש כאשר משאב גדול מספיק, או שהחיבור לא אמין מספיק, כי סוכן המשתמש רוצה לפצל את המשאב לסדרה של בקשות “חתוכות”, כפי שמוצג:

  • לקוח: תן לי את הרבע הראשון.
    • שרת: 206 תוכן חלקי
  • לקוח: תן לי את השני

    1/4.

    • שרת: 206 תוכן חלקי.
  • וכן הלאה…
    • …וכן הלאה.

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

HTTP 207 רב סטטוס

כמו 103, זה משמש רק עם WebDAV.

לבקשת WebDAV יכולות להיות מספר בקשות משנה, שלכל אחת מעמד ותגובה משלה. סטטוס 207 מציין שגוף התגובה יכלול מסמך XML המפרט את הסטטוס והתגובות של כל בקשת משנה..

HTTP 208 כבר דווח

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

HTTP 226 IM בשימוש

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

קוד סטטוס HTTP 3xx – הפניה מחדש

בכל פעם שתוותרו על משהו, עליכם להחליף אותו במשהו.

– לו הולץ

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

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

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

HTTP 300 אפשרויות מרובות

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

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

HTTP 301 הועבר לצמיתות

סטטוס זה מציין כי המשאב שינה את כתובת האתר לצמיתות.

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

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

באופן כללי, אם אתה מגדיר הפניות מחדש בגלל שינוי שם הדומיין של מבנה ה- URL, עליך להשתמש ב 301: הועבר להפניות מחדש לצמיתות.

ניתן להגדיר את אלה בקובץ .htaccess או httpd.conf בשרת שלך, או לעיתים קרובות במערכת ניהול התוכן שלך. (לדוגמה, ישנם כמה תוספי וורדפרס לניהול הפניות מחדש של 301.)

כאשר מתכננים אתר מחדש ומשנים מבנה URL, חשוב מאוד להגדיר הפניה מחדש של 301 לכל URL מהאתר המקורי. כישלון בכך יביא קישורים שבורים ומבקרים מאוכזבים.

HTTP 302 נמצא

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

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

כדי לנסות ולהבהיר את המצב, המפרט המעודכן HTTP / 1.1 הוסיף שני קודי סטטוס נוספים, 303 ו- 307.

302 נמצאה הייתה אמורה לחקות את התנהגות “המעבר להתפתחות GET” אשר יושמה, בעוד 307 הפניה מחדש זמנית נועדה להחליף את ההתנהגות המקורית הצפויה 302.

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

מאוחר יותר מפרטי HTTP שנרתמו לתרגול רגיל, ומאפשר לדפדפנים לשכתב בקשות POST לבקשות GET.

התוצאה של כל זה היא שאם אתה משתמש בהפניה מחדש של 302 בכתובת URL שהייתה אמורה לקבל נתוני POST, סביר להניח כי הנתונים לא ייכללו בבקשה השנייה.

מסיבה זו, יש להשתמש ב- 302 רק בכתובות URL המקבלות נתוני POST (טפסים באינטרנט) אם השרת יכול לאשר את הנתונים שהוגשו בכתובת האתר המקורית, ולהשתמש בהפניה מחדש בכדי למסור דף לאחר קבלת הנתונים..

כל זה, בפועל, הופך את 303 למיותרים.

באופן כללי אין להשתמש בניתוב מחדש של 302

HTTP 303 ראה אחר

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

HTTP 304 לא שונה

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

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

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

HTTP 305 השתמש בפרוקסי

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

פרוטוקול החלפת HTTP 306

מצב 306 פירושו במקור “בקשות עוקבות צריכות להשתמש בפרוקסי שצוין.” הוא אינו בשימוש עוד.

הפניה זמנית HTTP 307

סטטוס זה נוצר כדי לשכפל את הכוונה המקורית של סטטוס 302 (ראה לעיל).

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

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

הפניה קבועה HTTP 308

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

בדומה ל- 307 ו- 302, סטטוס זה משכפל את הפונקציונליות שצוינה במפרט המקורי של 301. עם זאת, עם 308 (כמו עם 307) הבקשה השנייה צריכה להיות זהה לבקשה המקורית – באותה שיטה ומכילה אותם נתונים.

HTTP 308 קורות חיים לא שלמים

קוד סטטוס זה נוצר ומשמש את Google. זהו חלק מההצעה לבקשות HTTP לחידוש, ומשמש לחידוש בקשות PUT או POST שבוטלו..

קוד סטטוס HTTP 4xx – שגיאת לקוח

כל אחד יכול לטעות, אך רק אידיוט ממשיך לטעות.

—מרקוס טוליוס סיקרו

מבין חמש המעמדות של קודי מצב HTTP, רק שניים מהם הם באמת “קודי שגיאה”, שיעורי 4xx ו- 5xx.

סדרת 4xx של שגיאות HTTP מיועדת לשימוש כאשר נראה כי השגיאה מגיעה מהלקוח – כלומר, יש משהו לא בסדר בבקשה.

יחד עם מצב השגיאה ומידע כותרות אחר, שרתים מספקים לרוב תשובה מלאה (המכונה “ישות” במקום “משאב”, אך אחרת זהה) אשר אמור להיות מוצג למשתמש.

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

בקשה רעה של HTTP 400

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

HTTP 401 לא מורשה

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

HTTP 402 נדרש תשלום

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

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

YouTube משתמש בסטטוס זה אם הם מקבלים יותר מדי בקשות מכתובת IP יחידה. התגובה מחייבת CAPTCHA כדי לאמת שהמשתמש הוא אדם.

HTTP 403 אסור

בדומה ל- 401, המשמעות היא שהבקשה הייתה תקפה, אך השרת לא יגיב לה מכיוון שהמשתמש אינו מורשה להציג את המשאב. שלא כמו שגיאה 401: שגיאה לא מורשית, אימות לא משנה.

HTTP 404 לא נמצא

זוהי שגיאת המחלקה הנפוצה ביותר של 4xx ואולי מצב HTTP הנפוץ ביותר עבור המשתמש הממוצע.

404 מוחזר אם הבקשה תקפה, אך המשאב המבוקש פשוט לא ניתן למצוא בשרת.

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

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

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

למרות ששגיאות 4xx הן טכניות “שגיאות לקוח”, לעתים קרובות שגיאת 404 היא תוצאה של קישורים מתים – כתובות URL שהיו בעבר תוכן אך כעת השתנו.

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

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

שיטת HTTP 405 אסורה

משתמשים בזה כאשר הבקשה מעוצבת היטב והמשאב שהיא מבקשת קיים, אך שיטת הבקשה (כמו GET או POST) אינה מתאימה למשאב.

לדוגמה, יש לגשת לכתובת אתר שקיבלה נתוני טופס באמצעות בקשת POST. בקשת GET עשויה לגרום לתגובה 405: שיטה אסורה. שימוש ב- PUT במשאב לקריאה בלבד עלול לגרום גם לתגובה כזו.

HTTP 406 לא מקובל

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

אם המשאב המבוקש הוא מסוג שאינו תואם את הסוגים / ים המופיעים בכותרת קבל של הבקשה, השרת יחזיר את השגיאה 406: לא מקובלת.

דרוש אימות פרוקסי HTTP 407

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

HTTP 408 בקשה לפסק זמן

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

מהמפרט:

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

סכסוך HTTP 409

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

HTTP 410 חלף

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

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

מרבית מקרי השימוש אינם דורשים זאת, וה- 404 הוא בדרך כלל שגיאה מתאימה יותר.

אורך HTTP 411 חובה

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

תנאי המוקד של HTTP 412 נכשל

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

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

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

HTTP 414 בקשת URI ארוך מדי

ה- URI (URL) שסופק היה ארוך מכדי שהשרת יעבד.

לעתים קרובות זה גורם כאשר מועברים כמות בלתי הולמת של נתונים בתוך כתובת האתר כמחרוזת שאילתה בבקשת GET. התרופה הרגילה היא להמיר את הבקשה ל POST ולהכניס את הנתונים לגוף הבקשה.

HTTP 415 סוג מדיה לא נתמך

זה בדרך כלל משמש להעלאת קבצים, כאשר ישות הבקשה (הקובץ המועלה) היא מסוג שאינו נתמך על ידי השרת.

טווח מבוקש HTTP 416 לא ניתן לשביעות רצון

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

HTTP 417 הציפייה נכשלה

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

הכותרת הצפויה נפוצה בדרך כלל לבקש מהשרת 100 סטטוס המשך.

HTTP 418 אני קומקום

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

פסק זמן לאימות HTTP 419

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

כשל בשיטת HTTP 420 (מסגרת אביב)

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

HTTP 420 שפר את הרוגע שלך (טוויטר)

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

המצב הסטנדרטי יותר למצב כזה הוא 429: יותר מדי בקשות.

HTTP 421 בקשה לא מכוונת

סטטוס זה הוצג ב- HTTP / 2. הוא משמש כאשר הבקשה הופנתה לשרת שאינו מסוגל כעת לספק תגובה.

HTTP 422 ישויות לא מעובדות

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

HTTP 423 נעול

משמש עם WedDAV. המשמעות היא שהמשאב המבוקש נעול.

תלות נכשלה ב- HTTP 424

משמש עם WebDav. הבקשה נכשלה מכיוון שבקשה קודמת, שהבקשה הנוכחית תלויה בה נכשלה.

שדרוג HTTP 426 חובה

על הלקוח לעבור לפרוטוקול אחר, כמפורט בכותרת השדרוג.

תנאי מוקדם HTTP 428 חובה

זה משמש כאשר השרת דורש שהבקשה תותנה.

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

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

HTTP 429 יותר מדי בקשות

הלקוח (בדרך כלל כפי שהוגדר על ידי כתובת IP) שלח יותר מדי בקשות בפרק זמן מוגדר.

HTTP 431 בקש שדות כותרת גדולים מדי

זה מוחזר כאשר שדה כותרת בודד, או כולם ביחד, גדול מכדי שהשרת יעבוד.

פסק זמן להתחברות HTTP 440 (Microsoft)

לא חלק מהתקן, אלא משמש מיקרוסופט. מציין שהפגישה פגה.

HTTP 444 אין תגובה (Nginx)

לא חלק מהתקן. לא ממש מצב תגובה כפי שהיה בשימוש.

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

HTTP 449 נסה שוב עם (Microsoft)

לא חלק מהתקן, אלא משמש מיקרוסופט.

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

HTTP 450 חסום על ידי בקרת הורים של Windows (Microsoft)

לא חלק מהתקן, אלא משמש מיקרוסופט.

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

HTTP 451 לא זמין מסיבות משפטיות (טיוטה)

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

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

הפניה מחדש של HTTP 451 (Microsoft)

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

HTTP 494 בקשת כותרת גדולה מדי (Nginx)

לא חלק מהתקן, אך שימש את Nginx. הוצא משימוש כעת.

משמעות זו הייתה כמו 431, אך הוצגה לפני שמעמד זה היה חלק מתקן HTTP.

שגיאת HTTP 495 Cert (Nginx)

לא חלק מהתקן. לא למעשה מצב תגובה כפי שהיה בשימוש, אך מופיע ביומני Nginx כאשר מתרחשת שגיאת אישור לקוח SSL.

HTTP 496 ללא Cert (Nginx)

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

HTTP 497 HTTP ל- HTTPS (Nginx)

לא חלק מהתקן. לא ממש מצב תגובה כפי שהיה בשימוש, אך מופיע ביומני Nginx כאשר בקשות HTTP רגילות נשלחות ליציאת HTTPS.

HTTP 498 אסימון פג / לא תקף (Esri)

הוחזר על ידי ArcGIS לשרת. קוד 498 מציין אסימון שפג תוקפו או לא תקף.

בקשה סגורה לקוח HTTP 499 (Nginx)

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

HTTP 499 אסימון חובה (Esri)

הוחזר על ידי ArcGIS לשרת. קוד 499 מציין שיש צורך באסימון (אם לא הוגש אסימון).

קוד מצב HTTP 5xx – שגיאת שרת

אני אכן נדהם כשאני שוקל עד כמה מוחי חלש וכמה נוטה לטעות.

-דקארט רנה

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

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

שגיאת שרת פנימית HTTP 500

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

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

כאשר מופקת שגיאה של 500, התבוננות ביומני השרת יכולה לעתים קרובות לעזור לקבוע מאיפה השגיאה באה. לעתים קרובות זה יכול להיות פשוט כמו שגיאות הקלדה בקובץ .htaccess.

HTTP 501 לא מיושם

זה מוחזר כאשר שיטת בקשת HTTP (כגון PUT או DELETE), שיטת ה- API במקרים מסוימים, טרם יושמה. זה משמש לממשקי API לשירותי אינטרנט. בדרך כלל, המשמעות של שגיאה 501 היא ששיטת הבקשה מתוכננת ליישום עתידי.

HTTP 502 Bad Gateway

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

שירות HTTP 503 לא זמין

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

ההשלכה של שגיאה 503 היא שההפסקה זמנית.

פסק זמן ל- HTTP 504

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

גרסת HTTP 505 HTTP אינה נתמכת

פירוש שגיאה זו השרת אינו תומך בגרסת פרוטוקול HTTP המשמשת בבקשה.

משתנה HTTP 506 גם משא ומתן

כדי להבין את שגיאת 506, עליכם להבין משא ומתן שקוף לתוכן.

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

שגיאת 506 מתרחשת כאשר משא ומתן על תוכן זה גורם לולאה. לדוגמא: למשאב A המבוקש שתי וריאציות – B ו- C. לשני אלה יש A כגרסה.

כדי לומר זאת בשפה טכנית יותר, המפרט מתאר את שגיאת 506 עם:

משא ומתן שקוף לתוכן לבקשה מביא להפניה מעגלית.

אחסון HTTP 507 לא מספיק (WebDAV; RFC 4918)

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

זיהוי לולאה HTTP 508

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

חריגה ממגבלת רוחב הפס של HTTP 509 (Apache)

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

HTTP 510 לא מורחב

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

נדרש אימות רשת HTTP 511

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

סטטוס זה נועד לשימוש בעת יירוט של פרוקסי המשמש לבקרת הגישה לרשת – כלומר “פורטלים שבורים” ששימשו לצורך דרישת התחברות או הסכם תנאי שירות לפני מתן גישה לאינטרנט דרך פורטל WiFi..

(אם ניסית אי פעם להתחבר לשדה תעופה או מלון, סביר להניח שנתקלת בשגיאה 511.)

שגיאה לא ידועה HTTP 520

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

HTTP 598 שגיאת פסק זמן לקריאת רשת (Microsoft)

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

HTTP 599 שגיאת פסק זמן לחיבור רשת (Microsoft)

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

משאבים

  • IANA: אתר האינטרנט של רשות המספרים המוקצים לאינטרנט.
  • רישום קוד מצב HTTP: דף IANA הרשמי עם קישורים ל- RFC עבור כל קוד.

לקריאה נוספת

יש לנו מדריכים נוספים, הדרכות ואינפוגרפיות הקשורים לפיתוח אתרים:

  • האם זה למטה? דפי סטטוס עבור 50 ספקי אירוח מובילים: אפילו השרתים הטובים ביותר יורדים מעת לעת. מאמר זה מספק רשימה של דפי סטטוס עבור 50 מחברות האירוח המובילות.
  • תכנות רשת עם שקעי אינטרנט: אם אתה רוצה ללמוד רשת ליבה קשה, זה המאמר שתתחיל.
  • הרשימה האולטימטיבית של כלי מנהלי האתרים A-Z: מקידוד לאירוח לשיווק, מאמר זה כולל את הכל.

מדריך אולטימטיבי לאירוח אתרים

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

מדריך אולטימטיבי לאירוח אתרים
מדריך אולטימטיבי לאירוח אתרים

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map