មាតិកា[លាក់][បង្ហាញ]
- 1. តើអ្នកយល់យ៉ាងណាចំពោះ REST?
- 2. តើ REST API មានន័យដូចម្តេច?
- 3. តើ URI ជាអ្វី?
- 4. តើសេវាកម្មគេហទំព័រ RESTful មានលក្ខណៈអ្វីខ្លះ?
- 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 Vs REST?
- 19. តើពិធីការសុវត្ថិភាពស្រទាប់ដឹកជញ្ជូន (TLS) អាចប្រើជាមួយ REST បានទេ?
- 20. វិធីសាស្រ្ត Ideempotent: តើវាជាអ្វី? តើវាអនុវត្តចំពោះពិភពនៃសេវាកម្មគេហទំព័រ RESTful យ៉ាងដូចម្តេច?
- 21. តើមុខងារ HTTP Basic Authentication ជាអ្វី?
- 22. តើអ្នកគិតថា GraphQL គឺជាជម្រើសដ៏ល្អបំផុតសម្រាប់ការបង្កើតស្ថាបត្យកម្មមីក្រូសេវាកម្មទេ?
- 23. តើអ្វីជាភាពខុសគ្នាចំបងរវាងវិធីសាស្ត្រ HTTP ដែលមានសុវត្ថិភាព និងគ្មានប្រសិទ្ធភាព?
- 24. តើ JAX-RS API បង្កប់ន័យអ្វីដោយ RESTful Root Resource Classes?
- 25. តើ Postman គឺជាអ្វី ហើយហេតុអ្វីបានជាគេប្រើវា?
- 26. តើ REST APIs រក្សាសុវត្ថិភាពដោយរបៀបណា?
- សន្និដ្ឋាន
ការវិវត្តន៍របស់ REST បានធ្វើឱ្យ APIs អាចចូលប្រើបានមិនគួរឱ្យជឿ ខណៈពេលដែលបង្ហាញពីកម្លាំង និងសក្តានុពលពេញលេញរបស់ពួកគេ។ REST APIs ងាយស្រួលក្នុងការបង្កើត និងឃ្លាំងសម្ងាត់ ដោយសារស្ថាបត្យកម្មតម្រង់ទិសធនធានរបស់ពួកគេ។
លើសពីនេះទៀត ពេញមួយពេល RESTful APIs គឺជាអ្នកនាំមុខគេនៃការអភិវឌ្ឍន៍សំខាន់ៗផ្សេងទៀតដូចជា cloud computing និង microservice-based design។
ដូច្នេះវាមិនគួរមានការភ្ញាក់ផ្អើលទេដែលអ្នកអភិវឌ្ឍន៍ REST API មានតម្រូវការនាពេលបច្ចុប្បន្ននេះ ដោយសារពួកគេផ្តល់ឱ្យអាជីវកម្មដែលជួលសេវាកម្ម RESTful នូវការប្រកួតប្រជែង។ REST APIs គឺជានិន្នាការរចនាដ៏ពេញនិយម។
ក្រុមហ៊ុន IT ជាច្រើនចង់បានចំណេះដឹង REST API ពី អ្នកអភិវឌ្ឍន៍កម្មវិធី ហើយសួរអំពីវានៅក្នុងបទសម្ភាសន៍បច្ចេកទេស។
នេះគឺជាសំណួរសំភាសន៍ REST API ធម្មតាបំផុតមួយចំនួន ដែលនឹងជួយអ្នកឱ្យត្រៀមខ្លួនសម្រាប់ការសម្ភាសន៍នៅក្រុមហ៊ុនផ្សេងៗ ប្រសិនបើអ្នកចង់ធ្វើការនៅក្នុងផ្នែកអភិវឌ្ឍន៍ REST API ។
1. តើអ្នកយល់យ៉ាងណាចំពោះ REST?
REST គឺជាគំរូស្ថាបត្យកម្មសម្រាប់រចនាកម្មវិធីតាមគេហទំព័រដែលផ្អែកលើ Hypertext Transfer Protocol (HTTP)។
REST កំណត់ស្តង់ដារជាក់លាក់ដែលសេវាកម្មគេហទំព័រត្រូវតែបំពេញ ដើម្បីចាត់ទុកថា RESTful ។ អនុសាសន៍ទាំងនេះធានាថាសំណើ និងធនធានត្រូវបានបញ្ជូនយ៉ាងរហ័ស និងមានប្រសិទ្ធភាពរវាងម៉ាស៊ីនភ្ញៀវ និងម៉ាស៊ីនមេ ដោយប្រើពិធីការ HTTP ស្តង់ដារ។
2. តើ REST API មានន័យដូចម្តេច?
តំណភ្ជាប់ពីកម្មវិធីទៅផ្នែកទន់ដែលគេស្គាល់ថាជាចំណុចប្រទាក់កម្មវិធីកម្មវិធីអាចឱ្យទំនាក់ទំនង និងការចែករំលែកទិន្នន័យរវាងកម្មវិធីឯករាជ្យ។ ឧទាហរណ៍ គេហទំព័រព័ត៌មានអាចប្រើ Twitter API ដើម្បីស្វែងរក tweets ពាក់ព័ន្ធដោយស្វ័យប្រវត្តិ ហើយបញ្ចូលវាទៅក្នុងរឿងព័ត៌មាន។
API ដែលគោរពតាមគោលការណ៍ REST ត្រូវបានគេស្គាល់ថាជា REST API ដែលជួនកាលគេស្គាល់ថាជា RESTful API ។ នៅក្នុង REST API បំណែកនៃទិន្នន័យនីមួយៗត្រូវបានចាត់ចែងជាធនធាន និងផ្តល់អត្តសញ្ញាណធនធានស្តង់ដារដាច់ដោយឡែក (URI)។
ជាឧទាហរណ៍ Twitter API ធ្វើឱ្យរាល់ tweet ជាធនធានដែលអាចទាញយកមកវិញបាន ដែលអាចរកបានសម្រាប់អតិថិជន។ Twitter API អាចត្រូវបានប្រើដោយអ្នកប្រើប្រាស់ដើម្បីបង្ហោះ tweets និងអនុវត្តការងារគេហទំព័រផ្សេងទៀត។
3. តើ URI ជាអ្វី?
A បណ្តាញកុំព្យូទ័រ ធនធានអាចត្រូវបានសំដៅទៅលើការប្រើប្រាស់ URI ឬឧបករណ៍កំណត់អត្តសញ្ញាណធនធានឯកសណ្ឋាន។ វាបម្រើជាមធ្យោបាយនៃការបំបែកធនធានមួយពីធនធានមួយទៀត។ ប្រភពអាចឬប្រហែលជាមិនមានអ៊ីនធឺណិត។
ដោយសាររចនាសម្ព័ន្ធស្តង់ដាររបស់ពួកគេ URIs ធ្វើឱ្យវាសាមញ្ញក្នុងការតភ្ជាប់ទៅសូម្បីតែប្រភេទផ្សេងៗនៃធនធាន។ ទីតាំង ឬឈ្មោះនៃធនធានត្រូវបានបញ្ចូលក្នុង URIs រួមជាមួយនឹងខ្សែអក្សរ។
URI ត្រូវបានបង្កើតឡើងដោយផ្លូវ គ្រោងការណ៍ សំណួរ និងធាតុផ្សេងទៀត ប៉ុន្តែមិនរួមបញ្ចូលពិធីការទេ។
ដោយប្រើពិធីការ URLs (Uniform Resource Locators) ត្រូវបានប្រើដើម្បីស្វែងរកធនធាននៅលើអ៊ីនធឺណិត ឬអាចចូលប្រើបានតាមរយៈវា។
4. តើសេវាកម្មគេហទំព័រ RESTful មានលក្ខណៈអ្វីខ្លះ?
- គំរូអតិថិជន-ម៉ាស៊ីនមេ គឺជាមូលដ្ឋានគ្រឹះនៃសេវាកម្ម។
- សេវាកម្មអាចចូលប្រើធនធានតាមរយៈការប្រើប្រាស់ URIs ។
- សេវាកម្មប្រើប្រាស់ពិធីការ HTTP ដើម្បីទទួលបានទិន្នន័យ/ធនធាន ដំណើរការសំណួរ និងធ្វើកិច្ចការផ្សេងៗទៀត។
- ការផ្ញើសារគឺជាឈ្មោះនៃវិធីសាស្ត្រដែលប្រើដើម្បីទំនាក់ទំនងរវាងម៉ាស៊ីនភ្ញៀវ និងម៉ាស៊ីនមេ។
- សេវាកម្មទាំងនេះក៏អាចអនុវត្តលំនាំស្ថាបត្យកម្ម REST ដោយប្រើសេវាកម្ម SOAP ផងដែរ។
- ដើម្បីកាត់បន្ថយការហៅរបស់ម៉ាស៊ីនមេសម្រាប់ប្រភេទដូចគ្នានៃសំណើដដែលៗ សេវាកម្មទាំងនេះក៏ប្រើគំនិតនៃឃ្លាំងសម្ងាត់ផងដែរ។
5. តើគោលការណ៍ណែនាំរបស់ REST មានអ្វីខ្លះ?
លក្ខណៈវិនិច្ឆ័យចំនួនប្រាំត្រូវតែបំពេញដោយ REST APIs៖
ការផ្ដាច់ម៉ាស៊ីនភ្ញៀវ-ម៉ាស៊ីនមេ៖ មានតែសំណើ និងការឆ្លើយតបជាស៊េរីប៉ុណ្ណោះដែលអាចប្រើបាន ដើម្បីទំនាក់ទំនងរវាងម៉ាស៊ីនភ្ញៀវ និងម៉ាស៊ីនមេ។ មានតែអតិថិជន និងម៉ាស៊ីនមេប៉ុណ្ណោះដែលអាចផ្ញើសំណើ និងចម្លើយរៀងៗខ្លួន។ គំនិតត្រង់នេះអាចឲ្យភាគីទាំងពីរអាចដំណើរការដោយឯករាជ្យពីគ្នាទៅវិញទៅមក។
ចំណុចប្រទាក់ឯកសណ្ឋាន៖ ត្រូវតែមានពិធីការឯកសណ្ឋានសម្រាប់ការតភ្ជាប់ម៉ាស៊ីនភ្ញៀវ-ម៉ាស៊ីនមេទាំងអស់។ ពិធីការនេះសម្រាប់ REST គឺ HTTP ។ ដោយសារកម្មវិធីនីមួយៗស្នើសុំ និងបញ្ជូនទិន្នន័យដោយប្រើភាសាដូចគ្នា ចំណុចប្រទាក់ជាប់គ្នាធ្វើឱ្យការរួមបញ្ចូលកាន់តែងាយស្រួល។
គ្មានរដ្ឋ៖ ម៉ាស៊ីនមេមិនរក្សាទុកកំណត់ត្រាណាមួយនៃសំណើ ឬចម្លើយពីមុននៅក្នុងការទំនាក់ទំនងគ្មានរដ្ឋទេ។ សំណើ និងចម្លើយនីមួយៗផ្តល់ព័ត៌មានលម្អិតទាំងអស់ដែលត្រូវការដើម្បីបំពេញការផ្លាស់ប្តូរ។ ការប្រាស្រ័យទាក់ទងដោយគ្មានរដ្ឋជួយបង្កើនល្បឿន រក្សាទុកអង្គចងចាំ និងកាត់បន្ថយភាពតានតឹងនៅលើម៉ាស៊ីនមេ។ លើសពីនេះ វាជៀសវាងសក្តានុពលនៃការស្នើសុំបរាជ័យ ដោយសារទិន្នន័យមិនពេញលេញ។
ប្រព័ន្ធស្រទាប់៖ ម៉ាស៊ីនមេដែលរស់នៅរវាងម៉ាស៊ីនភ្ញៀវ និងម៉ាស៊ីនមេ API ត្រូវបានគេហៅថាជាស្រទាប់។ ម៉ាស៊ីនមេបន្ថែមទាំងនេះដំណើរការសេវាកម្មជាច្រើនដូចជាការរកឃើញសារឥតបានការ និងការបង្កើនប្រសិទ្ធភាពល្បឿន។ ស្រទាប់នៅក្នុង REST គឺជាម៉ូឌុល មានន័យថាពួកគេអាចបន្ថែម និងលុបដោយមិនប៉ះពាល់ដល់ទំនាក់ទំនងរវាងម៉ាស៊ីនភ្ញៀវ និងម៉ាស៊ីនមេ API ។
ឃ្លាំងសម្ងាត់៖ អតិថិជនអាចផ្ទុកធនធានណាមួយដើម្បីបង្កើនល្បឿន ប្រសិនបើចម្លើយរបស់ម៉ាស៊ីនមេបង្ហាញថាថាតើធនធាននោះអាចលាក់ទុកបានឬអត់។
ការសរសេរកូដតាមតម្រូវការ៖ ជាការឆ្លើយតប API អាចបញ្ជូនកូដកុំព្យូទ័រដែលអាចប្រតិបត្តិបានដល់អតិថិជន។ បន្ទាប់មកកម្មវិធីអតិថិជនអាចដំណើរការកូដនៅលើផ្នែកខាងក្រោយរបស់វាផ្ទាល់។
6. រៀបរាប់វិធីសាស្រ្ត HTTP ដែល REST គាំទ្រ។
វិធីសាស្ត្រ HTTP ដែល REST គាំទ្រគឺ៖
- ទទួលបាន៖ វិធីសាស្ត្រនេះស្នើសុំធនធាននៅ URL ដែលបានបញ្ជាក់។ ស្ថាប័នសំណើមិនគួរត្រូវបានរួមបញ្ចូលទេព្រោះវានឹងត្រូវបានមិនអើពើ។ វាអាចធ្វើទៅបានក្នុងការទុកវាក្នុងមូលដ្ឋាន ឬនៅលើម៉ាស៊ីនមេ។
- ប្រកាស៖ វិធីសាស្ត្រនេះផ្ញើទិន្នន័យទៅសេវាកម្មសម្រាប់ដំណើរការ ហើយជាធម្មតាសេវាគួរតែត្រឡប់ធនធានថ្មី ឬផ្លាស់ប្តូរ។
- PUT៖ ធនធានត្រូវបានធ្វើបច្ចុប្បន្នភាពនៅ URL សំណើ។
- លុប៖ ធនធានត្រូវបានលុបនៅ URL សំណើ។
- ជម្រើស៖ វាកំណត់វិធីសាស្ត្រដែលគាំទ្រ។
- HEAD៖ ទិន្នន័យមេតារបស់ URL សំណើត្រូវបានត្រឡប់មកវិញ។
7. ពិពណ៌នាអំពីការរឹតបន្តឹងដែលដាក់ដោយចំណុចប្រទាក់ជាប់គ្នា។
ដើម្បីបំបែកម៉ាស៊ីនភ្ញៀវចេញពីម៉ាស៊ីនមេ ចំណុចប្រទាក់ជាប់លាប់ត្រូវបានទាមទារ។
ដើម្បីសម្រេចបាននូវចំណុចប្រទាក់ជាប់លាប់ ឧបសគ្គទាំងបួនខាងក្រោមត្រូវបានទាមទារ៖
- ការកំណត់អត្តសញ្ញាណធនធាន៖ សំណើអតិថិជនត្រូវតែប្រើប្រាស់លេខសម្គាល់ធនធានស្តង់ដារដើម្បីកំណត់អត្តសញ្ញាណធនធាន (URIs)
- ការរៀបចំធនធានដោយប្រើតំណាងទាំងនេះ៖ អតិថិជនមានព័ត៌មានទាំងអស់ដែលត្រូវការដើម្បីអាចផ្លាស់ប្តូរស្ថានភាពធនធាននៅពេលដែលពួកគេទទួលបានតំណាងធនធានពីម៉ាស៊ីនមេ។
- សារដែលពិពណ៌នាដោយខ្លួនឯង៖ សាររួមមានទិន្នន័យមេតាទាំងអស់ និងព័ត៌មានផ្សេងទៀតដែលត្រូវការសម្រាប់អ្នកទទួលដើម្បីយល់ពីពួកគេ។
- Hypermedia ជាម៉ាស៊ីនស្ថានភាពកម្មវិធី៖ ឆានែលសម្រាប់ការប្រាស្រ័យទាក់ទងជាមួយម៉ាស៊ីនភ្ញៀវ-ម៉ាស៊ីនមេគឺ Hypermedia ដូចជា 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 គឺជាក្រុមនៃបច្ចេកវិទ្យាដែលអនុញ្ញាតឱ្យមានការធ្វើបច្ចុប្បន្នភាពថាមវន្ត ចំណុចប្រទាក់អ្នកប្រើ ធាតុដោយមិនចាំបាច់ផ្ទុកទំព័រឡើងវិញ។
- Ajax លុបទំនាក់ទំនងអសមកាលរវាងម៉ាស៊ីនភ្ញៀវ និងម៉ាស៊ីនមេ។
សម្រាក៖
- REST ទាមទារទំនាក់ទំនងរវាងម៉ាស៊ីនមេ និងអតិថិជន។
- ការប្រើប្រាស់ធនធានមានសារៈសំខាន់ចំពោះរចនាសម្ព័ន្ធ URL និងលំនាំសំណើ/ការឆ្លើយតបដែលប្រើដោយ REST ។
11. តើអ្នកអាចរាយបញ្ជីគុណវិបត្តិនៃសេវាកម្មគេហទំព័រ RESTful ខ្លះបានទេ?
វគ្គមិនអាចរក្សាទុកបានទេ ដោយសារសេវាកម្មប្រកាន់ខ្ជាប់នូវសញ្ញាណនៃភាពគ្មានរដ្ឋ។ (អតិថិជនត្រូវទទួលខុសត្រូវចំពោះការឆ្លងកាត់លេខសម្គាល់សម័យពេញមួយការក្លែងធ្វើនៃវគ្គ។ )
ឧបសគ្គសុវត្ថិភាពមិនមែនជាមូលដ្ឋានសម្រាប់ REST ទេ។ ពិធីការដែលប្រើវាទទួលមរតកការប្រុងប្រយ័ត្នសុវត្ថិភាព។ ដូច្នេះ ការប្រុងប្រយ័ត្នខណៈពេលដែលដាក់វិធានការសុវត្ថិភាព ដូចជាការរួមបញ្ចូលការផ្ទៀងផ្ទាត់ដែលមានមូលដ្ឋានលើ SSL/TLS គឺមានសារៈសំខាន់។
12. តើអ្វីជាភាពខុសគ្នារវាងបច្ចេកទេស PUT និង POST ពីគ្នាទៅវិញទៅមក?
ដាក់៖
- មិនមានឃ្លាំងសម្ងាត់សម្រាប់ការឆ្លើយតប PUT ទេ។
- Ideempotent (ឧទាហរណ៍សំណើច្រើននឹងផ្តល់លទ្ធផលដូចគ្នា)
- អាប់ដេតការផ្ទុកបន្ទុករបស់សំណើ ឬជំនួសធនធានគោលដៅ។
POST៖
- ideempotent not (ពោលគឺ សំណើច្រើននឹងផ្តល់ផលច្រើននៃធនធានដូចគ្នា)
- ម៉ាស៊ីនមេគេហទំព័រដំណើរការបន្ទុកនៃសំណើដោយផ្អែកលើធនធានដែលមានបំណង។
- ប្រសិនបើបឋមកថាការគ្រប់គ្រងឃ្លាំងសម្ងាត់សមស្របត្រូវបានរួមបញ្ចូល ការឆ្លើយតប POST អាចត្រូវបានដាក់ក្នុងឃ្លាំងសម្ងាត់។
13. តើអ្នកសាកល្បងសេវាកម្មគេហទំព័រ RESTful យ៉ាងដូចម្តេច?
ការធ្វើតេស្តសេវាកម្មគេហទំព័រ RESTful អាចត្រូវបានជួយដោយឧបករណ៍មួយចំនួន រួមទាំង Swagger និង Postman ។ ការពិនិត្យមើលប៉ារ៉ាម៉ែត្រសំណើដូចជា ប៉ារ៉ាម៉ែត្រសំណួរ បឋមកថា និងក្បាលឆ្លើយតប អាចធ្វើទៅបានដោយលក្ខណៈពិសេសចុងក្រោយនេះ។
អ្នកប្រៃសណីយ៍អាចត្រូវបានប្រើដើម្បីធ្វើសំណើទៅកាន់ចំណុចបញ្ចប់ និងបង្ហាញលទ្ធផល។ ហើយ XML និង JSON អាចត្រូវបានបង្កើតពីចម្លើយទាំងនេះ។
Postman និង Swagger ទាំងពីរផ្តល់នូវមុខងារដែលអាចប្រៀបធៀបបាន។ ម្យ៉ាងវិញទៀត Swagger ក៏ផ្តល់នូវសមត្ថភាពដូចជាឯកសារបញ្ចប់។
14. ពិពណ៌នាអំពី REST API នៅក្នុងពិភពពិត។
- គេហទំព័រទេសចរណ៍ និងសំបុត្រអាចប្រើប្រាស់ពេលវេលាហោះហើរ និងតម្លៃដែលក្រុមហ៊ុនអាកាសចរណ៍បង្កើតឱ្យប្រើប្រាស់បានតាមរយៈ APIs ។
- ដើម្បីឱ្យកម្មវិធីផែនទី និងរុករក (ដូចជា Google Maps) ប្រើប្រាស់ពួកវា ភ្នាក់ងារដឹកជញ្ជូនសាធារណៈតែងតែធ្វើឱ្យទិន្នន័យរបស់ពួកគេមានជាសាធារណៈក្នុងពេលជាក់ស្តែងតាមរយៈ APIs ។
- កម្មវិធីអាកាសធាតុប្រើ APIs បើកចំហដែលផ្លាស់ប្តូរទិន្នន័យអាកាសធាតុដើម្បីបង្ហាញព័ត៌មានអាកាសធាតុ។
- អ្នកអភិវឌ្ឍន៍អាចចូលប្រើទិន្នន័យផែនទីរបស់ Google Maps តាមរយៈ APIs បង្ហោះមួយចំនួនរបស់វា។ APIs ទាំងនេះត្រូវបានប្រើប្រាស់ដោយអ្នកអភិវឌ្ឍន៍ដើម្បីបង្កប់ផែនទីថាមវន្តនៅក្នុងកម្មវិធី និងគេហទំព័ររបស់ពួកគេ។
15. តើស្ថាបត្យកម្ម Microservice ដំណើរការយ៉ាងដូចម្តេច?
- សំណើត្រូវបានផ្ញើដោយអតិថិជនជាច្រើនដោយប្រើឧបករណ៍ផ្សេងៗ។
- បន្ទាប់ពីបញ្ជាក់ពីអត្តសញ្ញាណរបស់អតិថិជន អ្នកផ្តល់អត្តសញ្ញាណផ្តល់សញ្ញាសម្ងាត់សុវត្ថិភាព។
- សំណើរបស់អតិថិជនត្រូវបានគ្រប់គ្រងដោយ API Gateway។
- សម្ភារៈទាំងអស់របស់ប្រព័ន្ធត្រូវបានរក្សាទុកជាមាតិកាឋិតិវន្ត។
- ឧបករណ៍គ្រប់គ្រងពិនិត្យមើលសមតុល្យនៃសេវាកម្មនៅលើថ្នាំង និងកំហុសណាមួយ។
- ការស្វែងយល់ពីផ្លូវនៃការប្រាស្រ័យទាក់ទងរវាងសេវាកម្មមីក្រូត្រូវបានជួយដោយការរកឃើញសេវាកម្ម។
- មជ្ឈមណ្ឌលទិន្នន័យ និងម៉ាស៊ីនមេប្រូកស៊ីបង្កើតប្រព័ន្ធបណ្តាញដែលបែកខ្ញែក ហៅថាបណ្តាញចែកចាយមាតិកា។
- សេវាពីចម្ងាយផ្តល់ការចូលប្រើព័ត៌មានពីចម្ងាយ។
16. តើឃ្លាំងសម្ងាត់ជាអ្វី?
ការអនុវត្តការរក្សាច្បាប់ចម្លងជាបណ្តោះអាសន្ននៃចម្លើយរបស់ម៉ាស៊ីនមេនៅកន្លែងណាមួយ (ដូចជាអង្គចងចាំកុំព្យូទ័រ) ដើម្បីចូលប្រើវានៅពេលក្រោយបានកាន់តែលឿនត្រូវបានគេស្គាល់ថាជាឃ្លាំងសម្ងាត់។
ឃ្លាំងសម្ងាត់បង្កើនល្បឿនម៉ាស៊ីនមេ នៅពេលប្រើ REST APIs ដោយកាត់បន្ថយចំនួនការងារដែលម៉ាស៊ីនមេត្រូវធ្វើ ដើម្បីបំពេញសំណើ។ កម្មវិធីដែលប្រើប្រាស់ API ដំណើរការលឿនជាងមុន ដោយសារឃ្លាំងសម្ងាត់ ព្រោះពួកគេមិនចាំបាច់ដាក់សំណើថ្មីរាល់ពេលដែលពួកគេត្រូវការធនធាន។
វាល Cache-Control របស់ប្រធានការឆ្លើយតប HTTP មានព័ត៌មានអំពីរយៈពេលដែលធនធានអាចត្រូវបានរក្សាទុកដោយម៉ាស៊ីនភ្ញៀវ មុនពេលវាត្រូវការចូលប្រើម្តងទៀត។
17. ពិពណ៌នាអំពីបន្ទុក។
បន្ទុកនៅក្នុង REST សំដៅលើព័ត៌មានដែលមាននៅក្នុងតួនៃការឆ្លើយតប HTTP ។ អតិថិជនបានប្រើបច្ចេកទេស GET ដើម្បីស្នើសុំទិន្នន័យដែលមានសំណួរ។
ឯកសារដែលមានអត្ថបទ Tweet និងឯកសារចាំបាច់សម្រាប់ដាក់ Tweet នៅលើគេហទំព័រ នឹងត្រូវបានបញ្ចូលទៅក្នុង payload ឧទាហរណ៍ ប្រសិនបើអ្នកសួរ Twitter API សម្រាប់ tweet ជាក់លាក់មួយ។ លើសពីនេះទៀត payload អាចត្រូវបានរួមបញ្ចូលនៅក្នុងសំណើ HTTP ដោយប្រើវិធីសាស្ត្រ POST ។
18. ភាពខុសគ្នា SOAP Vs REST?
- មិនដូច SOAP ដែលអាចគ្រប់គ្រងបានតែ XML នោះ REST បើកដំណើរការទ្រង់ទ្រាយធនធានជាច្រើន រួមទាំង XML អត្ថបទ HTML រូបភាព វីដេអូ និងច្រើនទៀត។
- នៅពេលដែលសុវត្ថិភាពមានសារៈសំខាន់សម្រាប់កម្មវិធីអនឡាញ SOAP មានប្រយោជន៍។ REST មិនអាចប្រើប្រាស់បានទេ នៅពេលដែលប្រតិបត្តិការត្រូវតែបញ្ចប់ដោយសុវត្ថិភាព ព្រោះវាមិនមានសុវត្ថិភាពពិសេស
- ដោយសារ SOAP គ្រាន់តែជាពិធីការ REST អាចប្រើវានៅក្នុងសេវាកម្មគេហទំព័ររបស់វា ប៉ុន្តែមិនមែនជាមធ្យោបាយផ្សេងទៀតទេ។
- ខណៈពេលដែល REST គ្រាន់តែជាគំរូស្ថាបត្យកម្មដែលត្រូវបានប្រើដើម្បីអភិវឌ្ឍសេវាកម្មគេហទំព័រ និងគោរពតាមការកំណត់មួយចំនួនដូចជា ការដំឡើងម៉ាស៊ីនភ្ញៀវ ភាពគ្មានរដ្ឋ ការឆ្លើយតបដែលអាចលាក់ទុកបាន ប្រព័ន្ធស្រទាប់ និងចំណុចប្រទាក់ជាប់លាប់ SOAP គឺជាពិធីការដែលដំណើរការលើស្តង់ដារជាក់លាក់ដែលត្រូវតែប្រកាន់ខ្ជាប់យ៉ាងម៉ត់ចត់។ ទៅ។
- ខណៈពេលដែល REST ប្រើឧបករណ៍កំណត់អត្តសញ្ញាណធនធានសកល (URIs) SOAP ប្រើចំណុចប្រទាក់សេវាកម្មដើម្បីផ្តល់សមត្ថភាពរបស់វាដល់កម្មវិធីអតិថិជន។ REST មានតម្រូវការកម្រិតបញ្ជូនទាបជាង SOAP ចាប់តាំងពីសារ SOAP មានព័ត៌មានធ្ងន់ជាង។
19. តើពិធីការសុវត្ថិភាពស្រទាប់ដឹកជញ្ជូន (TLS) អាចប្រើជាមួយ REST បានទេ?
តាមការពិតយើងអាច។ ម៉ាស៊ីនភ្ញៀវ REST និងទំនាក់ទំនងរបស់ម៉ាស៊ីនមេត្រូវបានអ៊ិនគ្រីបតាមរយៈ TLS ហើយពិធីការក៏ផ្តល់ឱ្យអតិថិជននូវវិធីមួយក្នុងការផ្ទៀងផ្ទាត់ម៉ាស៊ីនមេផងដែរ។
ដោយសារតែវាគឺជាការជំនួស Secure Socket Layer វាត្រូវបានប្រើប្រាស់សម្រាប់ការទំនាក់ទំនងសុវត្ថិភាព (SSL)។ ការអនុវត្តសេវាកម្មគេហទំព័រ RESTful ទទួលបានជោគជ័យជាមួយ HTTPS ព្រោះវាសហការយ៉ាងមានប្រសិទ្ធភាពជាមួយទាំង TLS និង SSL ។
REST ទទួលមរតកលក្ខណៈនៃពិធីការដែលវាអនុវត្ត ដែលជារឿងមួយដែលត្រូវកត់សម្គាល់នៅទីនេះ។ ជាលទ្ធផល ការការពារសុវត្ថិភាពគឺពឹងផ្អែកលើពិធីការដែល REST ប្រើ។
20. វិធីសាស្រ្ត Ideempotent: តើវាជាអ្វី? តើវាអនុវត្តចំពោះពិភពនៃសេវាកម្មគេហទំព័រ RESTful យ៉ាងដូចម្តេច?
នៅពេលដែល URI គឺដូចគ្នា វិធីសាស្ត្រ HTTP មួយចំនួននៅក្នុងសំណើមានផលប៉ះពាល់ដូចគ្នាលើម៉ាស៊ីនមេ ថាតើពួកគេត្រូវបានបញ្ជូនម្តង ឬច្រើនដងក៏ដោយ។ បច្ចេកទេស Idempotent គឺជាអ្វីដែលគេស្គាល់ថាជា។
ជាឧទាហរណ៍ មិនថា URI ប៉ុន្មានដងដែលប្រើវិធីសាស្ត្រ GET ត្រូវបានដំណើរការនោះទេ ម៉ាស៊ីនមេនឹងតែងតែទទួលបានលទ្ធផលដូចគ្នា។ វិធីសាស្រ្ត Idempotent រួមមាន GET, PUT, និង PATCH ដើម្បីដាក់ឈ្មោះមួយចំនួន។
វិធីសាស្ត្រ HTTP Idempotent គឺជាវិធីសាស្ត្រមួយចំនួនដែលប្រើប្រាស់ដោយ RESTful កម្មវិធីគេហទំព័រ. ពួកគេចាំបាច់ដើម្បីធានាភាពស៊ីសង្វាក់គ្នានៅក្នុងសកម្មភាពរបស់សេវាកម្មគេហទំព័រ RESTful ។
អតិថិជនដែលប្រើ REST APIs អាចបង្កើតកំហុសកូដដែលបង្ខំ REST API ឱ្យធ្វើសំណើម្តងហើយម្តងទៀតដោយចៃដន្យ។ ការហៅទូរសព្ទទាំងនេះមានសក្តានុពលក្នុងការប្រើប្រាស់ធនធានខុស។
21. តើមុខងារ HTTP Basic Authentication ជាអ្វី?
នៅពេលប្រើការផ្ទៀងផ្ទាត់មូលដ្ឋានជាផ្នែកនៃ API អ្នកប្រើប្រាស់ត្រូវតែបញ្ជូនឈ្មោះអ្នកប្រើប្រាស់ និងពាក្យសម្ងាត់ដែលត្រូវបានភ្ជាប់ដោយកម្មវិធីរុករកតាមទម្រង់ “ឈ្មោះអ្នកប្រើប្រាស់៖ ពាក្យសម្ងាត់” និងបានអ៊ិនកូដ base64 ។
រាល់សំណើ HTTP ពីកម្មវិធីរុករកតាមអ៊ីនធឺណិត តម្លៃដែលបានអ៊ិនកូដត្រូវបានផ្តល់ជាតម្លៃសម្រាប់បឋមកថា "ការអនុញ្ញាត" ។ ដោយសារតែព័ត៌មានសម្ងាត់ទើបតែត្រូវបានអ៊ិនកូដ វាត្រូវបានណែនាំឱ្យប្រើទម្រង់នេះនៅពេលផ្ញើសំណើ HTTPS ព្រោះវាមិនមានសុវត្ថិភាព និងអាចត្រូវបានស្ទាក់ចាប់ដោយនរណាម្នាក់ ប្រសិនបើពិធីការសុវត្ថិភាពមិនត្រូវបានប្រើប្រាស់។
22. តើអ្នកគិតថា GraphQL គឺជាជម្រើសដ៏ល្អបំផុតសម្រាប់ការបង្កើតស្ថាបត្យកម្មមីក្រូសេវាកម្មទេ?
Microservices និង GraphQL ដំណើរការបានយ៉ាងល្អឥតខ្ចោះ ដោយសារតែ GraphQL រក្សាស្ថាបត្យកម្ម microservice របស់អ្នកជាអាថ៌កំបាំងពីអតិថិជនរបស់អ្នក។
ពីផ្នែកខាងមុខ អ្នកចង់ឱ្យទិន្នន័យរបស់អ្នកទាំងអស់បានមកពី API តែមួយ ខណៈពេលដែលពីផ្នែកខាងក្រោយ អ្នកចង់បែងចែកវាទៅជា microservices។ បច្ចេកទេសល្អបំផុតដែលខ្ញុំដឹងដើម្បីសម្រេចបានទាំងពីរគឺដោយប្រើ GraphQL ។
វាអនុញ្ញាតឱ្យអ្នកបែងចែក backend របស់អ្នកទៅជា microservices ខណៈពេលដែលនៅតែផ្តល់ឱ្យកម្មវិធីនីមួយៗនូវ API តែមួយ និងបើកការភ្ជាប់ទិន្នន័យពីសេវាកម្មផ្សេងៗ។
23. តើអ្វីជាភាពខុសគ្នាចំបងរវាងវិធីសាស្ត្រ HTTP ដែលមានសុវត្ថិភាព និងគ្មានប្រសិទ្ធភាព?
វិធីសាស្ត្រ Idempotent បង្កើតលទ្ធផលដូចគ្នា នៅពេលហៅម្តង ឬច្រើនដង តាមរយៈសំណើដូចគ្នា។ វិធីសាស្ត្រ PUT គឺគ្មានប្រសិទ្ធភាព។
មធ្យោបាយសុវត្ថិភាពទាំងអស់គឺគ្មានប្រសិទ្ធភាព ប៉ុន្តែមិនមែនគ្រប់វិធីសាស្ត្រដែលគ្មានប្រសិទ្ធភាពទាំងអស់មានសុវត្ថិភាពនោះទេ ព្រោះវិធីសាស្ត្រសុវត្ថិភាពមិនផ្លាស់ប្តូរធនធាន។ ឧទាហរណ៍ GET គឺមានសុវត្ថិភាពព្រោះវាគ្រាន់តែទាញយកទិន្នន័យ និងមិនផ្លាស់ប្តូរធនធាន។
លើសពីនេះ វាគ្មានកម្លាំងទេ មានន័យថា វានឹងតែងតែផ្តល់ចម្លើយដដែលនៅពេលហៅ។
24. តើ JAX-RS API បង្កប់ន័យអ្វីដោយ RESTful Root Resource Classes?
Java Enterprise Edition ផ្តល់នូវថ្នាក់ និងចំណុចប្រទាក់ដែលប្រកាន់ខ្ជាប់នូវតម្រូវការ API JAX-RS ។ ដោយមានជំនួយពី JAX-RS ការបង្កើតសេវាកម្មគេហទំព័រ Java ក្នុងរចនាប័ទ្មស្ថាបត្យកម្ម REST ត្រូវបានធ្វើឱ្យកាន់តែងាយស្រួល។
នៅក្នុង JAX-RS API ថ្នាក់ធនធានជា root គឺគ្រាន់តែជា "វត្ថុ java ចាស់ធម្មតា" ឬ POJO ប៉ុណ្ណោះ។ ដើម្បីអនុវត្តធនធានគេហទំព័រចាំបាច់ ពួកគេប្រើប្រាស់ចំណារពន្យល់ JAX-RS ។
ពួកវាមានចំណារពន្យល់ @path ឬយ៉ាងហោចណាស់វិធីសាស្ត្រមួយរបស់ពួកគេមាន @path annotations ។ ពួកគេអាចត្រូវបានសង្ខេបជា Java classes ជាមួយនឹងវិធីសាស្រ្តសម្រាប់ដោះស្រាយជាមួយ API endpoints ។
25. តើ Postman គឺជាអ្វី ហើយហេតុអ្វីបានជាគេប្រើវា?
ឧបករណ៍អភិវឌ្ឍន៍ API ដែលហៅថា Postman ត្រូវបានប្រើដើម្បីបង្កើត សាកល្បង និងកែប្រែ APIs។ ឧបករណ៍នេះអាចត្រូវបានប្រើដោយអ្នកអភិវឌ្ឍន៍សម្រាប់លក្ខណៈពិសេសណាមួយដែលពួកគេត្រូវការសម្រាប់ API ។ វាជួយសម្រួល និងសម្រួលការងាររបស់អ្នកអភិវឌ្ឍន៍។
Postman ធ្វើឱ្យវាងាយស្រួលក្នុងការបង្កើតសំណួរ HTTP ជាច្រើន រួមទាំង GET, POST, PUT, និង PATCH រក្សាទុកបរិស្ថានសម្រាប់ការប្រើប្រាស់នៅពេលក្រោយ និងបំប្លែង APIs ទៅជាកូដជាភាសាផ្សេងៗគ្នា។
ដំណាក់កាលនីមួយៗនៃវដ្ត API ត្រូវបានធ្វើឱ្យកាន់តែសាមញ្ញជាមួយ Postman ហើយកិច្ចសហប្រតិបត្តិការត្រូវបានសម្រួលសម្រាប់ការអភិវឌ្ឍន៍ API កាន់តែលឿន។
លើសពីនេះ វាអនុញ្ញាតឱ្យអ្នកអភិវឌ្ឍន៍គ្រប់គ្រងឯកសារ លក្ខណៈបច្ចេកទេស ករណីសាកល្បង ដំណើរការ និងកាតាឡុក API ។
26. តើ REST APIs រក្សាសុវត្ថិភាពដោយរបៀបណា?
ដោយសារ REST APIs មិនប្រើការការពារសុវត្ថិភាពយ៉ាងម៉ត់ចត់ដូច SOAP API ទិន្នន័យរសើបមិនគួរត្រូវបានផ្ញើ ឬទាញយកដោយប្រើពួកវាទេ។
ទោះជាយ៉ាងណាក៏ដោយ REST APIs ដែលអាចជឿទុកចិត្តបានបន្តរួមបញ្ចូលការគ្រប់គ្រងសុវត្ថិភាពសម្រាប់ការបញ្ជូនទិន្នន័យប្រកបដោយសុវត្ថិភាព និងអាចទុកចិត្តបាន។
- ការផ្ទៀងផ្ទាត់ និងការអនុញ្ញាត៖ រាល់សំណើនីមួយៗដែលធ្វើឡើងចំពោះ API ត្រូវតែឆ្លងកាត់ការត្រួតពិនិត្យទាំងពីរនេះ។ ការផ្ទៀងផ្ទាត់អត្តសញ្ញាណរបស់អតិថិជនតាមរយៈការផ្ទៀងផ្ទាត់ និងផ្ទៀងផ្ទាត់ថាពួកគេមានសិទ្ធិចូលប្រើធនធានដែលបានស្នើសុំតាមរយៈការអនុញ្ញាតគឺជាដំណើរការពីរផ្សេងគ្នា។
- សុពលភាព៖ មុនពេល API ផ្តល់សិទ្ធិចូលប្រើធនធានរបស់វា សំណើនៅតែត្រូវពិនិត្យរកមើលកូដដែលអាចបង្កគ្រោះថ្នាក់បន្ទាប់ពីការផ្ទៀងផ្ទាត់ និងការអនុញ្ញាត។ ដូច្នេះម៉ាស៊ីនមេនឹងបើកចំហចំពោះការវាយប្រហារដោយការចាក់។
- សុពលភាព៖ មុនពេល API ផ្តល់សិទ្ធិចូលប្រើធនធានរបស់វា សំណើនៅតែត្រូវពិនិត្យរកមើលកូដដែលអាចបង្កគ្រោះថ្នាក់បន្ទាប់ពីការផ្ទៀងផ្ទាត់ និងការអនុញ្ញាត។ ដូច្នេះម៉ាស៊ីនមេនឹងបើកចំហចំពោះការវាយប្រហារដោយការចាក់។
- ការអ៊ិនគ្រីប៖ ការអ៊ិនគ្រីប TLS/SSL ការពារការតភ្ជាប់រវាងម៉ាស៊ីនភ្ញៀវ និងម៉ាស៊ីនមេ ហើយរារាំងពួក Hacker ពីការស្ទាក់ចាប់សំណើ និងចម្លើយ។
- បច្ចេកទេសកំណត់អត្រា ដូចជាដែនកំណត់ និងការបិទបើក ការពារម៉ាស៊ីនមេពីការវាយលុកដោយបង្ខំដូចជា DDoS ដែលមានគោលបំណងធ្វើឱ្យខូចគុណភាព ឬគាំងពួកគេ។
- មិនមានព័ត៌មានរសើបនៅក្នុង URIs៖ URIs របស់ធនធានមិនគួរមានទិន្នន័យការពារណាមួយទេ (ដូចជាឈ្មោះអ្នកប្រើប្រាស់ ពាក្យសម្ងាត់ ឬសញ្ញាសម្គាល់ការផ្ទៀងផ្ទាត់)។
សន្និដ្ឋាន
អបអរសាទរ! សំណួរសំភាសន៍ REST API ជាមូលដ្ឋានដល់ស្មុគស្មាញជាច្រើន និងដំណោះស្រាយរៀងៗខ្លួនឥឡូវនេះស្ថិតនៅចុងម្រាមដៃរបស់អ្នក។
ឥឡូវនេះ អ្នកមានគំនិតល្អអំពីរបៀបឆ្លើយតបទៅនឹងសំណួរសំភាសន៍ REST API ធម្មតា អ្នកអាចបន្តឆ្លើយតបទៅនឹងការសម្ភាសន៍។ ជំហានបន្ទាប់អាស្រ័យលើគោលបំណងរបស់អ្នក។
ដំណើរទស្សនកិច្ច ស៊េរីសម្ភាសន៍ ជាមួយ Hashdork ដើម្បីរៀបចំសម្រាប់ការសម្ភាសន៍។
សូមផ្ដល់យោបល់