【问题标题】:lightweight RESTful PHP server轻量级 RESTful PHP 服务器
【发布时间】:2012-04-21 06:56:55
【问题描述】:

我想编写一个非常轻量级的 PHP 服务器来处理来自远程客户端的数据请求。返回的数据是表格的(类似于从 CSV 文件或数据库表中读取的数据)。 “问题”是我可能会返回数十万行数据 - 列宽在 10 到 15 之间(取决于请求的数据类型)。

简而言之,返回的数据可能是 HUGE - 为了节省带宽并提高传输速度,我想压缩数据(也许可以选择加密它,而我们在它发送回客户端之前。

我不知道如何编写服务器端脚本来处理请求(并将数据或错误代码发回)。

为了简单起见,假设我正在使用 fopen 从平面文件中读取数据,我可以有这样的东西:

<?php 
   // extract request variables and determine action required based on REQUEST params
   // handle request (fetch requested data)
   // if no error then return compressed (and encrypted?) data 
   // else if error return error code
?>

对 PHP 不是很熟悉,谁能帮我“充实”一下这个存根代码(特别是当我们通过 HTTP 标头等返回压缩数据(或错误代码)时的部分)?

最后但并非最不重要的一点是,我必须指出客户端很可能在另一个平台和另一种语言上运行(我将用 C++ 编写客户端),所以我想使用 PLAIN ASCI 文本作为数据传输(与非常冗长且需要在另一端解析的 XML 相反)。

【问题讨论】:

  • 出于好奇,您打算为此问题设置赏金,还是会接受我的回答?问候。

标签: php encryption compression rest


【解决方案1】:

我可能会建议您将 ZendFramework 用于您的 REST 服务器。已经为您实现了基本约定,这将使您能够专注于您的特定需求(数据、文本、压缩等)。

这是 Zend REST 的参考手册页: http://framework.zend.com/manual/en/zend.rest.server.html

另外,这是我在使用 Zend REST 的个人经验中写的一篇博文: http://ajcoon.blogspot.com/2009/09/rest-services-supporting-xml-and-json.html

即使我用它来返回 XML 和 JSON,也可以轻松地定义自己的视图,为他们的数据使用不同的编码/格式。

【讨论】:

    【解决方案2】:

    可以考虑:将数据表上传到 Amazon SimpleDB,然后使用它:http://blog.webservius.com/2010/09/14/introducing-amazon-simpledb-integration/(它会自动将任何 SimpleDB 表转换为功能齐全的 REST API,包括 JSON 支持、开发人员注册页面等等...)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2010-12-13
      • 2010-10-02
      • 2014-06-07
      • 1970-01-01
      • 2023-03-08
      • 1970-01-01
      • 2011-02-14
      • 1970-01-01
      相关资源
      最近更新 更多