Middle+
Ինչպե՞ս է հեռախոսը ստանում տեղեկություն, որ ինչ-որ բան փոխվել է վեբ ինտերֆեյսում։
sobes.tech AI
Պատասխան AI-ից
Տելефон (կամ ցանկացած այլ հաճախորդային սարք) կարող է ստանալ փոփոխությունների մասին տեղեկատվություն վեբ ինտերֆեյսում մի քանի եղանակներով.
- Polling / Long Polling
- WebSockets
- Server-Sent Events (SSE)
- Webhook (քիչ կիրառելի է ուղղակի թարմացումների համար վեբ ինտերֆեյսում, ավելի շատ միջծառայողական փոխազդեցության համար, բայց կարող է նախաձեռնող լինել հաճախորդի վրա թարմացումների):
| Մեթոդ | Նկարագրություն | Առավելություններ | Թերություններ |
|---|---|---|---|
| Polling | Հաճախորդը համակարգում է հաճախակի հարցումներ սերվերին՝ ստանալու համար թարմացումներ: | Պարզ իրականացման մեթոդ: | Բարձր բեռ սերվերի վրա հաճախակի հարցումների դեպքում; ուշացում թարմացումների ստացման ժամանակ: |
| Long Polling | Հաճախորդը ուղարկում է հարցում, որը սերվերը պահում է բաց, մինչև որ հայտնվի թարմացում կամ չանցնի ժամանակային սահմանափակումը. Երբ թարմացումը ստացվում է, սերվերը պատասխան է ուղարկում և հաճախորդը անմիջապես նոր հարցում է ուղարկում: | Փոքր հարցումներ, քան սովորական polling-ը; թարմացումները գալիս են արագ: | Սերվերը պետք է պահի շատ բաց կապեր; ավելի բարդ է կարգավորել, քան polling-ը: |
| WebSockets | Երկու ուղղությամբ մշտական կապ՝ հաճախորդի և սերվերի միջև: Կապի հաստատումից հետո, երկու կողմերն էլ կարող են փոխանակել տվյալներ ցանկացած ժամանակ առանց նոր HTTP հարցումների: | Թարմացումները գալիս են անմիջապես; ցածր ուշացում; արդյունավետ օգտագործում ռեսուրսների (հետ կապի հաստատումից հետո): | Պահանջում է մշտական կապի պահպանում; անհամատեղելի է հին պրոքսիների/ֆայլմուարների հետ: |
| SSE | Միակողմանի կապ սերվերից հաճախորդին (սերվերը ուղարկում է տվյալներ HTTP-հարցման պատասխանով, պահելով կապը բաց): | Պարզ իրականացման մեթոդ հաճախորդի կողմում (օգտագործում է ստանդարտ HTTP); ավտոմատ վերականգնում կապը: | Միակողմանի (հաճախորդը չի կարող ուղարկել տվյալներ սերվերին այս ալիքով); քիչ ֆունկցիոնալություն, քան WebSockets: |
Ամենատարածված մեթոդները դինամիկ վեբ ինտերֆեյսների համար, որտեղ թարմացումները պետք է լինեն հնարավորինս արագ, դա WebSockets և SSE են: Polling-ը օգտագործվում է այն դեպքերում, երբ բարձր արձագանքողականությունը չի կարևոր, կամ որպես պահեստային մեխանիզմ իրական ժամանակի տեխնոլոգիաների համար: Long Polling-ը հնացած մեթոդ է, որը փոխարինվել է WebSockets և SSE-ով։