当前位置:  开发笔记 > 运维 > 正文

在开发Web应用程序时,您实际使用哪些HTTP状态代码?

如何解决《在开发Web应用程序时,您实际使用哪些HTTP状态代码?》经验,为你挑选了3个好方法。

HTTP/1.1规范(RFC2616)定义了许多状态代码,HTTP服务器可以返回这些状态代码以指示某些条件.其中一些代码可以被Web应用程序(和框架)使用.在经典和异步(XHR)响应中,哪些代码在实践中最有用,在哪些情况下您使用它们?

应避免使用哪些代码,例如.应用程序应该与5xx代码范围混淆吗?在REST Web服务中返回HTTP代码时有哪些约定?你有没有使用302以外的重定向?



1> 小智..:

我正在使用的那些(grep 'Status:'无论如何我都可以找到它):

200成功检索资源而不影响它

201每当表单提交将重要内容放入数据库(论坛帖子,用户帐户等),创建新资源时发送

204以空体发送,例如在DELETE之后

304 HTTP缓存.我发现这是一个非常难以得到正确的,因为它必须考虑到用户更改显示设置等.我想出的最好的想法是使用用户首选项的哈希作为ETag.大多数浏览器在这里都有不可预测和不一致的行为,这无济于事......

400用于未通过某些验证检查的错误表单提交.

403当某人在某个地方时他们不应该使用(尽管我试图通过不显示用户不应访问的东西的链接来避免这种情况).

404除了普通的网络服务器之外,当URL包含无效的ID号时,我会使用这些.我想在这种情况下检查是否存在更高的有效ID并发送410代替是个好主意...

429当用户的请求过于频繁时

500:我倾向于将这些放在catch {}块中,唯一的选择是放弃,以确保向浏览器发送有意义的内容.

我意识到只要让服务器为所有内容发送"200"就可以逃脱,但是当用户看到(或导致)错误并且没有告诉你它们时,它们会节省很多痛苦.我已经有了显示拒绝访问消息的功能等等,所以无论如何添加这些消息并不多.



2> Rich Bradsha..:

418:我是一个茶壶

来自http://www.ietf.org/rfc/rfc2324.txt超文本咖啡壶控制协议(HTCPCP/1.0)



3> 小智..:

不要忘记503 - 服务不可用.这个对于网站停机至关重要.特别是在搜索引擎方面.

假设您将网站停机几个小时进行维护或升级工作.通过将所有请求定向到返回503代码的友好页面,它告诉蜘蛛"稍后再试".

如果您只是显示"暂时关闭"页面但仍然返回200 OK,则蜘蛛可能会索引您的错误页面,或者更糟糕的是,用这个"新"内容替换现有索引.

这可能会严重影响您的搜索引擎优化排名,尤其是如果您的大型热门网站.

推荐阅读
乐韵答题
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有