Никакие браузеры не обрабатывают 301 и 302 ответов правильно. И на самом деле стандарт даже говорит, что они должны обрабатывать их «прозрачно», что является МАССИВНОЙ головной болью для поставщиков библиотеки Ajax. В Ra-Ajax мы были вынуждены использовать HTTP-код ответа HTTP 278 (только некоторый «неиспользуемый» код успеха) для обработки прозрачных переадресаций с сервера ...
Это действительно раздражает я, и если у кого-то здесь есть «pull» в W3C, я был бы признателен, что вы могли бы сообщить W3C знать , что нам действительно нужно обрабатывать 301 и 302 коды ...! ;)
УСПОКОИТЕЛЬНОЕ приложение является приложением, которое выставляет его состояние и функциональность как ряд ресурсов, которыми клиенты могут управлять и приспосабливают определенному набору принципов:
статья Wikipedia, на которую указывает Tim Scott, предоставляет больше подробную информацию об источнике REST, подробных принципов, примеры и так далее.
Лучшее объяснение, которое я нашел, находится в этом учебное руководство .
RESTВсего несколько точек:
, Если Вы не проводите большую часть своего времени, обрабатывая Ваш формат документа, Вы, вероятно, не делаете REST.
Откровенно говоря, ответ зависит от контекста. REST и УСПОКОИТЕЛЬНЫЙ имеет значения в зависимости от того, какой язык или платформу Вы используете или что Вы пытаетесь выполнить. Так как Вы отметили свой вопрос под "веб-сервисами", я отвечу в контексте УСПОКОИТЕЛЬНЫХ веб-сервисов, который является все еще широкой категорией.
УСПОКОИТЕЛЬНЫЕ веб-сервисы могут означать что-либо от строгой интерпретации REST, где все действия сделаны строгим "УСПОКОИТЕЛЬНЫМ" способом к протоколу, который является простым XML, означая не SOAP или XMLRPC. В последнем случае это - неправильное употребление: такой протокол REST действительно "простой XML" (или "POX") протокол . В то время как протоколы REST обычно используют XML, и как таковой протоколы POX, это должно не обязательно иметь место, и инверсия не верна (справедливое, потому что XML использования протокола не делает это УСПОКОИТЕЛЬНЫМ).
Без дальнейшей суматохи, ДЕЙСТВИТЕЛЬНО УСПОКОИТЕЛЬНЫЙ API состоит из действий, взятых объекты, представленные используемым методом HTTP и URL того объекта. Действия о данных а не о том, что делает метод. Например, действия CRUD (создают, читают, обновляют и удаляют), может отобразиться на определенный набор URL и действий. Позволяет говорят, что Вы взаимодействуете с фотографией API.
Другие действия могли бы быть реализованы, как способность скопировать фотографии через запрос КОПИИ.
Таким образом, метод HTTP Вы используете карты непосредственно для намерения Вашего вызова, вместо того, чтобы отправить меры, которые Вы хотите принять как часть API. Для контрастирования неуспокоительный API мог бы использовать намного больше URL и только использовать действия POST и ПОЛУЧЕНИЕ. Так, в этом примере Вы могли бы видеть:
, который Вы отметите, как в этом случае URL отличаются, и методы выбраны только из технической необходимости: для отправки данных необходимо использовать POST, в то время как все другое использование запросов ДОБИРАЕТСЯ.
Это означает использовать имена для идентификации и команд и параметров.
Вместо имен, являющихся простыми дескрипторами или моникерами, само имя содержит информацию. А именно, информация о том, что требуют, параметры для запроса, и т.д.
Имена не являются "корнями", а скорее действиями плюс входные данные.
Я извлек уроки больше всего из чтения статей, опубликованных на InfoQ.com: http://www.infoq.com/rest и УСПОКОИТЕЛЬНАЯ книга веб-сервисов ( http://oreilly.com/catalog/9780596529260/ ).
правовая оговорка./alex
: я связан с InfoQ.com, но эта рекомендация основана на моем собственном полезном опыте.
REST в качестве примера:
POST /user
fname=John&lname=Doe&age=25
Сервер отвечает:
200 OK
Location: /user/123
В будущем вы можете получить информацию о пользователе:
GET /user/123
Сервер отвечает:
200 OK
<fname>John</fname><lname>Doe</lname><age>25</age>
Кому обновление:
PUT /user/123
fname=Johnny