假设我有ID为1,2,3,4的任务。用户A可以访问1&仅限2。
答案 0 :(得分:2)
我们假设您的网站包含一些具有以下访问权限的网页:
因此,对于没有权利的访问者,我建议使用:
使用 2 403 (无权限)。
404 (不存在) 3 ,因为没有一般用户应该遇到任何指向该网页的链接,因此它们也应该不存在。
显然 4 ,一个不存在的页面,应始终产生 404 响应。
答案 1 :(得分:1)
如果用户无权访问该任务但是他可以知道该任务存在,则使用403.如果用户甚至无法确定是否存在他无法访问的任务,使用404。
尝试访问不存在的任务肯定会导致404响应。
您应该始终在HTTP响应中使用适当的状态代码,因为它告诉浏览器应该如何处理响应。如果您返回未找到的"资源"如果错误消息带有200 OK状态代码,浏览器会认为该消息是用户请求的实际页面,并且可能会缓存它。如果您使用404代码(或403等),浏览器将会理解您发回的页面实际上并不是所请求的内容,因此它知道不会缓存它或输入其URL浏览历史记录。响应的正文仍然可以是一个漂亮的HTML页面,其中包含供人阅读的错误消息。