«IMAP»–ի խմբագրումների տարբերություն

Content deleted Content added
No edit summary
չ կետադրական, փոխարինվեց: : → ։ (24), )կ → ) կ
Տող 11.
 
== IMAP պրոտոկոլի մշակման նպատակ ==
IMAP-ը իրենից ներկայացնում է այլընտրանք POP3-ին։
 
POP3-ը ունի մի շարք թերություններ, և դրանցից ամենալուրջը այն է, որ օգտվողը չի կարող կառավարել սերվերի վրա գտնվող հաղորդագրությունների պահպանումը և տեղաշարժումը։
 
Այսինքն, որպես օրենք, բոլոր հաղորդագրությունները միանգամից բեռնվում են սերվերից օգտվողի համակարգիչ, որից հետո նրանք սերվերից հեռացվում են։ Այսինքն օգտվողը չի կարող ընտրել, թե որ նամակը ստանա, իսկ որը՝ ոչ։
 
POP3-ի տվյալ թերությունները շտկելու նպատակով Վաշինգտոնի համալսարանում մշակվեց նոր պրոտոկոլ, որով օգտվողներին հնարավորություն ընձեռնվեց ստանալ էլ. հաղորդագրություններ տարբեր վայրերից մեկ էլ. փոստի միջոցով, ընդ որում հաղորդագրությունները չեն բաշխվում ըստ ստացման վայրի։
 
Այսինքն օգտվողը կարող է նույն փոստից օգտվել աշխարհի ցանկացած ծայրում գտնվելով, և փոստի հաղորդագրությունների պարունակությունը չի փոխվում վայրից կախված՝ բոլոր հաղորդագրությունները անխտիր միշտ պահպանվում են սերվերի վրա։
 
Օգտվողին հնարավորություն է տրվում իր էլ. փոստում գտնվող հաղորդագրությունները և սերվերի էլեկտրոնային փոստարկղերի սպասարկման հետ կապված ֆունկցիաները կառավարել։
 
== POP3-ի հանդեպ ունեցած առավելություններ ==
POP3-ի օգտագործման ժամանակ օգտվողը միանում է սերվերին միայն այն ժամանակահատվածով, որը անհրաժեշտ է նոր հաղորդագրությունները բեռնելու համար։
 
IMAP-ի օգտագործման ժամանակ կապը սերվերի հետ ակտիվ է լինում այնքան ժամանակ, ինչքան ժամանակ ակտիվ է լինում օգտվողի ինտերֆեյսը, իսկ հաղորդագրությունները բեռնվում են միայն օգտվողի պահանջով։ Դա թույլ է տալիս կրճատել սերվերի արձագանքման ժամանակը այն օգտվողներին, որոնց փոստարկղերում առկա են շատ հաղորդագրություններ մեծ ծավալով։
 
POP պրոտոկոլի օգտագործման ժամանակ միայն մեկ օգտվող կարող է միացած լինել մի փոստարկղի, մինչ դեռ IMAP պրոտոկոլը թույլ է տալիս միևնույն փոստարկղին միևնույն ժամանակ մի քանի օգտվողների միացում։
 
IMAP-ը նաև հնարավորություն է տալիս օգտվողին հետևել փոփոխություններին, որոնք կատարում են իր հետ միաժամանակ միացած մյուս օգտվողները։ Դրոշակային համակարգի շնորհիվ, որը իրականացված է IMAP4-ում, օգտվողը ինֆորմացիա է ստանում հաղորդագրության վիճակի մասին(նոր, կարդացված, հեռացված, սպամ, պոտենցիալ վտանգավոր և այլն)։ Դրոշակների մասին ինֆորմացիան պահպանվում է սերվերի վրա։
Տող 79.
 
