yog*_*oga 2 jquery json jsonp ip-address rate-limiting
如果您的Web应用程序使用对外部源的Web服务API调用,则其中一些源将根据IP地址对您进行速率限制.
如果您从客户端JavaScript进行这些调用- 意味着它们是由最终用户的浏览器操作触发的 - 远程站点(发送回JSON数据)是否会看到您站点的IP地址或结尾的IP地址-user (用于此基于IP地址的速率限制)?
我的理解是,通过&callback=在数据源URL中使用,您将发出JSONP请求,这意味着远程主机看到的地址是最终用户的地址,而不是您站点的地址.
例如:
jQuery.getJSON(url+"&callback=?", function(data) {
alert("Stock Symbol: " + data.symbol + ", Stock Price: " + data.price);
});
Run Code Online (Sandbox Code Playgroud)
如上所述的呼叫会被视为来自最终用户的IP地址而不是来自您的Web应用程序的服务器IP地址,这是否正确?
他们看到最终用户的IP,JSONP请求直接从用户的浏览器转到它指向的URL.通过进行JSONP调用,您基本上要做的是将其添加到页面中:
<script type="text/javascript" src="url?callback=someFunctionName"></script>
Run Code Online (Sandbox Code Playgroud)
这使得浏览器只需获取并运行该脚本,该脚本具有以下内容:
someFunctioName({ /* data object */ });
Run Code Online (Sandbox Code Playgroud)