Intereting Posts
Laravel 4: две разные страницы просмотра для одного URI, основанного на статусе auth API Google: аутентифицировать запрос с помощью OAuth, но без окна согласия пользователя, затем запрашивать данные Google для определенного имени пользователя или идентификатора пользователя Как назначить массивы аргументам функций? Codeigniter Active Record – количество найденных строк с ограничением (MySQL) Как продлить PHP DOMElement? Magento – получить ценовые правила от заказа PHP – Как поймать ошибку «Попытка получить свойство не-объекта» Как получить POST в php Настройка цикла развертывания / сборки / CI для проектов PHP Чтение / использование файлов на сервере / домашнем / папке В чем разница между {{}} и {!! !!} в файлах laravel blade? php получает два разных элемента случайных массивов Laravel 5 Middleware «Владелец»? Laravel 4, -> withInput (); = Неопределенное смещение: 0 Преобразование массива из одного в многомерный на основе значений родительского идентификатора

легкий сервер RESTful PHP

Я хочу написать чрезвычайно легкий PHP-сервер, который обрабатывает запросы данных от удаленных клиентов. Возвращенные данные являются табличными (например, данные, считываемые из файла CSV или таблицы базы данных). «Проблема» в том, что я мог бы возвращать потенциально несколько сотен тысяч строк данных – с шириной столбца от 10 до 15 (в зависимости от типа запрашиваемых данных).

Короче говоря, возвращаемые данные могут быть ОГРОМНЫМИ – и, пытаясь сохранить полосу пропускания, а также увеличить скорость передачи, я хотел бы сжать данные (возможно, по желанию, зашифровать их, пока мы на нем), прежде чем отправить его обратно клиенту ,

Я не понимаю, как написать серверный скрипт для обработки запроса (и отправить данные или код ошибки обратно).

Для простоты предположим, что я читаю данные из плоского файла, используя 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, может кто-то, пожалуйста, помогите мне с «fleshing out» этого кода заглушки немного больше (особенно часть, когда мы возвращаем сжатые данные (или код ошибки) через HTTP-заголовки и т. Д.) ?.

Последнее, но не менее важное, я должен указать, что клиент, скорее всего, будет работать на другой платформе и на другом языке (я буду писать клиент на C ++), поэтому я хотел бы использовать текст PLAIN ASCI для передачи данных ( в отличие от XML, который очень многословен и требует синтаксического анализа на другом конце).

Related of "легкий сервер RESTful PHP"

Я мог бы предложить вам использовать 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, можно было легко определить их собственное представление, которое использует другую кодировку / формат для своих данных.

Вот возможность рассмотреть: Загрузите таблицу данных в Amazon SimpleDB, а затем используйте это: http://blog.webservius.com/2010/09/14/introducing-amazon-simpledb-integration/ (она автоматически превращает любой SimpleDB таблицу в полнофункциональный REST API в комплекте с поддержкой JSON, страницей регистрации разработчика и т. д. и т. д.)