javascript - 什么时候后台主动返回404
问题描述
2个问题,使用javascript语言 Node.js express框架开发
1.一般情况下页面请求数据,如果找不到,返回应该用res.send()去写么,还是应该res.sendStatus(404),后者可能不妥,那请问什么情况下服务器会主动返回404?
2.前端怎么取处理这个404,是判断吗err.response.status把路由链接到404页面吗?但是浏览器里始终会报错not get
问题解答
回答1:404 即资源未找到。如果你使用 RESTful 语义的话,在资源未找到时应当返回 404。如果不是 RESTful 语义的话,自己创造的语义,你得自己搞定。一般为了前端处理方便会返回200,并在消息正文里写上错误信息。但是这样可能会带来其它问题。
这取决于你使用的框架。「但是浏览器里始终会报错not get」不清楚你是个什么情况。404 本来就是一种错误嘛。
如果你是自己的 API,其实还好说。我最讨厌某些直接给浏览器的网页,明明没找到,非要返回个200甚至是302跳转到一个叫「错误」的页面。有些甚至还没等我过去看就跳转到首页去了。我链接多了个逗号手动去改不行啊?一个列表页面里那么多链接,我点开看看哪些还在,结果出错的全部跳转到同一页面了,我怎么知道到底哪些链接失效了呢?
回答2:后端处理。在所有路由都为匹配的情况下,发送404页面
回答3:后端响应了404的同时也是可以返回响应体的。并没有什么不妥,找不到的路由必然是需要返回404
前端必然是需要有逻辑处理http的404状态的,至于怎么处理各有不同。但是跳转到404页面也必然是不妥的,给哥提示就差不多了
回答4:路由根据你的url 没有找到 对应的资源 ,所以 返回 404 没有找到匹配的资源
相关文章:
1. golang - 用IDE看docker源码时的小问题2. macos - mac下docker如何设置代理3. docker - 如何修改运行中容器的配置4. dockerfile - [docker build image失败- npm install]5. nignx - docker内nginx 80端口被占用6. javascript - 如何保证数据库里的信息安全?7. mac里的docker如何命令行开启呢?8. Thinkphp 下载地址找不到了?9. javascript - vux的confirm,x-number报错。。说我未定义正确,但是官方网站就是这样写的诶。10. css3 - 如何修改mui-icon图标的大小?