URL编码POST不好的做法?

Sta*_*ked 6 rest

我(只是为了好玩)试图实施高分网络服务.我希望它与REST原则兼容.我希望能够使用像这样的url参数添加新的高分http://mydomain.com/hs/add&name=John&score=987.根据REST,这必须使用POST请求完成.这会导致空POST请求,其中包含URL参数中包含的所有数据.这会被认为是一种不好的做法吗?

更新
安全性目前不是一个大问题.

Art*_*cto 12

执行此操作的常用方法是http://mydomain.com/hs/add使用内容发送POST :

name=John&score=987 (对于简单的urlencoded数据,对于例如多部分编码数据会有所不同; POST请求主体的格式是任意的,在REST建议的范围之外 - 它甚至可以是任意加密数据,正如其他人所建议的那样).

添加新高分的GET请求不仅违反了REST原则,而且违反了RFC 2616,这要求GET请求是幂等的.

编辑

在查询字符串中传递数据并发布空体是不好的做法吗?

是.URL应描述受HTTP方法描述的操作的资源.因此,最好的选择可能是拥有http://mydomain.com/hs一个URL并让身体完整地描述该动作.

查询字符串可能用于进一步限定没有正文的请求,例如:

http://mydomain.com/hs?period=lastmonth (得到)