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. python - 字符串中反斜杠的替换2. 小程序怎么加外链,语句怎么写!求救新手,开文档没发现3. vue打包和PHP后台怎样同域名部署配置4. python中merge后文件莫名变得非常大5. javascript - 给页面加了动画,在微信浏览器中显示混乱,急救6. java - MySQL显示中文星期7. python - matplotlib 做一个饼状图出错8. MySQL 联合查询并更新到另一个表,求教9. python - <flask web 开发>项目permission问题10. base64_decode调用出错windows server 2008R2系统上出现的
