HTTP POST可以用于获取数据,而不是创建新数据吗

HTTP POST可以用于获取数据,而不是创建新数据吗,http,post,get,xmlhttprequest,Http,Post,Get,Xmlhttprequest,两件事: 首先,可以使用HTTP POST检索现有信息,这对吗?如果是,响应代码是什么 其次,如果可以使用POST,那么Web.API应用程序中URL的格式是什么id,应该向服务器发送什么数据 公司的安全性并不阻止使用HTTPGET,但由于某种安全问题,他们强烈反对使用HTTPGET。OTOH,当我想获取现有信息时,我真的不喜欢命名方法PostInformation() 谢谢 HTTP POST可以用来检索现有信息,这对吗 发件人: POST方法请求目标资源根据资源自身的特定语义处理请求中包含的

两件事:

首先,可以使用HTTP POST检索现有信息,这对吗?如果是,响应代码是什么

其次,如果可以使用POST,那么Web.API应用程序中URL的格式是什么id,应该向服务器发送什么数据

公司的安全性并不阻止使用HTTPGET,但由于某种安全问题,他们强烈反对使用HTTPGET。OTOH,当我想获取现有信息时,我真的不喜欢命名方法PostInformation()

谢谢

HTTP POST可以用来检索现有信息,这对吗

发件人:

POST方法请求目标资源根据资源自身的特定语义处理请求中包含的表示

这意味着服务器在不严格要求的情况下更改状态。因此,是的,虽然不鼓励这样做,但这样做是安全的。事实上,许多web应用程序在过去这样做是为了规避
GET
方法的限制,例如

Web.API应用程序中URL的格式是什么,应该向服务器发送什么数据

URL将与SAN相同。如果将请求主体标记为
application/x-www-form-urlencoded
,则可以使用通常用于查询字符串的相同字符串填充请求主体。对于更复杂或二进制数据,应使用
多部分/formdata
(请参阅)

当我想要获取现有信息时,我真的不喜欢命名方法PostInformation()


这几乎不是问题。我理解你的担忧,但是考虑一下:你最终要做的就是获取数据。如何这样做是正在使用的协议的一个实现细节。没有什么可以阻止您命名方法
PostInformation()
。此外,如果实现发生变化,您突然使用
GET
而不是
POST
,您该怎么办?将所有出现的
PostInformation()
重构为
GetInformation()

谢谢!还有,我明白你对方法命名的看法,但我是那种缺乏想象力、文字化的人!;-)