Проверяет понимание серверных ошибок HTTP и умение отличать их от клиентских, что важно для отладки API и веб-приложений.
HTTP-статус 500 (Internal Server Error) — это обобщённый ответ сервера, означающий, что при обработке запроса произошла непредвиденная ошибка, и сервер не смог вернуть корректный результат. В отличие от ошибок 4xx, которые указывают на проблему в запросе клиента, 5xx сигнализируют о проблемах на стороне сервера.
const express = require('express');
const app = express();
app.get('/user/:id', async (req, res) => {
try {
const user = await db.findUser(req.params.id);
if (!user) return res.status(404).json({ error: 'Not found' });
res.json(user);
} catch (err) {
console.error(err);
res.status(500).json({ error: 'Internal Server Error' });
}
});
app.listen(3000);Здесь при сбое базы данных клиент получит 500, а детали ошибки останутся в логах сервера. Это правильный подход: не раскрывать внутренние детали наружу.
Итог: статус 500 полезно возвращать как безопасный ответ при любых непредвиденных сбоях на сервере, а детали ошибки логировать отдельно — это помогает клиенту понять, что проблема не в его запросе, а разработчику быстро найти причину.
Уровень
Рейтинг:
4
Сложность:
2
Навыки
Node.js
Networks
Ключевые слова
Подпишись на Node.js Developer в телеграм