Sobes.tech
Middle

Какви са принципите на REST?

sobes.tech AI

Отговор от AI

Следващите принципи на REST са:

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