== Օգտվողի և սերվերի փոխազդեցություն ==
IMAP4.1 միացությունը ակնկալում է օգտվողի և սերվերի միջև կապի հաստատում։ Օգտվողը ուղարկում է սերվերին հրամաններ, սերվերը օգտվողին՝ հարցման կատարման մասին տվյալներ և ծանուցումներ։ Բոլոր հաղորդագրությունները՝ ինչպես սերվերի, այնպես էլ օգտվողի, ունեն տողի տեսք, որոնք վերջանում են հատուկ հաջորդականությամբ։ Ցանկացած ընթացակարգ(պրոցեդուրա) սկսվում է օգտվողի հրամանից։ Օգտվողի ցանկացած հրաման սկսվում է նախածանց-նույնացուցչից(պրեֆիկս-իդենտիֆիկատոր)(սովորաբար կարճ տառա-թվային տող, օրինակ՝ <code>A0001</code>, <code>A0002</code> և այլն), որը կոչվում է պիտակ(tag)։ Ամեն հրամանի համար օգտվողը գեներացնում է իր պիտակը։ Հնարավոր է 2 դեպք, երբ օգտվողի կողմից ուղարկված տողը իրենից չի ներկայացնում վերջացված հրաման։ Առաջին դեպքում՝ հրամանի արգումենտը մատակարարվում է կոդով, որը և որոշում է օկտետների քանակը տողի մեջ։ Երկրորդ դեպքում՝ հրամանի արգումենտները պահանջում են արձագանք սերվերի կողմից։ Երկու դեպքում էլ սերվերը ուղարկում է հրամանի շարունակման հարցում, որը սկսվում է + սիմվոլով։ Օգտվողը պետք է վերջացնի մի հրամանի ուղարկումը, մինչ մյուսի ուղարկելը։ Սերվերի պրոտոկոլային ընդունիչը կարդում է օգտվողի կողմից ուղարկված հրմանաի տողը, իրականացնում է դրա վերլուծությունը, առանձնացնում է պարամետրերը և փոխանցում է տվյալները սերվերին։ Հրամանի վերջացման հետ մեկտեղ սերվերը ուղարկում է արձագանք։ Սերվերից օգտվողին փոխանցվող տվյալները, ինչպես նաև կարգավիճակային արձագանքները, որոնք չեն նշանակում հրամանի վերջացումը, ունեն * նախածանց և կոչվում են չպիտակավորված արձագանքներ։ Տվյալները կարող են ուղարկվել սերվերի կողմից և՛ ի պատասխան օգտվողի հրամանի, և՛ սեփական նախաձեռնությամբ։ Տվյալների ձևաչափը(ֆորմատը) կախված չէ ուղարկման պատճառից։ Արձագանքը նշանակում է հրամանի հաջող/անհաջող իրականացումը։ Այն օգտագործում է նույն պիտակը(tag), որը օգտագործվել էր ընթացակարգը(պրոցեդուրա) սկսող օգտվողի հրամանի մեջ։ Այսպիսով, եթե իրականացվում է մեկ հրամանից ավելին, սերվերի պիտակը(tag) նշում է այն հրամանը, որը կանչել է տվյալ արձագանքը։ Կան սերվերի աշխատանքի վերջացման 3 տիպի արձագանքներ՝
* <code>ok</code>(հաջող կատարում)
* <code>no</code>(անհաջող կատարում)
Տող 104.
 
== IMAP պրոտոկոլի հրամաններ ==
; '''LOGIN''' :։ Թույլ է տալիս օգտվողին IMAP սերվերի վրա գրանցման ժամանակ օգտագործել օգտվողի նույնացուցիչը(իդենտիֆիկատոր) և գաղտնաբառը սովորական տեքստային տեսքով։ Սա ամենալավ մեթոդը չէ, բայց երբեմն միակ տարբերակն է սերվերին միանալու համար։
 
; '''AUTHENTICATE''' :։ Թույլ է տալիս օգտվողին IMAP սերվերի վրա գրանցվելուց օգտագործել վավերականության ստուգման այլընտրանքային մեթոդներ։ Օգտվողների վավերականության անհատական ստուգումը պարտադիր չի հանդիսանում և ոչ բոլոր IMAP սերվերներում է իրականացրած։ Նաև այդպիսի ստուգման իրականացուման ձևերը կարող են տարբերվել կախված սերվերից։ Երբ օգտվողը մուտքագրում է <code>AUTHENTICATE</code> հրամանը, սերվերը պատասխանում է դրան կանչի տողով, որը ունի <code>base64</code> կոդավորում։ Այնուհետեև օգտվողը պետք է պատասխան ուղարկի սերվերի վավերականացման ստուգման կանչին, նույնպես կոդավորված <code>base64</code>-ով։ Եթե սերվերում իրականացված չէ վավերականության ստուգման մեթոդը, որը առաջարկում է օգտվողը՝ սերվերը ներառում է իր պատասխանի մեջ <code>NO</code>:։ Դրանից հետո օգտվողը պետք է շարունակի բանակցությունները վավերականության ստուգման մեթոդի համաձայնեցման համար։ Եթե վավերականության ստուգման մեթոդը պարզելու բոլոր փորձերը անցնում են անհաջող, ապա օգտվողը փորձ է կատարում գրանցվել սերվերում <code>LOGIN</code> հրամանի միջոցով։
 
