500 错误与 404 错误哪个更可取?

500 error vs 404 error which one is more desirable?

我是一名学生,正在研究django的开发。 我有一个关于 404500 错误的问题。 我分别将 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

404 是 page not found

500 是 an internal system error

如果用户请求的 page/url 不存在,return 404。如果您的系统出现问题(如错误,意外错误),return 500。

404 错误是 url 调用找不到页面。

500 是我们系统的内部错误(如 Django 未验证用户访问权限)

任何 400 错误与 500 错误之间的区别取决于请求未被解析是客户端错误还是服务器错误。

例如,404 错误表示未找到该对象;这是什么意思?这意味着根据 客户端 的要求,服务器无法 return 结果。

另一个例子,503服务不可用;服务器收到响应,虽然客户端请求有效,但 服务器 无法提供响应。

这就是 4XX 错误和 5XX 错误的区别,如果您想更详细地了解发生错误时如何响应,请参阅 HTTP 文档:

https://www.rfc-editor.org/rfc/rfc2616