Junior
REST эмне?
sobes.tech AI
AIден жооп
REST (Representational State Transfer) — бул бөлүштүрүлгөн системдерди куруу үчүн архитектуралык стиль, негизинен веб кызматтарды долбоорлоодо колдонулат. Ал принциптер жана чектөөлөрдүн топтомуна негизделген, алар веб-ресурстардын бири-бири менен өз ара аракеттенүүсүн аныктайт:
RESTтин негизги принциптери:
- Клиент-сервер: Кардар менен сервердин милдеттерин так бөлүү.
- Stateless (абалсыз): Сервер кардардын абалын сактабайт, ар бир суроо өзүнүн ичинде бардык керектүү маалыматтарды камтыйт.
- Cacheable (кэшке коюуга болот): Кардарлар сервердин жоопторун кэшке коюп, иштөө ылдамдыгын жогорулатышы мүмкүн. Сервер жоопту кэштөө мүмкүнчүлүгүн так көрсөтөт.
- Layered System (катмарланган система): Кардар аралык катмары менен иштеше алат (мисалы, прокси, жүктү теңдештирүүчү), аны билбестен.
- Code on Demand (талапка код) — optional: Сервер кардарга ишке ашырылуучу кодду (мисалы, JavaScript) жиберип, кардардын функционалдуулугун кеңейтет.
- Uniform Interface (бирдей интерфейс): эң маанилүү принцип, ал төмөнкү чектөөлөрдү камтыйт:
- Ресурстарды идентификациялоо (URI).
- Ресурстарды көрсөтүүлөр аркылуу иштетүү (модельдөө, маалымат алмашуу белгилүү форматта, мисалы JSON, XML).
- Өзүн-өзү сүрөттөөчү билдирүүлөр (билдирүүлөрдө алардын түшүнүшү үчүн бардык керектүү маалыматтар бар).
- HATEOAS (Hypermedia as the Engine of Application State): кардар сервердин жоопторундагы гиперсылтамдарды колдонуп, программалык абалдар арасында өтөт.
RESTful API — бул REST стилинин веб-усулдар үчүн ишке ашырылышы, ал стандарттуу HTTP ыкмаларын (GET, POST, PUT, DELETE) колдонуп, ресурстар менен иштейт:
// RESTful APIда HTTP ыкмаларын колдонуу мисалы
// Ресурс алуу
// GET /api/products/1
// Ресурс түзүү
// POST /api/products
// Body: { "name": "New Product", "price": 10.50 }
// Ресурс жаңылоо
// PUT /api/products/1
// Body: { "name": "Updated Product", "price": 11.00 }
// Ресурс жоюу
// DELETE /api/products/1