说我需要一个变量;例如“itemid”。如果参数是出于某种原因丢失,我应该给用户一个200错误页面或“404 Not Found”?
我将支持404,但我不确定。
说我需要一个变量;例如“itemid”。如果参数是出于某种原因丢失,我应该给用户一个200错误页面或“404 Not Found”?
我将支持404,但我不确定。
也许你应该给“400错误请求”。
服务器请求不能被理解的由于畸形的语法。客户端不应该重复请求,而不需要修改。
看到< a href = " http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html " rel = " noreferrer " > http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html < / >更多的可能性。
就像克里斯·辛普森说给“404 Not Found”当没有找到项相应的项id。
你也可以检查受欢迎的RESTful api,看别人如何处理这个问题。例如< a href = " http://apiwiki.twitter.com/REST + API文档# HTTPStatusCodes”rel = " noreferrer " > < / > Twitter。
好问题。就我个人而言,我将使用一个200,并提供一个用户友好的错误解释问题,但这实际上取决于环境。
你也显示404如果他们提供itemid并不存在,但特别的东西吗?
从可用性的角度来看,我说没有。
你应该显示一个页面告诉用户什么错了,给了他们一个改正的机会。
如果链接是来自另一个站点上的页面(或另一个网站),然后页面告诉他们请求的项目没有发现,并重定向到一个适当的页面,也许一个让他们浏览物品吗?
如果用户输入变量本身,那么我要问为什么?因为URI通常不友好。
You should give a user 200, only when the HTTP Request you got was responded with an appropriate Response, even when it is only a simple HTML that says they are missing a parameter. The 404 code is when the User Agent is requesting a resource that is missing.
Check this list for further info http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html
给一个500错误,可能是501年。这将允许一个浏览器或代码通过现有onError机制来处理它,而不是听一些自定义方式。
我看到这个工作,您应该返回一个200,因为它应该是一个有效的资源。
让年代说你的一个网址是< >widgets.com/browse.php?代码itemid = 100 > < /代码,URL显示一个特殊的项目在你的目录。
现在,用户输入<代码>widgets.com/browse.php > < /代码,我们期望的行动是什么?列出所有的物品在你的目录,当然(或至少一个分页的列表)。
重新考虑你的URL结构和目录级别和参数涉及到另一个。