HTTP响应代码,用于区分不正确的参数和失败的值

Jes*_*ose 6 rest http

什么是合适的响应代码和消息:

  1. 字段提交方式错误(URL参数与正文)或缺少字段
  2. 字段获取无效值(字符串而不是数字,将来的时间戳)
  3. 一些字符,如?, /URL参数中的破解内容
  4. 实际失败:凭据无效,重复已完成的操作

目前,我们使用400.

Arj*_*kar 6

您的问题中的案例1,2和3基本上是请求中的语法错误

=> 400错误请求

(RFC 2616说:由于语法格式错误,服务器无法理解该请求.)

至于案例4:

一个.无效证件

=> 401未经授权

湾 重复已经完成的行动

=> 403禁止

(RFC说:服务器理解请求,但拒绝履行请求.授权无效,请求不应重复.)

但是,当试图分别修改错误(PUT)或访问已删除的资源时,409 Conflict410 Gone是有意义的.

这是RFC 2616第10节.