Php API调用应该是GET还是POST?
我注意到一些API(如Twitter API)对所有内容都使用get方法,因此参数在URL中的传递方式如下:Php API调用应该是GET还是POST?,php,api,Php,Api,我注意到一些API(如Twitter API)对所有内容都使用get方法,因此参数在URL中的传递方式如下: http://api.twitter.com/1/statuses/user_timeline.json?screen_name=screenname 我有一些问题,希望能提出意见或更正: 我一直认为使用GET不是一个好主意,最好使用POST 我正在编写的API需要一个密钥,我认为在URL中发送它不是一个好主意。那么,是否可以混合使用POST参数和URL参数 另一个问题是,我听说U
http://api.twitter.com/1/statuses/user_timeline.json?screen_name=screenname
我有一些问题,希望能提出意见或更正:
更新:感谢所有帮助我集思广益的人。我有一些更新来澄清一些评论。
POST请求不能从URL发出,如http://example.com/api/op.json?param=value
。对不起,我说错了,应该说清楚点
example.com/entry/1
,或者example.com/entry/
,HTTP动词控制着操作的执行(创建、更新、删除、列表)。我认为,在实际意义上,RESTful对于类似crud的数据(创建条目、获取条目、更新条目、删除条目、显示所有条目)最有用。如果我不需要积垢,我需要休息吗?我的问题是:如果一个调用只是给出输入并返回输出,那么这个API需要RESTful吗?URL看起来不是RESTful的,那么在实现中是否有其他东西可以使其成为RESTful的呢
,但是如果您非常关心它,您可能应该重新考虑您的API。GET请求不应该向服务器发送那么多数据。
所以我有一个例子:用户想要发送一个大文件。在服务器上,我不会将文件输入数据库或保存它(因此根据标准,我不会“发布”数据),但可能是这样(这些都是很快想到的示例,请随意考虑):
- (a) 读取文件的元数据并返回它(应该是GET还是POST),或者
- (b) 我正在读取元数据并修改文件上的metada,然后返回修改后的文件(应该是GET还是POST)
- 这就是为什么我可能需要发送大数据的一个例子。问题是(a)和(b)被认为是GET还是POST操作?这就是为什么我问URL的最大长度
授权
)来传输密钥,因为这不太可能被中介机构记录,也不太可能被发送到第三方服务(如bug追踪器)
三,。另一个问题是,我听说URL有一个最大长度,所以我想这可能会让你感到不便,或者有解决办法吗
HTTP标准没有定义URL的最大长度,尽管有一个。在通过JavaScript生成GET请求时,这可能无关紧要,但如果您非常关心它,您可以