在有关使用Rails进行敏捷Web开发的书中,建议当有人试图访问网站中的某些数据并且记录不再存在时,应该将用户重定向到工作页面并显示消息。未找到记录的重定向?
用户会去/ book/1,但id 1的书不再存在,所以它被重定向到/ books并显示一条消息“该书不存在”。这似乎是一个很好的用户体验,但打破了HTTP协议。它应该是一个临时重定向吗?如果是的话,一个网络爬虫将继续打这个页面。它应该是永久重定向吗?如果是这样,以前的内容应该在那里可用,而事实并非如此。
我认为记录未找到的页面应该发出404错误?我错了吗?在1/1不存在的情况下点击/ book/1会返回404,HTML显示的内容与/ books完全相同,也可能是错误消息。
使用Rails进行敏捷Web开发违反了该选项,因为用户可能会持续点击/ book/1生成404s以查看/ books中可以看到的内容。
您认为如何?
是的,这是我的立场,这本书推荐了一些不同的东西。 – Pablo 2009-10-04 15:02:33