2009-07-14 7 views
0

我刚刚完成了BrainBench测试,对于我的生活无法弄清楚这个问题的答案......我不认为有一个正确的答案。创建用于更改服务器上数据的接口时,以下哪项是正确的?

选择1 PUT请求需要使用;它们不可重复。

选择2 HEAD请求需要使用;他们减少了数据流量。

选择3 GET请求需要使用;他们更容易发送给其他用户。

选择4 POST请求需要使用,因为GET请求可以通过搜索引擎被无意中发送

选择5 DELETE请求需要使用;他们被设计用于这种用途。

回答

3

我不是这种积极的,但我敢肯定它的选择4.

比方说,你有去/Delete.aspx?id=4一个链接,而谷歌决定抓取链接。假设没有授权检查,Google可以清除您的记录。

编辑:继承人讨论为什么POSTs are used instead of GETs改变数据的行动。

0

PUT,POST和DELETE都可以使用。 DELETE删除数据,属于“更改”。 PUT取代。 POST可以做任何事情。

恕我直言的问题没有很好的措辞,但由于答案1和5包含错误信息,4可能应该是正确的答案。

0

如果PUT替换内容,那么它是幂等的,因此是可重复的,因此1是错误的,如果没有理由的话后半部分。 在这种情况下HEAD将是荒谬的,所以它已经结束了。 GET对于上述原因是不利的(抓取内容的爬虫等) - GET意味着GET。它不意味着GET(哦,并有一些副作用) POST是正确的答案。 DELETE用于...删除资源。这不是你想要的。

相关问题