REST可以处理更为复杂的请求,包括多个参数。在大多数情况下,你仅需要使用URL中的HTTP的GET参数。
例如:
http://www.acme.com/phonebook/UserDetails?firstName=John&lastName=Doe
如果你需要传递更长的参数,或者二进制,正常情况先你需要使用HTTP的POST请求,并且将参数包含在POST消息体中。
作为一个约定,GET请求仅用来做只读查询,不应该更改服务器的状态或更改数据。对于创建、更新、删除数据,应使用POST请求(POST也可以用于只读查询,如前边所示,当需要复杂参数时)。
- 在某种程度上,该Web页面(译者注,指http://rest.elkstein.org/)(像大多数其他页面一样),可以通过REST API提供服务。你使用GET请求来读取数据,并使用POST请求来提交评论——评论时可能需要更多或更长参数。
REST服务的响应可以使用XML(作为一种结构化的数据),然而,REST请求却很少使用XML。如上所示,大多数情况下,请求参数非常简单,无需XML所带来的开销。
- 使用XML的一个优点是其类型安全。然而,在像REST这样的无状态的系统中,你应该总是对输入的XML或其他呢荣进行验证和认证。