RESTful-сервисы - это сервисы, которые передают состояние репрезентативно, отсюда и название REpresentational State Transfer. * * * * * * * * * * * * * * * * * * * * * *} * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 1005
REST отличается от SOAP тем, что это не протокол, и нет формальной спецификации. SOAP был создан для упрощения передачи данных между приложениями с использованием общего интерфейса для удаленного доступа к функциям. К сожалению, для общей работы SOAP достаточно сложен, и выполнение запросов SOAP не очень прямолинейно, требует анализа и генерации XML.
Вместо этого REST полагается на протокол передачи гипертекста (HTTP) для выполнения тяжелой работы. Веб-серверы и серверные сценарии уже построены вокруг работы в HTTP. Сделать запрос с помощью REST так же просто, как запрос URL, например, посетить веб-страницу. API для службы RESTful может повторно использовать любой из методов HTTP и кодов состояния , чтобы сигнализировать о любых ошибках. Вместо доступа к данным, хранящимся в базе данных, с помощью необычных запросов и специального кода, службы RESTful предоставляют доступ, который больше похож на стандартную файловую систему.
Ключевой частью сервисов RESTful является декларативность. Скорее всего, запрос к GET /widgets/109340
даст вам данные для виджета с идентификатором 109340
. Я говорю «вероятно», потому что нет гарантии. Это зависит от разработчика. Дело в том, что вы можете взглянуть на запрос REST и узнать, что вы ожидаете получить. С SOAP гораздо сложнее определить, есть ли у вас синтаксическая ошибка.
Если /widgets/109340
не существует, вместо передачи тела сообщения с некоторым конкретным значением, указывающим, что контент существует, сервер может вернуть код 404 Not Found
, и пользователь будет знать, что конкретный идентификатор не существует Если возвращается 403
, пользователь будет знать, что элемент существует, но у него нет прав доступа к нему. Эти коды ответов на запросы уже поддерживаются программами, которые отправляют URL-запросы, поскольку они являются общими для всех серверов. Это делает запросы REST намного более устойчивыми.
REST также гибок в формате вывода, /widgets/109340
может возвращать объект JSON, но нет никаких причин, по которым он не может возвращать двоичные данные, HTML, XML, SVG, видео или любой другой формат данных. CDN может использовать API REST для обслуживания версионного контента, который может храниться или не храниться в файловой системе: GET /jQuery/1.0.0
, GET /jQuery/1.7.1
и GET /jQuery/latest
- все запросы RESTful.
Я предполагаю, что вы понимаете, что Простой протокол доступа к объектам (SOAP) равен