获取远程数据-PHP还是javascript?

获取远程数据-PHP还是javascript?,php,javascript,jquery,curl,Php,Javascript,Jquery,Curl,例如,您会选择什么方法从Twitter检索推文 将json与jQuery结合使用,就像客户机执行请求一样。 使用PHP,例如CURL,服务器在其中执行请求 这两种方法的优缺点是什么?使用服务器端方法,您可能会受益于缓存设施,并拥有整体更快的页面加载速度,每个请求都不会往返于twitter或任何其他第三方服务 //for client making request jQuery.ajax({ url:'target_url',

例如,您会选择什么方法从Twitter检索推文

将json与jQuery结合使用,就像客户机执行请求一样。 使用PHP,例如CURL,服务器在其中执行请求
这两种方法的优缺点是什么?

使用服务器端方法,您可能会受益于缓存设施,并拥有整体更快的页面加载速度,每个请求都不会往返于twitter或任何其他第三方服务

//for client making request   

     jQuery.ajax({
                url:'target_url',
                type:'get',
                dataType:'jsonp',
                success:function(data){
                      //do something with data
                   } 
        });

    //note: dataType is jsonp not JSON as calling twitter from your domain would 
    //not be allowed by browser(cross domain request are not allowed) 
    //so u have  use jsonp.
服务器端方法的另一个好处是,来自twitter被过滤的国家甚至公司的用户不会看到一个大的空窗格,甚至更糟糕的是,不会看到一个破损的布局。即使twitter坏了,你也有一个缓存来显示最近的推文


但是客户端方法最明显的优点是无需麻烦。

我认为这取决于您正在拉入的流的更新频率。如果非常频繁,那么JS会更好,因为您可以在不刷新页面的情况下持续运行调用,而不是频繁地运行调用,您可以使用CURL提取所有数据,并使用JS制作动画

当您必须执行许多请求时,客户端请求会更好,例如在降低服务器负载/避免瓶颈时供公共站点使用,可能受益于内容交付网络CDN代表您的web客户端缓存请求,并且您将部分责任从您自己转移到了您网站的用户身上,因为他们实际上正在访问第三方API,如果您有很多请求,这可能更为相关;一些API使用条款甚至限制了每个时间单位的请求数量,因此客户端请求是大型站点的唯一选择


服务器端请求的优点是不需要在客户端启用JavaScript,也可以方便地记录以进行统计或进一步处理。

这两种方法之间有区别。在HTTP请求之外使用服务器端时,将数据检索到服务器。如果您想让客户机看到这些数据,就必须在客户机发出下一个请求时将其发送到服务器端。对于服务器端请求,您还可以执行本机HTTP请求和跨域请求

客户端跨域请求直接向客户端检索数据。当请求返回数据时,您可以在同一实例中将其显示给客户机,但如果您希望服务器端的数据以db形式存储推文,则必须从客户机将其发送回服务器。Javascript无法执行跨域XHR请求。为了做到这一点,您或执行此操作的libs采取了一些变通办法:使用iframe,使用包含已经包含您需要的信息的JS文件等


如果您需要使用web服务,我建议您使用后端作为服务客户端,或者使用来自客户端的及时拉取,或者使用一些comet技术。

使用服务器作为MITM,您可以缓存、更改、插入第三方的数据,然后再发布给您的用户。您的用户可能不喜欢它,但…

我更喜欢客户端显示推文,而不是服务器端,原因如下:-

由于tweet直接实时显示在浏览器上,因此使用jQuery可以很好地补充这种情况。当然,这会使用多个异步ajax调用快速刷新页面和tweet。 当您使用服务器端时,需要额外往返于服务器和客户端。当你只需要显示tweets时,你需要旅行吗??。推特只是社交信息,说声你好!!!它们不应该含有任何有害物质。 当需要在浏览器上显示之前进行数据验证时,通常采用服务器端方法。对于tweet,这是没有必要的。
需要注意的是:跨域请求也可以使用JSON和填充JSONP或跨源资源共享COR进行,