Ошибка 500 против ошибки 404, какая из них более желательна? - PullRequest
1 голос
/ 04 марта 2020

Я студент, который изучает развитие django. У меня вопрос по поводу 404 и 500 ошибок. Я рассматриваю ошибку 404 500 как 404. html и 500. html соответственно.

Итак, есть ли разница между этими двумя событиями ошибки?

Например,

def example_post_404(request, pk):
    get_object_or_404(Post, id=pk) # code that may occur 404 error

        vs

def example_post_500(request, pk):
    Post.objects.get(id=pk) # code that may occur 500 error

Не вызвало ли событие 500 ошибок на сервере больше, чем событие 404?

Какой код более желателен?

Мой код работает на AWS EC2 ubuntu -16.04

Ответы [ 3 ]

2 голосов
/ 04 марта 2020

Разница между любой ошибкой 400 и ошибкой 500 основана на том, была ли ошибка клиента или сервера в том, что запрос не был проанализирован. Например,

, ошибка 404 означает, что объект был не найдено; что это значит? это означает, что в зависимости от того, о чем просил клиент , сервер не смог вернуть результат.

другой пример, служба 503 недоступна; сервер получил ответ, и хотя запрос клиента действителен, сервер не смог предоставить ответ.

В этом разница между ошибкой 4XX и ошибкой 5XX. Если вы хотите получить более подробную информацию о том, как реагировать при возникновении ошибки, обратитесь к документации HTTP:

https://tools.ietf.org/html/rfc2616

2 голосов
/ 04 марта 2020

404 - страница не найдена

500 - внутренняя системная ошибка

Если пользователь запросил несуществующую страницу / URL-адрес , верните 404. Если с вашей системой что-то случится (например, ошибка, непредвиденная ошибка), верните 500.

1 голос
/ 04 марта 2020

404 Ошибка: не найдена страница для вызова URL.

500 является внутренней ошибкой для нашей системы (например, Django не аутентификация доступа пользователя)

...