Помилка HTTP 500 - Внутрішня помилка сервера, пояснена простою англійською мовою

Коди помилок у діапазоні 4xx означають, що ви або ваш браузер зробили щось не так. Можливо, ви не входили в систему, намагалися отримати доступ до того, на що у вас не було дозволу, або просто загубилися.

Однак коди помилок у діапазоні 5xx означають, що помилка повністю не в ваших руках (якщо ви не розробник / адміністратор сервера). Можливо, другий * найбільш розчарувальний код помилки, який ви коли-небудь натрапили в Інтернеті, - страшний 500.

Що це означає?

Простіше кажучи, сервер намагався щось зробити і не вдався.

Відповідно до RFC 7231:

Код стану 500 (Внутрішня помилка сервера) вказує на те, що сервер зіткнувся з несподіваною умовою, яка заважала йому виконати запит.

Причиною цього може бути що завгодно, насправді!

Уявімо, ви отримуєте доступ до веб-сайту за допомогою PHP API Laravel для його задньої частини.

Викликання помилки 500 може бути чимось таким простим, як помилкова error_logспроба зареєструвати масив замість рядка - щось абсолютно не пов’язане з вашим запитом, але тим не менше помилка, яку PHP викине та вб’є запит, який ви зробили на сервер.

Зазвичай щось таке тривіальне, як те, що потрапляє до розгортання (сподіваємось), але це лише показує, що як користувач веб-сайту чи програми помилка справді не в ваших руках.

Як це виправити?

Як користувач без доступу до сервера, ви дійсно маєте лише можливість:

Повідомте власника сайту, що повертається 500, коли ви очікуєте іншого

Якщо ви повністю очікуєте, що зможете отримати доступ до відповідного ресурсу, але ви бачите цю помилку, розумно повідомити команду, яка стоїть за цим сайтом.

Спробуйте надати розробникам / команді підтримки якомога більше інформації про те, що ви намагалися зробити, щоб вони могли швидко повторити проблему, щоб відстежити помилку.

Якщо ви відчуваєте особливу користь або цікавість, можливо, ви зможете розшукати більше підказок на вкладці мережі інструментів розробника для вашого браузера.

У Firefox ви можете відкрити вкладку мережі за допомогою клавіш швидкого доступу ctrl + shift + E. У Chrome ви можете відкрити інструменти розробника за допомогою, ctrl + shift + Iа потім вибрати вкладку мережі.

Відкривши цю вкладку, повторіть спробу запиту та знайдіть у виведенні мережі код повернення 500. Іноді ви можете побачити дещо докладнішу відповідь сервера, що описує проблему, з якою ви зіткнулися. Ви можете надати цю інформацію розробникам, щоб пришвидшити вирішення проблеми.

Якщо ви розробник, то вам потрібно вишукати помилку та виправити її! Це може бути що завгодно, тому я не можу сказати вам, як це зробити. Але якщо ви новачок у розробці, я рекомендую спочатку шукати в журналах сервера підказки, якщо ще не очевидно, в чому проблема.

Сидіть тісно

Повідомивши про проблему, ви зробили все, що можете розумно.

* Вам цікаво, який найбільш неприємний код помилки можна зустріти в дикій природі? 418: Я чайник. Якщо ви стикаєтеся з цим як із фактичною помилкою, це означає, що розробник доклав зусиль, щоб застосувати це як відповідь на помилку, але це жарт і не дає вам інформації. Буває.

Якщо ви обіцяєте ніколи не повертати 418 у відповідь на реальну помилку на стороні клієнта, тоді ви можете підтримувати зв’язок зі мною у Twitter @JacksonBates.