Middle
Какви са принципите на REST?
sobes.tech AI
Отговор от AI
Следващите принципи на REST са:
- Архитектура клиент-сървър: Разделяне на отговорностите между клиента (потребителя на услугата) и сървъра (доставчика на услугата). Това насърчава преносимостта на клиентския код и мащабируемостта на сървъра.
- Без състояние (Stateless): Всяка заявка от клиента към сървъра трябва да съдържа цялата необходима информация, за да бъде обработена от сървъра. Сървърът не запазва състоянието на клиента между заявките.
- Кешируемост: Сървърът може ясно да указва дали данните могат да бъдат кеширани от клиента или междинните слоеве. Това подобрява производителността и мащабируемостта.
- Уеднаквен интерфейс: Най-важният принцип, който включва четири подпринципа:
- Идентификация на ресурси: Ресурсите се идентифицират чрез уникални URI.
- Манипулиране на ресурси чрез представяния: Клиентът взаимодейства с ресурсите, като получава техните представяния (например, във формат JSON или XML) и изпраща нови представяния за промяна на състоянието на ресурса.
- Самоописващи се съобщения: Всяко съобщение съдържа достатъчно информация, за да разбере получателят как да го обработи. Използват се стандартни HTTP заглавки.
- Hypermedia като двигателя на състоянието на приложението (HATEOAS): Клиентът трябва да намира информация за наличните действия и възможните преходи между състоянията на приложението чрез хипермедийни връзки, вградени в представянията на ресурсите.
- Многослойна система: Системата може да бъде организирана с използване на междинни слоеве (например, прокси, кешове, шлюзове), през които преминават заявките и отговорите. Клиентът не знае дали комуникира директно с крайната сървър или чрез междинните слоеве.
- Код по заявка (Code on Demand - по избор): Сървърът може временно да разшири функционалността на клиента, като пренесе изпълним код (например, JavaScript). Този принцип е по избор за съответствие с REST.