在创建更改服务器上的数据的接口时,以下哪一项是正确的?

时间:2009-07-14 20:10:25

标签: http testing brainbench

我刚刚完成BrainBench测试,但我的生活无法找到这个问题的答案......我认为没有正确的答案。

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

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

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

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

需要使用Choice 5 DELETE请求;它们是专为此用途而设计的。

3 个答案:

答案 0 :(得分:3)

我对此并不乐观,但我很确定它的选择4。

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

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

答案 1 :(得分:0)

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

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

答案 2 :(得分:0)

如果PUT替换内容,那么它是幂等的,因此是可重复的,因此1是错误的,如果无缘无故的话,那句话的后半部分。 在这种情况下,HEAD会毫无意义,所以它就出来了。 由于上述原因(抓取内容等等),GET很糟糕 - GET意味着GET。它并不意味着GET(哦,并有一些副作用) POST是正确的答案。 DELETE用于...删除资源。这不是你想要的。