Table of Contents[Kache][Montre]
- 1. Kisa ou konprann pa REST?
- 2. Kisa ou vle di REST API?
- 3. Ki sa ki egzakteman URI?
- 4. Ki karakteristik Sèvis Web RESTful yo?
- 5. Ki prensip k ap gide REST?
- 6. Mansyone metòd HTTP ki REST sipòte.
- 7. Dekri restriksyon yo mete pa yon koòdone ki konsistan.
- 8. Kisa egzakteman se yon Resous REST?
- 9. Kisa JAX-RS vle di pou ou?
- 10. Ki sa ki fè distenksyon AJAX ak REST youn ak lòt?
- 11. Èske ou ka lis kèk dezavantaj sèvis entènèt RESTful?
- 12. Ki sa ki fè distenksyon teknik PUT ak POST youn ak lòt?
- 13. Ki jan ou teste sèvis entènèt RESTful?
- 14. Dekri yon API REST nan mond reyèl la.
- 15. Kijan Achitekti Mikwosèvis travay?
- 16. Ki sa egzakteman se kachèt?
- 17. Dekri chaj.
- 18. Diferansye SAVON ak REPO?
- 19. Èske yo ka itilize pwotokòl sekirite transpò kouch (TLS) ak REST?
- 20. Metòd idempotan: kisa yo ye? Ki jan li aplike nan mond lan nan sèvis entènèt RESTful?
- 21. Ki sa ki fonksyonalite HTTP Basic Otantifikasyon?
- 22. Èske w panse GraphQL se pi bon chwa pou kreye achitekti mikwosèvis?
- 23. Ki distenksyon prensipal yo ant metòd HTTP ki san danje ak idempotan?
- 24. Kisa API JAX-RS vle di pa Klas Resous Rasin RESTful?
- 25. Kisa Postman ye egzakteman, e poukisa yo itilize li?
- 26. Ki jan yo kenbe API REST an sekirite?
- konklizyon
Evolisyon REST te fè API yo ekstrèmman aksesib pandan y ap revele tout fòs ak potansyèl yo. API REST yo fasil pou kreye ak kachèt akòz achitekti yo oryante resous yo.
Anplis de sa, pandan tout tan, API RESTful yo te précurseur nan lòt devlopman enpòtan tankou cloud computing ak konsepsyon ki baze sou mikwosèvis.
Se poutèt sa, li pa ta dwe sipriz ke devlopè REST API yo nan demann jodi a paske yo bay biznis ki anplwaye sèvis RESTful yon avantaj konpetitif. REST API yo se yon tandans konsepsyon popilè.
Anpil konpayi IT vle konesans REST API soti nan devlopè lojisyèl epi mande sou li nan entèvyou teknik.
Men kèk nan kesyon entèvyou REST API ki pi tipik ki pral ede w pare pou entèvyou nan plizyè konpayi si w vle travay nan domèn devlopman REST API.
1. Kisa ou konprann pa REST?
REST se yon paradigm achitekti pou konsepsyon aplikasyon ki baze sou entènèt ki baze sou Hypertext Transfer Protocol (HTTP).
REST defini sèten estanda ke sèvis entènèt yo dwe satisfè pou yo konsidere kòm RESTful. Rekòmandasyon sa yo garanti ke demann ak resous yo transmèt rapidman ak efektivman ant kliyan ak sèvè lè l sèvi avèk pwotokòl estanda HTTP.
2. Kisa ou vle di REST API?
Yon lyen lojisyèl-a-lojisyèl ke yo rekonèt kòm yon koòdone pwogramasyon aplikasyon pèmèt kominikasyon ak pataje done ant pwogram otreman endepandan. Pa egzanp, yon sit entènèt nouvèl ka itilize Twitter API pou dekouvri tweets ki enpòtan otomatikman epi entegre yo nan istwa nouvèl yo.
Yon API ki respekte prensip REST yo ke yo rekonèt kòm yon API REST, pafwa ke yo rekonèt kòm yon API RESTful. Nan yon API REST, chak moso done yo trete kòm yon resous epi yo bay yon idantite resous estanda diferan (URI).
Pou egzanp, API Twitter fè chak tweet yon resous rekiperable ki disponib pou kliyan yo. Itilizatè yo ka itilize API Twitter pou afiche tweets epi fè lòt travay sou sit wèb.
3. Ki sa ki egzakteman URI?
A rezo konpitè yo ka refere yo bay resous lè l sèvi avèk yon URI oswa idantifyan resous inifòm. Li sèvi kòm yon mwayen pou separe yon resous ak yon lòt. Sous yo ta ka oswa pa ka sou entènèt.
Akòz estrikti estanda yo, URI yo fè li senp pou konekte ak menm divès kalite resous. Kote oswa non resous la enkli nan URI ansanm ak yon seri karaktè.
URI a konpoze de yon chemen, konplo, rechèch, ak lòt eleman men li pa gen ladan pwotokòl la.
Sèvi ak yon pwotokòl, URL (Uniform Resource Locators) yo itilize pou jwenn resous sou entènèt la oswa aksesib atravè li.
4. Ki karakteristik Sèvis Web RESTful yo?
- Paradig Kliyan-Sèvè a se fondasyon sèvis la.
- Sèvis la ka jwenn aksè nan resous lè l sèvi avèk URI.
- Sèvis la itilize Pwotokòl HTTP pou jwenn done/resous, kouri demann, epi fè lòt travay.
- Mesaj se non metòd yo itilize pou kominike ant kliyan an ak sèvè a.
- Sèvis sa yo kapab aplike tou modèl achitekti REST lè l sèvi avèk sèvis SOAP.
- Pou diminye apèl sèvè pou menm sòt de demann repetitif, sèvis sa yo tou anplwaye lide nan kachèt.
5. Ki prensip k ap gide REST?
API REST dwe satisfè senk kritè:
Dekoupman kliyan-sèvè: Se sèlman yon seri demann ak repons yo ka itilize pou kominike ant kliyan an ak sèvè. Se sèlman kliyan ak sèvè ki kapab voye demann ak repons, respektivman. Lide senp sa a pèmèt tou de pati yo fonksyone poukont youn ak lòt.
Entèfas Inifòm: Dwe gen yon pwotokòl inifòm pou tout koneksyon kliyan-sèvè. Pwotokòl sa a pou REST se HTTP. Paske chak aplikasyon mande epi voye done lè l sèvi avèk menm lang, yon koòdone ki konsistan fè entegrasyon pi senp.
Apatrid: Sèvè a pa sove okenn dosye sou demann oswa repons anvan yo nan kominikasyon apatrid. Chak demann ak repons bay tout detay ki nesesè pou konplete echanj la. Kominikasyon apatrid amelyore vitès, sove memwa, ak diminye estrès la sou sèvè a. Anplis de sa, li evite potansyèl yon demann echwe akòz done enkonplè.
Sistèm kouch: Sèvè ki abite ant kliyan an ak sèvè API a yo refere yo kòm kouch. Sèvè siplemantè sa yo fè yon varyete sèvis, tankou detekte spam ak optimize vitès. Kouch nan REST yo modilè, sa vle di yo ka ajoute ak efase san yo pa afekte kominikasyon ant kliyan an ak sèvè API a.
Kachèt: Kliyan yo ka kache nenpòt resous pou ogmante vitès si repons sèvè yo endike si wi ou non resous la kach.
Kodaj sou demann: An repons, yon API ka transmèt kòd òdinatè ègzekutabl bay kliyan yo. Lè sa a, aplikasyon kliyan an ka kouri kòd la sou pwòp dèyè li.
6. Mansyone metòd HTTP ki REST sipòte.
Metòd HTTP ki REST sipòte yo se:
- GET: Metòd sa a mande pou yon resous nan URL espesifye a. Yon kò demann pa ta dwe enkli paske li pral inyore. Li ta ka posib yo kachèt li lokalman oswa sou sèvè a.
- POST: Metòd sa a voye done nan yon sèvis pou trete, epi sèvis la ta dwe nòmalman retounen yon resous nouvo oswa chanje.
- PUT: Resous la mete ajou nan URL demann lan.
- DELETE: Yo efase resous la nan URL demann lan.
- Opsyon: Li idantifye metòd yo sipòte.
- HEAD: Metadata URL demann lan retounen.
7. Dekri restriksyon yo mete pa yon koòdone ki konsistan.
Yo nan lòd yo separe kliyan an soti nan sèvè a, yon koòdone konsistan obligatwa.
Pou reyalize yon koòdone ki konsistan, kat kontrent sa yo obligatwa:
- Idantifikasyon resous: demann kliyan yo dwe itilize idantite resous estanda pou idantifye resous (URI)
- Manipilasyon resous lè l sèvi avèk reprezantasyon sa yo: Kliyan yo gen tout enfòmasyon ki nesesè pou kapab chanje eta resous lè yo jwenn yon reprezantasyon resous nan sèvè a.
- Mesaj oto-deskriptif: Mesaj yo enkli tout metadata ak lòt enfòmasyon ki nesesè pou reseptè a konprann yo.
- Hypermedia kòm motè eta aplikasyon an: Chanèl pou kominikasyon kliyan-sèvè se hypermedia, tankou HTML, ak kliyan pa bezwen dokiman API espesifik pou konprann repons sèvè yo.
8. Kisa egzakteman se yon Resous REST?
Resous yo se eleman fondamantal nan yon sèvis entènèt RESTful nan yon achitekti REST. Yo enkli tout enfòmasyon enpòtan ke yon kliyan API bezwen jwenn aksè.
Nenpòt kalite resous, tankou yon paj HTML, yon imaj, yon videyo, oswa nenpòt lòt bagay ki nesesè pou yon aktivite API, ou ka jwenn aksè atravè sèvè a nan yon sistèm kliyan-sèvè.
Resous yo idantifye pa yon Idantifikasyon Resous Inifòm. Tèks, JSON, oswa XML se tout reprezantasyon akseptab nan resous yo. Lè w te deklare sa, pa gen okenn limit sou fòma reprezantasyon an.
9. Kisa JAX-RS vle di pou ou?
Li pi senp pou kreye sèvis entènèt RESTful nan Java gras a API Java pou Sèvis entènèt RESTful, yo rele souvan JAX-RS. Devlopè yo ka dekri resous yo ak operasyon yo ki ka fèt sou yo lè l sèvi avèk anotasyon yo bay yo.
10. Ki sa ki fè distenksyon AJAX ak REST youn ak lòt?
Ajax:
- Ajax se yon gwoup teknoloji ki pèmèt pou à dynamique de koòdone itilizatè eleman san yo pa oblije rechaje paj la.
- Ajax retire kominikasyon asynchrone ant kliyan an ak sèvè.
REPO:
- REST mande kominikasyon ant sèvè a ak kliyan an.
- Itilizasyon resous yo enpòtan pou estrikti URL la ak modèl demann/repons REST itilize.
11. Èske ou ka lis kèk dezavantaj sèvis entènèt RESTful?
Sesyon yo pa ka kenbe piske sèvis yo respekte nosyon apatrid. (Kliyan an responsab pou pase id sesyon an pandan tout simulation sesyon an.)
Kontrent sekirite yo pa fondamantal pou REST. Pwotokòl yo ki sèvi ak li eritye prekosyon sekirite yo. Se poutèt sa, pran prekosyon pandan w ap mete mezi sekirite an plas, tankou entegre otantifikasyon ki baze sou SSL/TLS, enpòtan.
12. Ki sa ki fè distenksyon teknik PUT ak POST youn ak lòt?
METE:
- Pa gen okenn kachèt pou repons PUT yo.
- Idempotent (sa vle di plizyè demann ap bay menm rezilta a)
- chaj demann demann lan mete ajou oswa ranplase resous sib la.
POST:
- idempotent pa (sa vle di, demann miltip pral bay miltip nan menm resous la)
- Sèvè entènèt la trete chaj demann lan ki baze sou resous ki gen entansyon an.
- Si yo enkli header apwopriye kachèt-kontwòl la, repons POST yo ka kache.
13. Ki jan ou teste sèvis entènèt RESTful?
Tès sèvis entènèt RESTful ka ede pa yon kantite zouti, tankou Swagger ak Postman. Enspekte paramèt demann tankou paramèt rechèch, en-tête, ak en-tête repons se posib pa abondans lèt la nan karakteristik.
Yo ka itilize Postman pou fè demann nan pwen final epi montre rezilta yo. Ak XML ak JSON ka kreye nan repons sa yo.
Postman ak Swagger tou de bay fonctionnalités trè konparab. Nan lòt men an, Swagger ofri tou kapasite tankou dokiman pwen final.
14. Dekri yon API REST nan mond reyèl la.
- Sit entènèt vwayaj ak tikè yo ka ogmante orè vòl ak pri konpayi avyon yo disponib atravè API yo.
- Pou aplikasyon pou kat ak navigasyon (tankou Google Maps) itilize yo, ajans transpò piblik yo souvan fè done yo disponib an tan reyèl atravè API.
- Aplikasyon meteyo yo sèvi ak API ouvè ki fè echanj done metewolojik pou montre enfòmasyon sou move tan.
- Devlopè yo ka jwenn aksè nan done kat Google Maps atravè yon kantite API anime li yo. Devlopè yo itilize API sa yo pou entegre kat dinamik nan aplikasyon yo ak sit entènèt yo.
15. Kijan Achitekti Mikwosèvis travay?
- Demann yo voye pa plizyè kliyan lè l sèvi avèk divès aparèy.
- Apre konfime idantite kliyan yo, founisè idantite yo bay siy sekirite yo.
- Demann kliyan yo jere pa API Gateway.
- Tout materyèl sistèm nan konsève kòm kontni estatik.
- Zouti jesyon an tcheke balans sèvis sou nœuds ak nenpòt defo.
- Dekouvèt chemen kominikasyon ant mikwosèvis yo ede pa dekouvèt sèvis yo.
- Sant done ak sèvè prokurasyon yo fè sistèm rezo gaye yo rele rezo livrezon kontni.
- Sèvis adistans bay aksè enfòmasyon nan yon distans.
16. Ki sa egzakteman se kachèt?
Pratik pou tanporèman kenbe yon kopi yon repons sèvè yon kote (tankou memwa òdinatè) yo nan lòd yo jwenn aksè nan li pita pi rapid ke yo rekonèt kòm kachèt.
Caching amelyore vitès sèvè lè w ap itilize API REST lè li diminye kantite travay sèvè a dwe fè pou satisfè demann lan. Aplikasyon ki itilize API a kouri pi vit gras a kachèt paske yo pa oblije soumèt yon nouvo demann chak fwa yo bezwen yon resous.
Jaden an kachèt-kontwòl tèt repons HTTP a gen enfòmasyon sou konbyen tan kliyan an ka mete yon resous anvan li bezwen jwenn aksè ankò.
17. Dekri chaj.
Chaj la nan REST refere a enfòmasyon ki nan kò a nan repons HTTP an. Kliyan an te itilize teknik GET pou mande done yo an kesyon.
Dokiman ki gen tèks tweet la ak nenpòt dosye ki nesesè pou mete tweet la sou yon sit entènèt pral enkli nan chaj la, pou egzanp, si ou mande API Twitter pou yon tweet espesifik. Anplis de sa, chaj la ka enkli nan demann HTTP lè l sèvi avèk metòd POST la.
18. Diferansye SAVON Vs REPO?
- Kontrèman ak SOAP, ki ka sèlman okipe XML, REST pèmèt yon pakèt fòma resous, tankou XML, tèks, HTML, foto, videyo, ak plis ankò.
- Lè sekirite enpòtan pou aplikasyon sou entènèt, SOAP itil. REST pa ka itilize lè tranzaksyon yo dwe konplete an sekirite paske li pa patikilyèman an sekirite.
- Depi SOAP se sèlman yon pwotokòl, REST ka sèvi ak li nan sèvis entènèt li yo, men se pa nan lòt fason alantou.
- Pandan ke REST se sèlman yon modèl achitekti yo itilize pou devlope sèvis entènèt epi li respekte sèten limit tankou konfigirasyon kliyan-sèvè, apatrid, repons kachèt, sistèm kouch, ak koòdone ki konsistan, SOAP se yon pwotokòl ki opere sou estanda patikilye ki dwe respekte sevè. pou.
- Pandan ke REST itilize idantifyan resous inivèsèl (URI), SOAP itilize koòdone sèvis pou bay kapasite li nan aplikasyon kliyan yo. REST gen yon bezwen bandwidth pi ba pase SOAP paske mesaj SOAP yo gen plis enfòmasyon-lou.
19. Èske yo ka itilize pwotokòl sekirite transpò kouch (TLS) ak REST?
An reyalite, nou kapab. Kliyan REST la ak kominikasyon sèvè a ankode atravè TLS, epi pwotokòl la bay kliyan tou yon fason pou otantifye sèvè yo.
Akòz lefèt ke li se ranplasman Secure Socket Layer a, li itilize pou kominikasyon an sekirite (SSL). Enplemante sèvis entènèt RESTful gen siksè ak HTTPS paske li kolabore efektivman ak tou de TLS ak SSL.
REST la eritye karakteristik pwotokòl li aplike a, ki se yon bagay pou w sonje isit la. Kòm yon rezilta, pwoteksyon sekirite yo depann sou pwotokòl la ke REST itilize.
20. Metòd idempotan: kisa yo ye? Ki jan li aplike nan mond lan nan sèvis entènèt RESTful?
Lè URI a se menm bagay la, kèk metòd HTTP nan yon demann gen menm enpak sou sèvè a si yo delivre yon fwa oswa plizyè fwa. Teknik idempotent yo se sa yo rele yo.
Pa egzanp, pa gen pwoblèm konbyen fwa yon URI lè l sèvi avèk metòd GET yo kouri, sèvè a ap toujou fè eksperyans menm rezilta a. Metòd Idempotent gen ladan GET, PUT, ak PATCH, pou nonmen kèk.
Metòd HTTP Idempotent se kèk nan RESTful itilize yo aplikasyon pou entènèt. Yo nesesè pou garanti konsistans nan aktivite sèvis entènèt RESTful yo.
Kliyan ki sèvi ak API REST ka fè erè kòd ki fòse yon API REST fè demann aksidantèlman repete. Apèl sa yo gen potansyèl pou mal itilize resous yo.
21. Ki sa ki fonksyonalite HTTP Basic Otantifikasyon?
Lè w ap itilize Otantifikasyon Debaz kòm yon pati nan APIs, itilizatè a dwe soumèt non itilizatè a ak modpas, ki konkatenasyon pa navigatè a nan fòm "non itilizatè: modpas" ak base64 kode.
Sou chak demann HTTP ki soti nan navigatè a, valè kode la delivre kòm valè pou header "Otorizasyon". Paske kalifikasyon yo jis kode, li rekòmande pou itilize fòm sa a lè w ap voye demann HTTPS paske yo pa an sekirite epi nenpòt moun ka entèsepte yo si yo pa itilize pwotokòl sekirite yo.
22. Èske w panse GraphQL se pi bon chwa pou kreye achitekti mikwosèvis?
Microservices ak GraphQL mache pafètman paske GraphQL kenbe achitekti mikwosèvis ou an sekrè pou kliyan ou yo.
Soti nan fen devan an, ou vle tout done ou yo soti nan yon sèl API, pandan y ap soti nan fen nan dèyè, ou vle divize li an mikwosèvis. Pi bon teknik mwen konnen pou reyalize tou de se lè l sèvi avèk GraphQL.
Li pèmèt ou divize backend ou an mikwosèvis pandan y ap toujou bay chak aplikasyon yon sèl API epi pèmèt rantre nan done ki sòti nan divès sèvis.
23. Ki distenksyon prensipal yo ant metòd HTTP ki san danje ak idempotan?
Metòd idempotent pwodui menm rezilta lè yo envoke yon fwa oswa plizyè fwa nan menm demann lan. Metòd PUT la se idempotan.
Tout fason ki an sekirite yo idempotan, men se pa tout metòd idempotan ki an sekirite paske metòd ki an sekirite pa chanje resous yo. Pou egzanp, GET an sekirite paske li jis rekipere done epi li pa chanje resous la.
Anplis de sa, li se idempotent, sa vle di ke li ap toujou retounen menm repons lan lè yo envoke.
24. Kisa API JAX-RS vle di pa Klas Resous Rasin RESTful?
Java Enterprise Edition bay klas ak koòdone ki respekte kondisyon API JAX-RS yo. Avèk èd JAX-RS, kreye sèvis entènèt Java nan style achitekti REST la vin pi fasil.
Nan API JAX-RS la, klas resous rasin yo se jis "klan ansyen objè java," oswa POJO. Yo nan lòd yo aplike resous entènèt ki nesesè yo, yo anplwaye JAX-RS annotations.
Yo swa gen @chemen anons oswa omwen youn nan metòd yo gen @path annotations. Yo ka rezime kòm klas Java ak metòd pou fè fas ak pwen final API.
25. Kisa Postman ye egzakteman, e poukisa yo itilize li?
Yo itilize yon zouti devlopman API ki rele Postman pou kreye, teste ak modifye API yo. Zouti sa a ka itilize pa devlopè pou nenpòt karakteristik yo mande pou yon API. Li senplifye ak fasilite travay devlopè yo.
Postman fè li fasil pou fè yon varyete de requêtes HTTP, ki gen ladan GET, POST, PUT, ak PATCH, sove anviwònman pou itilize pita, ak konvèti APIs nan kòd nan yon kantite diferan lang.
Chak etap nan sik API a vin pi senp ak Postman, epi koperasyon rasyonalize pou devlopman API pi rapid.
Anplis de sa, li pèmèt devlopè yo jere dokiman yo, espesifikasyon, ka tès yo, pwosesis, ak katalòg API yo.
26. Ki jan yo kenbe API REST an sekirite?
Piske API REST pa sèvi ak pwoteksyon sekirite menm jan ak API SOAP, done sansib yo pa ta dwe voye oswa rekipere lè l sèvi avèk yo.
Sepandan, API REST ki fè konfyans yo kontinye entegre kontwòl sekirite pou transmisyon done ki an sekirite ak serye.
- Otantifikasyon ak otorizasyon: Chak ak chak demann ki fèt nan API a dwe pase de chèk sa yo. Verifye idantite kliyan an atravè otantifikasyon ak valide ke yo gen otorite pou jwenn aksè nan resous yo mande yo atravè otorizasyon se de pwosesis diferan.
- Validasyon: Anvan API a bay aksè nan resous li yo, demann yo dwe toujou tcheke pou kòd posib danjere apre otantifikasyon ak otorizasyon. Yon sèvè ta konsa ouvè a yon atak piki.
- Validasyon: Anvan API a bay aksè nan resous li yo, demann yo dwe toujou tcheke pou kòd posib danjere apre otantifikasyon ak otorizasyon. Yon sèvè ta konsa ouvè a yon atak piki.
- Chiffrement: TLS/SSL chifreman pwoteje koneksyon ki genyen ant kliyan an ak sèvè epi li anpeche entru yo entèsepte demann ak repons.
- Teknik ki limite pousantaj, tankou limit ak throttling, pwoteje sèvè yo kont atak fòs brital tankou DDoS ki vize degrade oswa fè aksidan yo.
- Pa gen enfòmasyon sansib nan URI yo: URI resous yo pa ta dwe genyen okenn done ki pwoteje (tankou non itilizatè, modpas, oswa siy otantifikasyon).
konklizyon
Felisitasyon! Plizyè kesyon entèvyou API REST debaz ak konplèks ak solisyon respektif yo kounye a nan men ou.
Kounye a ke ou gen yon bon konsèp sou fason pou reponn kèk nan kesyon entèvyou tipik REST API yo, ou ka kontinye pou reponn a entèvyou yo. Pwochen etap la depann de objektif ou yo.
Vizite Seri Entèvyou ak Hashdork pou prepare pou entèvyou.
Kite yon Reply