Мундариҷа[Пинҳон кардан][Намоиш]
- 1. Шумо мафҳуми REST чиро мефаҳмед?
- 2. REST API гуфта чиро дар назар доред?
- 3. URI маҳз чист?
- 4. Хусусиятҳои RESTful Web Services кадомҳоянд?
- 5. Принсипҳои роҳбарикунандаи REST кадомҳоянд?
- 6. Усулҳои HTTP-ро, ки REST дастгирӣ мекунад, зикр кунед.
- 7. Маҳдудиятҳоеро, ки тавассути интерфейси пайваста гузошта шудаанд, тавсиф кунед.
- 8. Манбаи REST маҳз чист?
- 9. JAX-RS барои шумо чӣ маъно дорад?
- 10. AJAX ва REST аз ҳамдигар чӣ фарқ мекунанд?
- 11. Оё шумо метавонед баъзе камбудиҳои хидматҳои веби RESTful-ро номбар кунед?
- 12. Усулҳои PUT ва POST аз ҳамдигар чӣ фарқ мекунанд?
- 13. Чӣ тавр шумо хидматҳои веби RESTful-ро месанҷед?
- 14. REST API-ро дар ҷаҳони воқеӣ тавсиф кунед.
- 15. Архитектураи Microservice чӣ гуна кор мекунад?
- 16. Кэшкунӣ маҳз чист?
- 17. Сарбориро тавсиф кунед.
- 18. SOAP ва RESTро фарқ кунед?
- 19. Оё протоколи амнияти қабати нақлиётиро (TLS) бо REST истифода бурдан мумкин аст?
- 20. Усулњои идемпотентї: онњо кадоманд? Он ба ҷаҳони хидматҳои веби RESTful чӣ гуна дахл дорад?
- 21. Функсияи HTTP Basic Authentication чист?
- 22. Ба фикри шумо GraphQL беҳтарин интихоб барои эҷоди меъмории микросервис аст?
- 23. Фарқи асосии байни усулҳои бехатар ва идемпотенти HTTP кадомҳоянд?
- 24. API JAX-RS аз ҷониби Синфҳои захираҳои решавӣ RESTful чӣ маъно дорад?
- 25. Почтачӣ чист ва барои чӣ он истифода мешавад?
- 26. Чӣ тавр API-ҳои REST бехатар нигоҳ дошта мешаванд?
- хулоса
Эволютсияи REST API-ро ба таври бениҳоят дастрас ва инчунин қувват ва потенсиали пурраи онҳоро ошкор кард. REST API аз сабаби меъмории ба захираҳо нигаронидашуда эҷод кардан ва кэш кардан осон аст.
Илова бар ин, дар тӯли вақт, APIs RESTful пешгузаштагони дигар таҳаввулоти назаррас ба монанди роёниши абрӣ ва тарроҳии микросервисӣ буданд.
Аз ин рӯ, набояд тааҷҷубовар бошад, ки таҳиягарони REST API имрӯз бо назардошти он ки чӣ гуна онҳо ба тиҷоратҳое, ки хидматҳои RESTful-ро бартарии рақобатпазир истифода мебаранд, талабот доранд. API-ҳои REST як тамоюли маъмули тарроҳӣ мебошанд.
Бисёре аз ширкатҳои IT мехоҳанд аз REST API дониш гиранд таҳиягарони нармафзор ва дар мусоҳибаҳои техникӣ дар бораи он пурсед.
Инҳоянд баъзе аз маъмултарин саволҳои мусоҳибаи REST API, ки ба шумо кӯмак мекунанд, ки ба мусоҳиба дар ширкатҳои гуногун омода бошед, агар шумо хоҳед, ки дар соҳаи таҳияи REST API кор кунед.
1. Шумо мафҳуми REST чиро мефаҳмед?
REST як парадигмаи меъморӣ барои тарроҳии замимаҳои интернетӣ мебошад, ки ба Протоколи интиқоли гиперматн (HTTP) асос ёфтааст.
REST стандартҳои муайянеро муайян мекунад, ки хидматҳои веб бояд ҷавобгӯ бошанд, то RESTful ҳисобида шаванд. Ин тавсияҳо кафолат медиҳанд, ки дархостҳо ва захираҳо бо истифода аз протоколҳои стандартии HTTP зуд ва самаранок байни муштарӣ ва сервер интиқол дода мешаванд.
2. REST API гуфта чиро дар назар доред?
Пайванди нармафзор ба нармафзор, ки ҳамчун интерфейси барномасозии барнома маъруф аст, имкон медиҳад, ки муошират ва мубодилаи маълумот байни барномаҳои дигар мустақил. Масалан, як вебсайти хабарӣ метавонад API-и Twitter-ро истифода барад, то твитҳои мувофиқро ба таври худкор кашф кунад ва онҳоро ба ҳикояҳои ахбор ҳамҷоя кунад.
API, ки ба принсипҳои REST мувофиқат мекунад, ҳамчун REST API маълум аст, ки баъзан ҳамчун RESTful API маълум аст. Дар REST API, ҳар як порчаи маълумот ҳамчун манбаъ коркард карда мешавад ва ба он шахсияти мушаххаси манбаи стандартӣ (URI) дода мешавад.
Масалан, API-и Twitter ҳар як твитро як манбаи барқароршаванда месозад, ки барои муштариён дастрас аст. API-и Twitter метавонад аз ҷониби корбарон барои интишори твитҳо ва иҷрои дигар вазифаҳои вебсайт истифода шавад.
3. URI маҳз чист?
A шабакаи компютерӣ манбаро метавон ба истифодабарии URI ё идентификатори ягонаи манбаъ ишора кард. Он ҳамчун воситаи ҷудо кардани як манбаъ аз дигараш хидмат мекунад. Сарчашмаҳо метавонанд онлайн бошанд ё набошанд.
Аз сабаби сохтори стандартии худ, URIҳо пайвастшавӣ ба ҳатто намудҳои гуногуни захираҳоро осон мекунанд. Ҷойгиршавӣ ё номи манбаъ дар URI-ҳо дар якҷоягӣ бо як қатор аломатҳо дохил карда мешавад.
URI аз роҳ, схема, дархост ва дигар унсурҳо иборат аст, аммо протоколро дар бар намегирад.
Бо истифода аз протокол, URL-ҳо (Uniform Resource Locators) барои дарёфти захираҳо дар интернет ё тавассути он дастрас истифода мешаванд.
4. Хусусиятҳои RESTful Web Services кадомҳоянд?
- Парадигмаи мизоҷ-сервер асоси хидмат мебошад.
- Хидмат метавонад ба захираҳо тавассути истифодаи URI дастрасӣ пайдо кунад.
- Хизматрасонӣ протоколи HTTP-ро барои ба даст овардани маълумот/манбаъҳо, иҷро кардани дархостҳо ва иҷрои дигар вазифаҳо истифода мебарад.
- Паёмнависӣ номи усулест, ки барои иртибот байни муштарӣ ва сервер истифода мешавад.
- Ин хидматҳо инчунин метавонанд намунаи меъмории REST-ро бо истифода аз хидматҳои SOAP амалӣ кунанд.
- Барои кам кардани зангҳои сервер барои як навъ дархостҳои такрорӣ, ин хидматҳо инчунин идеяи кэшро истифода мебаранд.
5. Принсипҳои роҳбарикунандаи REST кадомҳоянд?
Аз ҷониби REST API панҷ меъёр бояд ҷавобгӯ бошад:
Ҷудокунии муштарӣ ва сервер: Барои иртибот байни муштарӣ ва сервер танҳо як қатор дархостҳо ва ҷавобҳоро метавон истифода бурд. Танҳо муштариён ва серверҳо метавонанд мутаносибан дархост ва ҷавоб фиристанд. Ин идеяи рост ба ҳарду ҷониб имкон медиҳад, ки мустақилона аз ҳамдигар амал кунанд.
Интерфейси ягона: Барои ҳама пайвастҳои муштарӣ ва сервер бояд протоколи ягона мавҷуд бошад. Ин протокол барои REST HTTP аст. Азбаски ҳар як барнома маълумотро бо як забон дархост мекунад ва мефиристад, интерфейси пайваста ҳамгироиро соддатар мекунад.
Бе шаҳрвандӣ: Сервер ягон сабти дархостҳои қаблӣ ё ҷавобҳоро дар иртиботи бидуни шаҳрвандӣ нигоҳ намедорад. Ҳар як дархост ва ҷавоб тамоми тафсилоти заруриро барои анҷом додани мубодила таъмин мекунад. Муоширати бидуни шаҳрвандӣ суръатро афзоиш медиҳад, хотираро сарфа мекунад ва фишори серверро коҳиш медиҳад. Илова бар ин, он аз эҳтимолияти нокомии дархост аз сабаби маълумоти нопурра пешгирӣ мекунад.
Системаи қабатӣ: Серверҳое, ки дар байни муштарӣ ва сервери API ҷойгиранд, қабатҳо номида мешаванд. Ин серверҳои иловагӣ хидматҳои гуногунро иҷро мекунанд, ба монанди ошкор кардани спам ва оптимизатсияи суръат. Қабатҳо дар REST модулӣ мебошанд, яъне онҳоро бе таъсир ба иртибот байни муштарӣ ва сервери API илова кардан ва нест кардан мумкин аст.
Кэшшаванда: Мизоҷон метавонанд ҳама гуна захираҳоро барои баланд бардоштани суръат кэш кунанд, агар ҷавобҳои сервер нишон диҳанд, ки захираҳо кэшшавандаанд ё не.
Рамзгузории дархост: Дар посух, API метавонад рамзи компютерии иҷрошавандаро ба муштариён интиқол диҳад. Замимаи муштарӣ метавонад кодро дар паси худ иҷро кунад.
6. Усулҳои HTTP-ро, ки REST дастгирӣ мекунад, зикр кунед.
Усулҳои HTTP, ки REST дастгирӣ мекунанд, инҳоянд:
- GET: Ин усул манбаъро дар URL-и муайяншуда талаб мекунад. Ҷисми дархост набояд дохил карда шавад, зеро он нодида гирифта мешавад. Онро ба таври маҳаллӣ ё дар сервер кэш кардан мумкин аст.
- POST: Ин усул маълумотро ба хидмат барои коркард мефиристад ва хадамот одатан бояд манбаи нав ё тағирёфтаро баргардонад.
- PUT: Манбаъ дар URL дархост нав карда мешавад.
- ТОҶИКИСТОН: Манбаъ дар URL-и дархост нест карда мешавад.
- Имконот: Он усулҳои дастгирӣшавандаро муайян мекунад.
- HEAD: Метамаълумоти URL-и дархост баргардонида мешавад.
7. Маҳдудиятҳоеро, ки тавассути интерфейси пайваста гузошта шудаанд, тавсиф кунед.
Барои ҷудо кардани муштарӣ аз сервер, интерфейси пайваста лозим аст.
Барои ноил шудан ба интерфейси муттасил, чор маҳдудияти зерин лозим аст:
- Муайянкунии захираҳо: Дархостҳои муштарӣ бояд барои муайян кардани захираҳо (URI) идентификатсияи манбаи стандартиро истифода баранд.
- Идоракунии захираҳо бо истифода аз ин намояндагӣ: Мизоҷон ҳама маълумоти заруриро доранд, то тавонанд ҳолати захираҳоро ҳангоми гирифтани намояндагии захира аз сервер иваз кунанд.
- Паёмҳои худтавсифӣ: Паёмҳо тамоми метамаълумотҳо ва дигар маълумоти барои қабулкунанда барои фаҳмидани онҳо заруриро дар бар мегиранд.
- Гипермедиа ҳамчун муҳаррики ҳолати барнома: Канали иртиботи муштарӣ бо сервер гипермедиа аст, ба монанди HTML ва муштариён барои фаҳмидани ҷавобҳои сервер ҳуҷҷатҳои мушаххаси API лозим нестанд.
8. Манбаи REST маҳз чист?
Захираҳо ҷузъҳои асосии хидмати веби RESTful дар меъмории REST мебошанд. Онҳо ҳама маълумоти муҳимеро дар бар мегиранд, ки муштарии API бояд дастрас бошад.
Ҳама намуди захираҳо, аз қабили саҳифаи HTML, тасвир, видео ё чизи дигаре, ки барои фаъолияти API лозиманд, метавонанд тавассути сервер дар системаи муштарӣ-сервер дастрас шаванд.
Сарчашмаҳо аз ҷониби Идентификатори ягонаи захираҳо муайян карда мешаванд. Матн, JSON ё XML ҳама муаррифии қобили қабули захираҳо мебошанд. Бо зикри ин, дар шакли намояндагӣ ягон маҳдудият вуҷуд надорад.
9. JAX-RS барои шумо чӣ маъно дорад?
Эҷоди хидматҳои веби RESTful дар Java ба шарофати Java API барои хидматҳои веби RESTful, ки одатан JAX-RS маъруф аст, осонтар аст. Таҳиягарон метавонанд захираҳо ва амалиётҳоеро, ки метавонанд дар онҳо бо истифода аз эзоҳҳои пешниҳодшуда анҷом дода шаванд, тавсиф кунанд.
10. AJAX ва REST аз ҳамдигар чӣ фарқ мекунанд?
Аякс:
- Ajax як гурӯҳи технологияҳоест, ки барои навсозии динамикӣ имкон медиҳад интерфейси истифодабаранда унсурҳоро бидуни дубора бор кардани саҳифа.
- Ajax иртиботи асинхронӣ байни муштарӣ ва серверро нест мекунад.
Истироҳат:
- REST иртиботи байни сервер ва муштариро талаб мекунад.
- Истифодаи захираҳо барои сохтори URL ва шакли дархост/ҷавоб, ки аз ҷониби REST истифода мешавад, муҳим аст.
11. Оё шумо метавонед баъзе камбудиҳои хидматҳои веби RESTful-ро номбар кунед?
Сессияҳоро давом додан мумкин нест, зеро хадамот ба мафҳуми бешаҳрвандӣ мувофиқат мекунанд. (Муштарӣ барои интиқоли ID-и сессия дар тӯли симулятсияи сессия масъул аст.)
Маҳдудиятҳои амниятӣ барои REST асосӣ нестанд. Протоколҳое, ки онро истифода мебаранд, чораҳои эҳтиётиро мерос мегиранд. Аз ин рӯ, ҳангоми гузоштани чораҳои амниятӣ, ба монанди ҳамгироии аутентификатсия дар асоси SSL/TLS, эҳтиёткор будан муҳим аст.
12. Усулҳои PUT ва POST аз ҳамдигар чӣ фарқ мекунанд?
гузоштан:
- Барои посухҳои PUT кэш мавҷуд нест.
- Idempotent (яъне дархостҳои сершумор як натиҷа медиҳанд)
- Сарбории дархост манбаи мақсаднокро навсозӣ мекунад ё иваз мекунад.
ПОЧТА:
- idempotent нест (яъне, дархостҳои сершумор чандкаратаи як манбаъро медиҳанд)
- Веб-сервер сарбории дархостро дар асоси манбаи пешбинишуда коркард мекунад.
- Агар сарлавҳаи мувофиқи идоракунии кэш дохил карда шуда бошад, ҷавобҳои POST метавонанд кэш карда шаванд.
13. Чӣ тавр шумо хидматҳои веби RESTful-ро месанҷед?
Санҷиши хидматрасонии веби RESTful метавонад тавассути як қатор асбобҳо, аз ҷумла Swagger ва Postman кӯмак кунад. Санҷиши параметрҳои дархост ба монанди параметрҳои дархост, сарлавҳаҳо ва сарлавҳаҳои посух тавассути фаровонии хусусиятҳои охирин имконпазир аст.
Почтачӣ метавонад барои дархост ба нуқтаҳои ниҳоӣ ва нишон додани натиҷаҳо истифода шавад. Ва аз ин ҷавобҳо XML ва JSON сохтан мумкин аст.
Postman ва Swagger ҳарду функсияҳои хеле муқоисашавандаро таъмин мекунанд. Аз тарафи дигар, Swagger инчунин қобилиятҳоро ба монанди ҳуҷҷатҳои ниҳоӣ пешниҳод мекунад.
14. REST API-ро дар ҷаҳони воқеӣ тавсиф кунед.
- Вебсайтҳои сайёҳӣ ва чиптафурӯшӣ метавонанд вақтҳои парвоз ва нархгузориро, ки ширкатҳои ҳавопаймоӣ тавассути API дастрас мекунанд, истифода баранд.
- Барои истифодаи барномаҳои харитасозӣ ва паймоиш (ба монанди харитаҳои Google), агентиҳои нақлиёти ҷамъиятӣ аксар вақт маълумоти худро дар вақти воқеӣ тавассути APIҳо дастрас мекунанд.
- Барномаҳои обу ҳаво API-ҳои кушодаро истифода мебаранд, ки маълумотҳои обу ҳаворо барои намоиш додани маълумоти обу ҳаво мубодила мекунанд.
- Таҳиягарон метавонанд ба маълумоти харитасозии Google Maps тавассути як қатор API-ҳои ҷойгиршудаи он дастрасӣ пайдо кунанд. Ин API-ҳоро таҳиягарон барои ворид кардани харитаҳои динамикӣ дар барномаҳо ва вебсайтҳои худ истифода мебаранд.
15. Архитектураи Microservice чӣ гуна кор мекунад?
- Дархостҳо аз ҷониби муштариёни гуногун тавассути дастгоҳҳои гуногун фиристода мешаванд.
- Пас аз тасдиқи шахсияти муштариён, провайдерҳои шахсият аломатҳои бехатариро пешниҳод мекунанд.
- Дархостҳои муштарӣ аз ҷониби API Gateway идора карда мешаванд.
- Ҳама маводи система ҳамчун мундариҷаи статикӣ нигоҳ дошта мешаванд.
- Воситаи идоракунӣ тавозуни хидматҳоро дар гиреҳҳо ва ҳама гуна хатогиҳо тафтиш мекунад.
- Кашфи роҳи иртибот байни микросервисҳо тавассути кашфи хидмат кӯмак мекунад.
- Марказҳои додаҳо ва серверҳои прокси системаҳои шабакавии парокандаро ташкил медиҳанд, ки шабакаҳои интиқоли мундариҷа номида мешаванд.
- Хидматҳои дурдаст дастрасии иттилоотро аз масофа таъмин мекунанд.
16. Кэшкунӣ маҳз чист?
Таҷрибаи муваққатан нигоҳ доштани нусхаи ҷавоби сервер дар ҷое (масалан, хотираи компютер) барои зудтар дастрас шудан ба он ҳамчун кэш маълум аст.
Кэшкунӣ суръати серверро ҳангоми истифодаи REST API тавассути кам кардани ҳаҷми коре, ки сервер бояд барои қонеъ кардани дархост анҷом диҳад, афзоиш медиҳад. Барномаҳое, ки API-ро истифода мебаранд, ба шарофати кэш тезтар кор мекунанд, зеро онҳо набояд ҳар дафъае, ки ба манбаъ ниёз доранд, дархости нав пешниҳод кунанд.
Майдони Cache-Control сарлавҳаи посухи HTTP дорои маълумот дар бораи он аст, ки чӣ қадар захираро муштарӣ пеш аз он ки дубора дастрас шудан лозим шавад, кэш карда метавонад.
17. Сарбориро тавсиф кунед.
Сарборӣ дар REST ба иттилооте, ки дар бадани посухи HTTP мавҷуд аст, ишора мекунад. Муштарӣ барои дархост кардани маълумоти мавриди назар техникаи GET-ро истифода бурд.
Ҳуҷҷате, ки матни твит ва ҳама гуна файлҳои зарурӣ барои гузоштани твит дар вебсайт ба боргузорӣ дохил карда мешавад, масалан, агар шумо аз Twitter API барои твитҳои мушаххас дархост кунед. Илова бар ин, сарбориро метавон ба дархости HTTP бо истифода аз усули POST дохил кард.
18. Фарқ кардан SOAP Vs REST?
- Баръакси SOAP, ки танҳо метавонад XML-ро идора кунад, REST доираи васеи форматҳои захиравӣ, аз ҷумла XML, матн, HTML, тасвирҳо, видео ва ғайраро фароҳам меорад.
- Вақте ки амният барои барномаҳои онлайн муҳим аст, SOAP муфид аст. REST наметавонад истифода шавад, вақте ки транзаксияҳо бояд бехатар анҷом дода шаванд, зеро он махсусан бехатар нест.
- Азбаски SOAP танҳо як протокол аст, REST метавонад онро дар хидматҳои веби худ истифода барад, аммо на ба таври дигар.
- Дар ҳоле ки REST танҳо як намунаи меъморӣ аст, ки барои таҳияи хидматҳои веб истифода мешавад ва ба маҳдудиятҳои муайян, аз қабили танзими муштарӣ-сервер, бидуни шаҳрвандӣ, посухи кэшшаванда, системаҳои қабатӣ ва интерфейси пайваста риоя мекунад, SOAP протоколест, ки аз рӯи стандартҳои мушаххас амал мекунад, ки бояд ба таври қатъӣ риоя карда шаванд. ба.
- Дар ҳоле ки REST идентификаторҳои универсалии захираҳоро (URI) истифода мебарад, SOAP интерфейсҳои хидматрасониро барои фароҳам овардани қобилиятҳои худ ба барномаҳои муштарӣ истифода мебарад. REST нисбат ба SOAP ба фарохмаҷрои камтар ниёз дорад, зеро паёмҳои SOAP иттилооти вазнинтар доранд.
19. Оё протоколи амнияти қабати нақлиётиро (TLS) бо REST истифода бурдан мумкин аст?
Дар асл, мо метавонем. Муоширати муштарии REST ва сервер тавассути TLS рамзгузорӣ карда мешавад ва протокол инчунин ба мизоҷон роҳи аутентификатсияи серверҳоро медиҳад.
Аз сабаби он, ки он ивазкунандаи қабати бехатар аст, он барои алоқаи бехатар (SSL) истифода мешавад. Татбиқи хидматҳои веби RESTful бо HTTPS муваффақ аст, зеро он ҳам бо TLS ва ҳам SSL самаранок ҳамкорӣ мекунад.
REST хусусиятҳои протоколеро, ки амалӣ мекунад, мерос мегирад, ки дар ин ҷо як чизро бояд қайд кард. Дар натиҷа, муҳофизати амният ба протоколе, ки REST истифода мебарад, вобаста аст.
20. Усулњои идемпотентї: онњо кадоманд? Он ба ҷаҳони хидматҳои веби RESTful чӣ гуна дахл дорад?
Вақте ки URI якхела аст, баъзе усулҳои HTTP дар дархост ба сервер як хел таъсир мерасонанд, новобаста аз он ки онҳо як маротиба ё якчанд маротиба расонида мешаванд. Техникаи идемпотентӣ он чизест, ки онҳо ҳамчунон маълуманд.
Масалан, новобаста аз он ки URI бо истифода аз усули GET чанд маротиба иҷро мешавад, сервер ҳамеша як натиҷаро эҳсос мекунад. Усулҳои идемпотент GET, PUT ва PATCH-ро дар бар мегиранд, ки чанде аз онҳоро номбар кунед.
Усулҳои Idempotent HTTP баъзе аз усулҳое мебошанд, ки аз ҷониби RESTful истифода мешаванд барномаҳои веб. Онҳо барои кафолати мувофиқат дар фаъолияти хидматҳои веби RESTful заруранд.
Мизоҷоне, ки REST API-ро истифода мебаранд, метавонанд хатогиҳои рамзӣ содир кунанд, ки REST API-ро маҷбур мекунанд, ки дархостҳои тасодуфӣ такрор шаванд. Ин даъватҳо эҳтимолияти истифодаи нодурусти захираҳоро доранд.
21. Функсияи HTTP Basic Authentication чист?
Ҳангоми истифодаи аутентификатсияи асосӣ ҳамчун як қисми API, корбар бояд номи корбар ва паролро пешниҳод кунад, ки аз ҷониби браузер дар шакли "номи корбар: парол" пайваст карда шудаанд ва base64 рамзгузорӣ шудаанд.
Дар ҳар як дархости HTTP аз браузер, арзиши рамзгузорӣ ҳамчун арзиши сарлавҳаи "Авторизатсия" дода мешавад. Азбаски маълумотҳои эътимоднома танҳо рамзгузорӣ шудаанд, тавсия дода мешавад, ки ин шакл ҳангоми ирсоли дархостҳои HTTPS истифода шавад, зеро онҳо бехатар нестанд ва агар протоколҳои амниятӣ истифода нашаванд, аз ҷониби касе боздошта мешавад.
22. Ба фикри шумо GraphQL беҳтарин интихоб барои эҷоди меъмории микросервис аст?
Microservices ва GraphQL ба таври комил кор мекунанд, зеро GraphQL меъмории микросервиси шуморо аз муштариёни шумо махфӣ нигоҳ медорад.
Аз тарафи пеш, шумо мехоҳед, ки ҳамаи маълумоти шумо аз як API гирифта шавад, дар ҳоле ки аз қафо шумо мехоҳед онро ба микросервисҳо тақсим кунед. Беҳтарин техникае, ки ман барои ноил шудан ба ҳарду огоҳам, ин истифодаи GraphQL мебошад.
Он ба шумо имкон медиҳад, ки пуштибонии худро ба микросервисҳо тақсим кунед, дар ҳоле ки ба ҳар як барнома як API-и ягона медиҳад ва имкон медиҳад пайвастшавӣ дар байни маълумот аз хидматҳои гуногун.
23. Фарқи асосии байни усулҳои бехатар ва идемпотенти HTTP кадомҳоянд?
Усулҳои Idempotent ҳангоми як ё якчанд маротиба тавассути як дархост даъватшуда як натиҷа медиҳанд. Усули PUT идемпотент аст.
Ҳама роҳҳои бехатар беэътиноанд, аммо на ҳама усулҳои безарар бехатаранд, зеро усулҳои бехатар захираҳоро тағир намедиҳанд. Масалан, GET бехатар аст, зеро он танҳо маълумотро мегирад ва захираро тағир намедиҳад.
Илова бар ин, он идемпотент аст, яъне ҳангоми даъват кардан ҳамеша ҳамон ҷавобро бармегардонад.
24. API JAX-RS аз ҷониби Синфҳои захираҳои решавӣ RESTful чӣ маъно дорад?
Java Enterprise Edition дарсҳо ва интерфейсҳоро таъмин мекунад, ки ба талаботи JAX-RS API мувофиқат мекунанд. Бо ёрии JAX-RS, эҷоди хидматҳои веби Java дар услуби меъмории REST осонтар мешавад.
Дар JAX-RS API, синфҳои манбаи реша танҳо "объектҳои оддии java" ё POJO мебошанд. Барои татбиқи захираҳои зарурии веб, онҳо эзоҳҳои JAX-RS-ро истифода мебаранд.
Онҳо ё эзоҳҳои @path доранд ё ҳадди аққал яке аз усулҳои онҳо эзоҳҳои @path доранд. Онҳоро метавон ҳамчун синфҳои Java бо усулҳои кор бо нуқтаҳои ниҳоии API ҷамъбаст кард.
25. Почтачӣ чист ва барои чӣ он истифода мешавад?
Асбоби таҳияи API бо номи Postman барои эҷод, озмоиш ва тағир додани API истифода мешавад. Ин асбобро таҳиягарон барои ҳар хусусияте, ки барои API талаб мекунанд, истифода бурдан мумкин аст. Он кори таҳиягаронро осон ва осон мекунад.
Почтачин сохтани дархостҳои гуногуни HTTP, аз ҷумла GET, POST, PUT ва PATCH, захира кардани муҳитҳо барои истифодаи баъдӣ ва табдил додани API-ро ба код бо як қатор забонҳои гуногун осон мекунад.
Ҳар як марҳилаи давраи API бо Postman соддатар карда мешавад ва ҳамкорӣ барои рушди зудтари API ба тартиб дароварда мешавад.
Илова бар ин, он ба таҳиягарон имкон медиҳад, ки ҳуҷҷатҳо, мушаххасот, ҳолатҳои санҷишӣ, равандҳо ва каталогҳои API-ро идора кунанд.
26. Чӣ тавр API-ҳои REST бехатар нигоҳ дошта мешаванд?
Азбаски API-ҳои REST ҳамчун кафолатҳои қатъии амниятӣ ҳамчун API-ҳои SOAP истифода намешаванд, маълумоти ҳассос набояд бо истифода аз онҳо фиристода ё гирифта шавад.
Бо вуҷуди ин, API-ҳои боэътимоди REST ҳамгироии назорати амниятро барои интиқоли маълумотҳои бехатар ва боэътимод идома медиҳанд.
- Аутентификатсия ва иҷозат: Ҳар як дархосте, ки ба API дода мешавад, бояд аз ин ду тафтиш гузарад. Тасдиқи шахсияти муштарӣ тавассути аутентификатсия ва тасдиқи он, ки онҳо дорои салоҳияти дастрасӣ ба захираҳои дархостшуда тавассути иҷозат ду раванди гуногун мебошанд.
- Тасдиқ: Пеш аз он ки API дастрасӣ ба захираҳои худро диҳад, дархостҳо бояд пас аз тасдиқ ва иҷозати коди эҳтимолан зараровар тафтиш карда шаванд. Ҳамин тавр сервер барои ҳамлаи тазриқӣ боз хоҳад буд.
- Тасдиқ: Пеш аз он ки API дастрасӣ ба захираҳои худро диҳад, дархостҳо бояд пас аз тасдиқ ва иҷозати коди эҳтимолан зараровар тафтиш карда шаванд. Ҳамин тавр сервер барои ҳамлаи тазриқӣ боз хоҳад буд.
- Рамзгузорӣ: Рамзгузории TLS/SSL алоқаи байни муштарӣ ва серверро муҳофизат мекунад ва ҳакерҳоро аз боздоштани дархостҳо ва ҷавобҳо нигоҳ медорад.
- Усулҳои маҳдудкунандаи суръат, аз қабили маҳдудиятҳо ва маҳдудкунӣ, серверҳоро аз ҳамлаҳои бераҳмона ба монанди DDoS, ки ҳадафашон паст кардан ё шикастани онҳо мебошад, муҳофизат мекунад.
- Дар URIҳо ягон маълумоти ҳассос нест: URI-ҳои захираҳо набояд ягон маълумоти ҳифзшударо дар бар гиранд (ба монанди номи корбар, парол ё аломати аутентификатсия).
хулоса
Табрик мекунем! Якчанд саволҳои мусоҳибаи асосӣ то мураккаби REST API ва ҳалли мувофиқи онҳо ҳоло дар дасти шумо ҳастанд.
Акнун, ки шумо консепсияи хуби ҷавоб додан ба баъзе саволҳои маъмулии мусоҳибаи REST API доред, шумо метавонед ба мусоҳибаҳо ҷавоб диҳед. Қадами оянда аз ҳадафҳои шумо вобаста аст.
боздид Силсилаи мусоҳиба бо Хашдорк ба мусохиба тайёрй дида.
Дин ва мазҳаб