; '''CLOSE''':։ Փակում է էլ. փոստարկղը։ Երբ էլ. փոստարկղը փակված է, բոլոր հաղորդագրությունները, որոնք նշվել էին <code>\DELETED</code> դրոշակով, ֆիզիկապես հեռացվում են փոստարկղի միջից։ Պարամետրեր չունի։
 
; '''LOGOUT''':։ Վերջացնում է օգտվողի ընթացիկ նույնացուցչի համար սեանսը և փակում է բոլոր բացված էլ. փոստարկղերը։ Բոլոր հաղորդագրությունները, որոնք նշվել էին <code>\DELETED</code> դրոշակով, ֆիզիկապես հեռացվում են փոստարկղի միջից։
 
; '''CREATE''':։ Ստեղծում է նոր էլ. փոստարկղ։ Նոր էլ. փոստարկղերի անունները և տեղակայությունը որոշվում են սերվերի ընդհանուր հատկանիշներով։
 
; '''DELETE''':։ Օգտագործվում է էլ. փոստարկղերի համար։ IMAP սերվերը, ստանալով այս հրամանը, կփորձի հեռացնել այն փոստարկղը, որի անունը նշվել էր հրամանի մեջ որպես արգումենտ։ Էլ. փոստարկղի մեջ գտնվող բոլոր հաղորդագրությունները հեռացվում են էլ. փոստարկղի հետ միասին և վերականգնման ենթակա չեն լինում։
 
; '''RENAME''':։ Փոխում է էլ. փոստարկղի անունը։ Ասյ հրամանը ունի 2 արգումենտ՝ էլ. փոստարկղի անունը, որը պետք է փոխել և նոր անունը։
 
; '''SUBSCRIBE''':։ Ավելացնում է էլ. փոստարկղը օգտվողի ակտիվ էլ. փոստարկղերի ցուցկակի մեջ։ Այս հրամանի մեջ օգտագործվում է միայն 1 պարամետր՝ էլ. փոստարկղի անունը, որը պետք է ավելացնել ցուցակի մեջ։ Էլ. փոստարկղը պարտադիր չէ, որ գույություն ունենա, որպեսզի նրան հնարավոր լինի ավելացնել ակտիվ էլ. փոստարկղերի ցուցկակի մեջ՝ դա թույլ է տալիս ավեացնել ակտիվ էլ. փոստարկղերի ցուցկակի մեջ էլ. փոստարկղեր, որոնք դեռ ստեղծված չեն, կամ հեռացնել դրանք, եթե դրանք դատարկ են։
 
; '''UNSUBSCRIBE''':։ Հեռացնում է էլ. փոստարկղը օգտվողի ակտիվ էլ. փոստարկղերի ցուցկակի միջից։ Այս հրամանի մեջ ևս օգտագործվում է միայն 1 պարամետր՝ էլ. փոստարկղի անունը, որը պետք է հեռացնել օգտվողի ակտիվ էլ. փոստարկղերի ցուցակի միջից։ Ընդ որում էլ. փոստարկղը չի հեռացվում ֆիզիկապես։
 
; '''LIST''':։ Ստանալ օգտվողի բոլոր էլ. փոստարկղերի ցուցակը։ Ունի 2 պարամետր։
 
; '''LSUB''':։ Ի տարբերություն <code>LIST</code> հրամանի օգտագործվում է ստանալու համար բոլոր այն էլ. փոստարկղերի ցուցակը, որոնք ակտիվցվել են <code>SUBSCRIBE</code> հրամանի միջոցով։ Պարամետրերը նույնն են ինչ <code>LIST</code> հրամանինը։
 
; '''STATUS''':։ Գոյացնում է հարցում էլ. փոստարկղի ընթացիկ կարգավիճակի մասին։ Ունի 2 պարամետր. առաջինը՝ էլ. փոստարկղի անունը, որի նկատմամբ կիրառվում է հրամանը, իսկ երկրորդը՝ այն չափանիշների ցուցակը, ըստ որոնցի օգտվողը ցանկաանում է ստանալ ինֆորմացիա։ <code>STATUS</code> հրամանը կարող է օգտագործվել էլ. փոստարկղի ընթացիկ կարգավիճակի մասին տեղեկություն ստանալու համար՝ առանց էլ. փոստարկղը բացելու <code>SELECT</code> կամ <code>EXAMINE</code> հրամանների միջոցով։
: Օգտվողը կարող է ստանալ ինֆորմացիա հետևյալ չափանիշներով՝
:* <code>MESSAGES</code> – էլ. փոստարկղում գտնվող հաղորդագրությունների ընդհանուր քանակը
Տող 134.
:* <code>UNSEEN</code> – առանց \seen դրոշակի հաղորդագրությունների քանակը
 
