«IMAP»–ի խմբագրումների տարբերություն
Content deleted Content added
No edit summary |
No edit summary |
||
Տող 61.
* Տվյալ սեսսիայի ժամանակահատվածում գործող դրոշակ
Ներկա պահին գոյություն ունեն հետևյալ համակարգային դրոշակները՝
* <code>\seen</code> – հաղորդագրությունը կարդացված է
* <code>\answered</code> – հաղորդագրությանը ուղարկված է պատասխան
* <code>\flagged</code> – հաղորդագրությունը նշված է որպես «կարևոր»
* <code>\deleted</code> – հաղորդագրությունը նշված է որպես հեռացված(ջնջված)
* <code>\draft</code> – հաղորդագրությունը նշված է որպես «սևագիր»
* <code>\recent</code> – նոր հաղորդագրություն(հայտնվել է տվյալ սեսսիայի ժամանակահատվածում)
=== Հաղորդագրության ներքին ամսաթիվը և ժամը սերվերի վրա ===
Հաղորդագրության ստացման ամսաթիվն ու ժամը:
Տող 79.
== Օգտվողի և սերվերի փոխազդեցությունը ==
IMAP4.1 միացությունը ակնկալում է օգտվողի և սերվերի միջև կապի հաստատում: Օգտվողը ուղարկում է սերվերին հրամաններ, սերվերը օգտվողին՝ հարցման կատարման մասին տվյալներ և ծանուցումներ: Բոլոր հաղորդագրությունները՝ ինչպես սերվերի, այնպես էլ օգտվողի, ունեն տողի տեսք, որոնք վերջանում են հատուկ հաջորդականությամբ:
Ցանկացած ընթացակարգ(պրոցեդուրա) սկսվում է օգտվողի հրամանից: Օգտվողի ցանկացած հրաման սկսվում է նախածանց-նույնացուցչից(պրեֆիկս-իդենտիֆիկատոր)(սովորաբար կարճ տառա-թվային տող, օրինակ՝ <code>A0001</code>, <code>A0002</code> և այլն), որը կոչվում է պիտակ(tag): Ամեն հրամանի համար օգտվողը գեներացնում է իր պիտակը:
Հնարավոր է 2 դեպք, երբ օգտվողի կողմից ուղարկված տողը չի ներկայացնում իրենից վերջացված հրաման: Առաջին դեպքում՝ հրամանի արգումենտը մատակարարվում է կոդով, որը և որոշում է օկտետների քանակը տողի մեջ: Երկրորդ դեպքում՝ հրամանի արգումենտները պահանջում են արձագանք սերվերի կողմից: Երկու դեպքում էլ սերվերը ուղարկում է հրամանի շարունակման հարցում, որը սկսվում է + սիմվոլով:
Օգտվողը պետք է վերջացնի մի հրամանի ուղարկումը, մինչ մյուսի ուղարկելը:
Տող 86.
Տվյալները կարող են ուղարկվել սերվերի կողմից և՛ ի պատասխան օգտվողի հրամանի, և՛ սեփական նախաձեռնությամբ: Տվյալների ձևաչափը(ֆորմատը)կախված չէ ուղարկման պատճառից:
Արձագանքը նշանակում է հրամանի հաջող/անհաջող իրականացումը: Այն օգտագործում է նույն պիտակը(tag), որը օգտագործվել էր ընթացակարգը(պրոցեդուրա) սկսող օգտվողի հրամանի մեջ: Այսպիսով, եթե իրականացվում է մեկ հրամանից ավելին, սերվերի պիտակը(tag) նշում է այն հրամանը, որը կանչել է տվյալ արձագանքը: Կան սերվերի աշխատանքի վերջացման 3 տիպի արձագանքներ՝
* <code>ok</code>(հաջող կատարում)
* <code>no</code>(անհաջող կատարում)
* <code>bad</code>(պրոտոկոլային սխալ, օրինակ՝ հրամանը ճանաչված չի կամ գտնված է սինտակտային սխալ)
Օգտվողի IMAP4.1-ի պրատոկոլային ընդունիչը կարդում է
սերվերից ստացած արձագանքի տողը և անում է գործողություններ կախված * կամ + առաջին սիմվոլից:
Տող 106.
# Միացում նախապես աուտենտիֆիկացմամբ
# Միացումը մերժված է
# <code>LOGIN</code> կամ <code>AUTHETICATE</code> հրամանների բարեհաջող իրականացում
# <code>SELECT</code> կամ <code>EXAMINE</code> հրամանների բարեհաջող իրականացում
# <code>CLOSE</code> հրամանի բարեհաջող իրականացում, կամ <code>SELECT</code> կամ <code>EXAMINE</code> հրամանների անհաջող իրականացում
# <code>LOGOUT</code> հրամանի իրականացում, սերվերի փակում կամ սերվերի աշխատանքի ընդհատում
== IMAP պրոտոկոլի հրամանները ==
Տող 115.
; '''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> դրոշակով, ֆիզիկապես հեռացվում են փոստարկղի միջից:
Տող 142.
; '''LSUB''' : Ի տարբերություն <code>LIST</code> հրամանի օգտագործվում է ստանալու համար բոլոր այն էլ. փոստարկղերի ցուցակը, որոնք ակտիվցվել են <code>SUBSCRIBE</code> հրամանի միջոցով: Պարամետրերը նույնն են ինչ <code>LIST</code> հրամանինը:
; '''STATUS''' : Գոյացնում է հարցում էլ. փոստարկղի ընթացիկ կարգավիճակի մասին: Ունի 2 պարամետր. առաջինը՝ էլ. փոստարկղի անունը, որի նկատմամբ կիրառվում է հրամանը, իսկ երկրորդը՝ այն չափանիշների ցուցակը, ըստ որոնցի օգտվողը ցանկաանում է ստանալ ինֆորմացիա: <code>STATUS</code> հրամանը կարող է օգտագործվել էլ. փոստարկղի ընթացիկ կարգավիճակի մասին տեղեկություն ստանալու համար՝ առանց էլ. փոստարկղը բացելու <code>SELECT</code> կամ <code>EXAMINE</code> հրամանների միջոցով:
:Օգտվողը կարող է ստանալ ինֆորմացիա հետևյալ չափանիշներով՝
:* <code>MESSAGES</code> – էլ. փոստարկղում գտնվող հաղորդագրությունների ընդհանուր քանակը
:* <code>RECENT</code> – \recent դրոշակով նշված հաղրդագրությունների քանակը
:*
:* <code>UIDVALIDITY</code> - էլ. փոստարկղի ունիկալ նույնացուցիչը(իդենտիֆիկատոր)
:* <code>UNSEEN</code> – առանց \seen դրոշակի հաղորդագրությունների քանակը
; '''APPEND''' : Ավելացնում է հաղորդագրությունը նշված էլ. փոստարկղի վերջում: Որպես արգումենտներ նշվում են էլ. փոստարկղի անունը, հաղորդագրությունների դրոշակները(ոչ պարտադիր), ժամանակի պիտակը(tag) (ոչ պարտադիր) և հենց ինքը հաղորդագրությունը՝ վերնագիրը և մարմինը:
:Գոյություն ունեն հաղորդագրությունների հետևյալ դրոշակները՝
:* <code>\Seen</code> – կարդացված
:* <code>\Answered</code> – պատասխանված
:* <code>\Flagged</code> – շտապ
:* <code>\Deleted</code> – նշված է հեռացման համար
:* <code>\Draft</code> – սևագիր
:* <code>\Recent</code> – նոր հաղորդագրություն, այն եկել է էլ. փոստարկղ անցած սեանսի ավարտից հետո
:Եթե հրամանի մեջ նշված են դրոշակներ, ապա նրանք սահմանվում են ավելացվող հաղորդագրության համար: Ամեն դեպքում հաղորդագրության համար սահմանվում է <code>\Recent</code> դրոշակը: Եթե հրամանի մեջ տրված է ժամանակի պիտակը(tag), ապա այդ ժամանակը կսահմանվի որպես հաղորդագրության ստեղծման ժամ, հակառակ դեպքում որպես ստեծման ժամ սահմանվում է ընթացիկ ժամը:
:Քանի որ հաղորդագրությունը մեկ տողից ավելի է, գործածվում են լիտերալներ:
:Օրինակ՝
Տող 179.
; '''MULTIAPPEND''' : Ընդլայնումը, նկարագրված [http://tools.ietf.org/html/rfc3502 RFC 3502]-ում, թույլ է տալիս մեկ հրամանով էլ. փոստարկղ ավելացնել մի քանի հաղորդագրություններ:
; '''CHECK''' : Էլ. փոստարկղում տեղադրում է ստուգողական կետը: Ցանկացած գործողություն, ինչպես օրինակ՝ տվյալների պահպանումը սերվերի հիշողությունից նրա կոշտ սկավառակի վրա, պետք է կատարվեն էլ. փոստարկղի որոշակի կարգավիճակում գտնվելուց: Հենց էլ. փոստարկղի վրա սկավառակային կամ նման այլ գործողությունների կատարումից հետո էլ ամբողջականության ստուգման համար գործածվում է <code>CHECK</code> հրամանը: Այս հրամանը գործածվում է առանց պարամետրերի:
; '''EXPUNGE''' : Էլ. փոստարկղից հեռացնում է բոլոր այն հաղորդագրությունները, որոնք նշված են եղել <code>\DELETED</code> դրոշակով, ընդ որում էլ. փոստարկղը չի փակվում: Սերվերի պատախանը <code>EXPUNGE</code> հրամանին ներկայացնում է իրենից էլ. փոստարկղի նոր վիճակի մասին հաշվետվություն:
Տող 200.
; '''UID''' : Օգտագործվում է <code>FETCH</code>, <code>COPY</code>, <code>STORE</code> կամ <code>SEARCH</code> հրամանների հետ համատեղ: Այս հրամանի օգնությամբ այդ հրամաններում կարելի է օգտագործել իրական UID նունարկիչ(իդենտիֆիկացիոն) համարներ, հաղորդագրությունների միջակայքից թվերի շարքի փոխարեն:
Տող 206.
; '''NOOP''' : Հրամանը ոչինչ չի անում: Այն կարող է օգտագործվել սեանսը ակտիվ պահելու համար, որպեսզի այն չավարտվի սպասման ժամանակաչափի ժամանակով: Սերվերի պատասխանը <code>NOOP</code> հրամանին պետք է միշտ լինի դրական: Քանի որ սերվերը պատասխանի մեջ հաճախ վերադարձնում է այս կամ այն հրամանի կատարման ընթացիկ վիճակը, ապա <code>NOOP</code> հրամանը միանգամայն կարելի է կարելի է օգտագորշել որպես տրիգգեր՝ սերվերի ընթացիկ վիճակից տեղեկանալու համար:
|