Php 为什么我们需要webhook,API可以做webhook所能做的一切?

Php 为什么我们需要webhook,API可以做webhook所能做的一切?,php,rest,api,http,webhooks,Php,Rest,Api,Http,Webhooks,我阅读了我找到的关于webhook的所有可能的信息,但是对于为什么要使用webhook而不是Https请求没有答案,因为Https请求更容易 我构建的API需要在服务器上发生特定操作时通知用户的服务器。用户向我提供一个URL,我需要向该特定URL发送Webhook或HTTP Post请求 我可以使用cron作业,并在服务器上发生新情况时发送httppost请求。如果有更简单的方法,为什么我需要使用Webhook 与API请求相比,webhooks的优势是什么?在HTTP POST请求上使用Web

我阅读了我找到的关于webhook的所有可能的信息,但是对于为什么要使用webhook而不是Https请求没有答案,因为Https请求更容易

我构建的API需要在服务器上发生特定操作时通知用户的服务器。用户向我提供一个URL,我需要向该特定URL发送Webhook或HTTP Post请求

我可以使用cron作业,并在服务器上发生新情况时发送httppost请求。如果有更简单的方法,为什么我需要使用Webhook


与API请求相比,webhooks的优势是什么?在HTTP POST请求上使用Webhook有什么好处?

Webhook允许一个站点实时(或接近实时)通知另一个站点所发生的事情

举个例子,假设我的应用程序与Facebook集成,我想知道新的评论何时发布到Facebook页面

如果没有Webhook,我必须定期检查该页面的每一篇文章,以获得新的评论。如果他们有一千个帖子,我每五分钟检查一次,那就是每小时有一千个API调用。。。永远


有了webhooks,Facebook会在创建评论时,通过一条
帖子告诉我的服务器“嘿,帖子上有一条新评论”#12345”。webhooks允许一个站点实时(或接近实时)通知另一个站点所发生的事情

举个例子,假设我的应用程序与Facebook集成,我想知道新的评论何时发布到Facebook页面

如果没有Webhook,我必须定期检查该页面的每一篇文章,以获得新的评论。如果他们有一千个帖子,我每五分钟检查一次,那就是每小时有一千个API调用。。。永远



有了webhooks,Facebook会在帖子创建时,通过一个
帖子告诉我的服务器“嘿,帖子上有一条新的评论#12345”。

用户提供的@IłyaBursov的URL我更新了帖子,使其清晰。webhook是一个HTTP请求;甚至可以说是一个API请求。区别在于请求的方向。我的问题的根源是了解为什么大多数系统需要
file\u get\u内容('php://input');而不是
$\u POST
。为什么webhook存在于我们可以简单地发送curlpost请求的地方。如果我们强迫一些客户学习webhook概念@decezez,他们可能会失去一些客户,这是更安全的还是有任何好处?你的问题的根源是一个误解。您的“simply send curl post requests”仍然是一个webhook。这只是PHP在如何读取帖子正文数据方面的一个技术限制。如果webhook发送JSON数据,PHP不会自动将其解析为
$\u POST
变量。这就是用户提供的@IłyaBursov I更新帖子以使其清晰的全部URL。webhook是一个HTTP请求;甚至可以说是一个API请求。区别在于请求的方向。我的问题的根源是了解为什么大多数系统需要
file\u get\u内容('php://input');而不是
$\u POST
。为什么webhook存在于我们可以简单地发送curlpost请求的地方。如果我们强迫一些客户学习webhook概念@decezez,他们可能会失去一些客户,这是更安全的还是有任何好处?你的问题的根源是一个误解。您的“simply send curl post requests”仍然是一个webhook。这只是PHP在如何读取帖子正文数据方面的一个技术限制。如果webhook发送JSON数据,PHP不会自动将其解析为
$\u POST
变量。就这些了。@Ibrahim Hasanov,所以您是通过让客户端指定URL来实现Webhook的。但是,当必要的事件发生时,你仍然会定期向他们的服务器发送HTTP帖子。但是,为什么我不发送HTTP请求,将他们希望我发送的特定数据发送到他们在我这边发生事件时提供的特定URL?@Ibrahim我不理解这个问题。请描述一下你认为的webhook是什么。通过HTTP POST请求,Facebook可以在创建评论时说你的服务器“嘿,帖子上有一条新评论#12345”。它将只发送相同的POST请求,即。。。网络钩子是什么。Webhook是HTTP POST请求。您正在准确描述webhook的功能。@Ibrahim Hasanov,因此您是通过让客户端指定URL来实现webhook的。但是,当必要的事件发生时,你仍然会定期向他们的服务器发送HTTP帖子。但是,为什么我不发送HTTP请求,将他们希望我发送的特定数据发送到他们在我这边发生事件时提供的特定URL?@Ibrahim我不理解这个问题。请描述一下你认为的webhook是什么。通过HTTP POST请求,Facebook可以在创建评论时说你的服务器“嘿,帖子上有一条新评论#12345”。它将只发送相同的POST请求,即。。。网络钩子是什么。Webhook是HTTP POST请求。你所描述的正是webhook的功能。