为什么要使用 HTTP 动词?

use*_*346 4 .net asp.net http

由于动词的目标是像 server.domain/getallrecords 或 server.domain/delete1record 或类似的 URL。而getallrecords、delete1record是专门为特定目的而设计的,为什么我们这里需要动词?

get 调用有什么区别

server.domain/getallrecords or 
server.domain/delete1record 
Run Code Online (Sandbox Code Playgroud)

或对上述任何 URL 的放置(或发布或删除)调用?

Mat*_*zer 7

如果您采用RPC 方式,那么 HTTP 动词似乎毫无用处。

HTTP 动词是 REST 风格的 HTTP 服务的好伴侣,因为面向资源的 URI 不包含操作标识符而是包含资源。

例如,server.domain/getallrecords将是server.domain/records,如果你使用HTTP / GET执行请求这一资源,资源将被映射到服务器的方法将返回所有记录,如果执行使用HTTP / POST同样的要求,这将创造一个新纪录, 等等。

您需要决定:RPC还是REST,根据这一点,您会发现 HTTP 动词是否有用。我建议您使用 HTTP 动词是使用众所周知的协议 - HTTP - 和预定义动词的好方法,而不是发明自己的动词。但同样,这取决于您自己的想法、偏好和要求。

  • 请允许我在这个答案中添加一点,默认情况下,您的默认跨域引用保护将阻止“DELETE”、“POST”和“PUT”等动词被访问。如果您对所有内容都使用“GET”,则恶意站点可能会使用“<img src="http://server.domain/delete1record" />”等代码来触发所有访问用户的删除尝试。如果您的一位被授权的用户访问该网站,那么您可能会遇到麻烦。 (2认同)