; '''APPEND''':։ Ավելացնում է հաղորդագրությունը նշված էլ. փոստարկղի վերջում։ Որպես արգումենտներ նշվում են էլ. փոստարկղի անունը, հաղորդագրությունների դրոշակները(ոչ պարտադիր), ժամանակի պիտակը(tag) (ոչ պարտադիր) և հենց ինքը հաղորդագրությունը՝ վերնագիրը և մարմինը։
:Գոյություն ունեն հաղորդագրությունների հետևյալ դրոշակները՝
:* <code>\Seen</code> – կարդացված
Տող 159.
</pre>
 
; '''MULTIAPPEND''' :։ Ընդլայնումը, նկարագրված [http://tools.ietf.org/html/rfc3502 RFC 3502]-ում, թույլ է տալիս մեկ հրամանով էլ. փոստարկղ ավելացնել մի քանի հաղորդագրություններ։
 
; '''CHECK''' :։ Էլ. փոստարկղում տեղադրում է ստուգողական կետը։ Ցանկացած գործողություն, ինչպես օրինակ՝ տվյալների պահպանումը սերվերի հիշողությունից նրա կոշտ սկավառակի վրա, պետք է կատարվեն էլ. փոստարկղի որոշակի կարգավիճակում գտնվելուց։ Հենց էլ. փոստարկղի վրա սկավառակային կամ նման այլ գործողությունների կատարումից հետո էլ ամբողջականության ստուգման համար գործածվում է <code>CHECK</code> հրամանը։ Այս հրամանը գործածվում է առանց պարամետրերի։
 
; '''EXPUNGE''' :։ Էլ. փոստարկղից հեռացնում է բոլոր այն հաղորդագրությունները, որոնք նշված են եղել <code>\DELETED</code> դրոշակով, ընդ որում էլ. փոստարկղը չի փակվում։ Սերվերի պատախանը <code>EXPUNGE</code> հրամանին ներկայացնում է իրենից էլ. փոստարկղի նոր վիճակի մասին հաշվետվություն։
 
; '''SEARCH''' :։ Ակտիվ էլ. փոստարկղի մեջ հաղորդագրությունների փնտրում որոշակի չափանիշներով՝ հետագա արդյունքների ցուցադրմամբ հաղորդագրության հերթական համարի տեսքով։ Հնարավոր է փնտրում հաղորդագրության մարմնի մեջ գտնվող ինչ որ տեքստային տողի, կամ հաղորդագրություններ, որոնք ունեն որոշակի դրոշակ, կամ որոնք ստացված են եղել մինչև որոշակի ժամանակահատվածը և այլն։
 
; '''FETCH''' :։ Էլ. հաղորդագրության տեքստը ստանալը։ Այս հրամանը գործածվում է միայն հաղորդագրությունների ցուցադրման համար։ Ի տարբերություն POP3-ի, IMAP օգտագործողը չի պահպանում հաղորդագրության կրկնօրինակը օգտվողի համակարգչի մեջ։
 
; '''STORE''' :։ Հաղորդագրության մասին ինֆորմացիայի փոփոխում։
 
; '''COPY''' :։ Մի էլ. փոստարկղից մի ուրիշ հաղորդագրության կրկնօրինակում։
 
; '''UID''' :։ Օգտագործվում է <code>FETCH</code>, <code>COPY</code>, <code>STORE</code> կամ <code>SEARCH</code> հրամանների հետ համատեղ։ Այս հրամանի օգնությամբ այդ հրամաններում կարելի է օգտագործել իրական UID նունարկիչ(իդենտիֆիկացիոն) համարներ, հաղորդագրությունների միջակայքից թվերի շարքի փոխարեն։
 
; '''CAPABILITY''' :։ Հարցում IMAP սերվերից նրա հնարավորությունների մասին։
 
; '''NOOP''' :։ Հրամանը ոչինչ չի անում։ Այն կարող է օգտագործվել սեանսը ակտիվ պահելու համար, որպեսզի այն չավարտվի սպասման ժամանակաչափի ժամանակով։ Սերվերի պատասխանը <code>NOOP</code> հրամանին պետք է միշտ լինի դրական։ Քանի որ սերվերը պատասխանի մեջ հաճախ վերադարձնում է այս կամ այն հրամանի կատարման ընթացիկ վիճակը, ապա <code>NOOP</code> հրամանը միանգամայն կարելի է օգտագործել որպես տրիգգեր՝ սերվերի ընթացիկ վիճակից տեղեկանալու համար։
 
== Տես նաև ==
Ստացված է «https://hy.wikipedia.org/wiki/IMAP» էջից