RESTful Web 服务

来源:互联网 发布:响应式网站推荐知乎 编辑:程序博客网 时间:2024/06/18 16:47

因为 RESTful Web 服务使用 HTTP URLs 路径,因此以保护网站同样的方式维护 RESTful Web 服务是非常重要的。以下是设计 RESTful Web 服务时要遵循的最佳实践。

  • 验证 - 验证服务器上的所有输入。保护服务器免受 SQL 或者 NoSQL 注入攻击。
  • 基于会话的认证 - 请求一个 Web 服务方法时使用基于会话的认证对用户进行身份验证。
  • URL 不要有敏感数据 - 永远不要在 URL 中使用用户名,密码或者会话标记,这些值应该通过 POST 方法传递给 Web 服务。
  • 限制方法执行 - 允许限制使用方法,比如 GET,POST,DELET。GET 方法不应该能够删除数据。
  • 验证有缺陷的 XML/JSON - 检查格式良好的输入传递给 Web 服务方法。
  • 抛出通用错误消息 - Web 服务方法应该使用 HTTP 错误消息,比如 403 展示禁止访问等。

HTTP 状态码

编号HTTP 状态码 & 描述1200 
OK ,显示成功。2201 
CREATED ,当资源使用 POST 或者 PUT 请求建立成功时。使用位置头返回新建资源的链接。3204 
NO CONTENT ,当响应体为空时。比如,DELETE 请求。4304 
NOT MODIFIED 在有条件的 GET 请求的情况下用于减少网络带宽的使用。响应体应该为空。头信息应该包含日期,位置等。5400 
BAD REQUEST ,指出提供的输入无效。比如验证错误,数据缺失。6401 
UNAUTHORIZED ,指出用户正在使用无效的或者错误的认证令牌。7403 
FORBIDDEN ,指出用户没有使用访问方法。比如,没有管理员权限访问删除操作。8404 
NOT FOUND ,指出该方法不可用。9409 
CONFLICT ,指出执行方法时冲突,比如添加重复的条目。10500 
INTERNAL SERVER ERROR ,指出执行该方法时服务器抛出了一些异常。
0 0