Основы проектирования интерфейсов программных систем
Download 1.12 Mb. Pdf ko'rish
|
1-Kitob
- Bu sahifa navigatsiya:
- REST- методы
- DELETE : как следует из названия, метод используется для уда- ления ресурсов. Но этот метод не является идемпотентным для всех за- просов; – OPTIONS
2. HTTP-
методы Как происходит управление информацией сервиса – это целиком и полностью основывается на протоколе передачи данных. Наиболее рас- пространенный протокол – HTTP. Для HTTP действие над данными за- дается с помощью методов. Проектирование операций на HTTP-методы становится легче, ко- гда вы знаете характеристики всех методов HTTP. Ниже представлены две характеристики, которые должны быть определены перед использо- ванием HTTP-метода: – безопасность: HTTP-метод считается безопасным, когда вызов этого метода не изменяет состояние данных. Например, когда вы извле- каете данные с помощью метода GET – это безопасно, потому что этот метод не обновляет данные на стороне сервера; – идемпотентность: когда вы получаете один и тот же ответ, сколько раз вы вызываете один и тот же ресурс, он известен как идемпо- тентный. Например, когда вы пытаетесь обновить одни и те же данные на сервере, ответ будет таким же для каждого запроса, сделанного с одинаковыми данными. Не все методы являются безопасными и идемпотентными. В табл. 6.1 представлен список методов, которые используются в REST-приложениях и показаны их свойства. Таблица 6.1. REST- методы HTTP- метод Безопасный Идемпотентный GET Да Да POST Нет Нет PUT Нет Да DELETE Нет Да OPTIONS Да Да HEAD Да Да Ниже приведен краткий обзор каждого метода и рекомендации по их использованию: – GET: метод является безопасным и идемпотентным. Обычно ис- пользуется для извлечения информации и не имеет побочных эффектов; – POST: метод не является ни безопасным, ни идемпотентным. Этот метод наиболее широко используется для создания ресурсов; – PUT: метод является идемпотентным. Вот почему лучше ис- пользовать этот метод вместо POST для обновления ресурсов. Избегайте использования POST для обновления ресурсов; 39 – DELETE: как следует из названия, метод используется для уда- ления ресурсов. Но этот метод не является идемпотентным для всех за- просов; – OPTIONS: метод не используется для каких-либо манипуляций с ресурсами. Но он полезен, когда клиент не знает других методов, под- держиваемых для ресурса, и используя этот метод, клиент может полу- чить различное представление ресурса; – HEAD: этот метод используется для запроса ресурса c сервера. Он очень похож на метод GET, но HEAD должен отправлять запрос и получать ответ только в заголовке. Согласно спецификации HTTP, этот метод не должен использовать тело для запроса и ответа; – HTTP: определяет различные коды ответов для указания клиен- ту различной информации об операциях. Далее представлен список ко- дов ответов HTTP: – 200 OK – это ответ на успешные GET, PUT, PATCH или DELETE. Данный код также используется для POST, который не приво- дит к созданию; – 201 Created – данный код состояния является ответом на POST, который приводит к созданию; – 204 Нет содержимого – это ответ на успешный запрос, который не будет возвращать тело (например, запрос DELETE); – 304 Not Modified – используйте этот код состояния, когда заго- ловки HTTP-кеширования находятся в работе; – 400 Bad Request – данный код состояния указывает, что запрос искажен, например, если тело не может быть проанализировано; – 401 Unauthorized – данный код возвращается, если не указаны или недействительны данные аутентификации. Также полезно активировать всплывающее окно auth, если приложение используется из браузера; – 403 Forbidden – данный код возвращается, когда аутентификация прошла успешно, но аутентифицированный пользователь не имеет до- ступа к ресурсу; – 404 Not found – данный код возвращается, если запрашивается несуществующий ресурс; – 405 Method Not Allowed – данный код возвращается, когда за- прашивается HTTP-метод, который не разрешен для аутентифицирован- ного пользователя; – 410 Gone – данный код состояния указывает, что ресурс в этой конечной точке больше не доступен. Полезно в качестве защитного от- вета для старых версий API; – 415 Unsupported Media Type – данный код возвращается, если в качестве части запроса был указан неправильный тип содержимого; 40 – 429 Too Many Requests – данный код возвращается, когда запрос отклоняется из-за ограничения скорости; – 500 – внутренняя ошибка сервера. Download 1.12 Mb. Do'stlaringiz bilan baham: |
Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling
ma'muriyatiga murojaat qiling