-- 当用户在可用列表范围之外导航时。
您不应提供超出范围的链接。在结果的最后一页中,不要显示“下一页”链接。好吧,我猜你没有这样做。但是其他人可以链接到您的超出范围的页面,这给我们带来了有趣的问题:
如前所述,应为不存在的资源返回 404。真正的问题是:“什么是资源?”
我会说,如果结果的数量经常变化(例如每天)并且也可能减少(因此结果页面 #9 今天可能存在但明天不一定存在),则列表/搜索功能作为一个整体构成资源,而不是单个结果页面,它仅表示资源的特定状态。
相反,如果结果的数量只能增加,即列出的对象不是可变的而是永久的,则为超出范围的页面显示 404 是有意义的,因为现有的结果页面更像是一种资源,即文档意味着留在这。
一般来说,我认为没有通用的答案,但决定权在于站长,因为没有足够清晰的规范存在。应该记住,状态码主要是为无法理解页面内容的非人类客户(机器人、搜索引擎)返回的,因此实际上这主要是 SEO 问题。
顺便提一下,超出范围的结果页面被 Google 赋予状态 200:(并不是说 Google 是神。)
$ curl -s --head -A 'Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_6_3; fi-fi) AppleWebKit/531.21.11 (KHTML, like Gecko) Version/4.0.4 Safari/531.21.10' 'http://www.google.com/search?q=stackoverflow&start=1000' | grep ^HTTP
HTTP/1.1 200 OK