POP3

Post Office Protocol (POP), ծրագրային շերտի համացանցային ստանդարտ հաղորդակարգ, օգտագործվում է էլեկտրոնային փոստի սպասառուի կողմից նամակները TCP/IP պրոտոկոլով սպասարկիչ համակարգչից (սերվեր) ստանալու համար։ POP պրոտոկոլը տարիների ընթացքում մշակվել է մի քանի տարբերակներով։ Այժմյան ստանդարտը համարվում է 3-րդ տարբերակը (POP3)։
Բոլոր սպասառու և սպասարկիչ համակարգիչները վիրտուալ կերպով աջակցում են POP3, ինչպես նաև IMAP (Internet Message Access Protocol) ինտերնետային նամակների հասանելիության պրոտոկոլը նամակները ստանալու համար նախատեսված ամենատարածված ստանդարտ երկու պրոտոկոլներն են։ Կան նաև մի շարք ծառայություններ մատուցողներ (Gmail, Outlook.com և Yahoo! Mail), որոնք նամակների բեռնման համար առաջարկում են և՛ IMAP, և՛ POP3 պրոտոկոլների հասանելիություն։


== Ընդհանուր նկարագրությունը ==
POP պրոտոկոլը փոստարկղի մուտքի համար աջակցում է պարզ «բեռնել և ջնջել» պահանջը։ Չնայած շատ փոստարկղեր հնարավորություն են ընձեռում թողնելու նամակները փոստարկղում դրանք բեռնելուց հետո ջնջելու փոխարեն, էլեկտրոնային փոստի սպասառուները հիմնականում POP տարբերակով միանում են, ստանում բոլոր նամակները, պահպանում դրանք համակարգչի մեջ որպես նոր նամակներ, ջնջում դրանք սպասարկիչ համակարգչից և ապա անջատում կապը։
Մյուս պրոտոկոլները, հատկապես՝ IMAP, (Internet Message Access Protocol) ինտերնետային նամակների հասանելիության պրոտոկոլը առաջարկում է ավելի բարդ և համալիր հեռահար մուտքի լուծումներ, որոնք հատուկ են փոստարկղի գործունեությանը։ 1990-ական թվականների վերջից մինչև 2000-ական թվականների սկզբները շատ քիչ թվով ինտերնետային ծառայությունների մատակարարներ էին աջակցում IMAP պրոտոկոլը։ Սրա հիմնական պատճառը հանդիսանում էր թերևս այն, որ ինտերնետային ծառայությունների մատակարարներից պահանջնվում էր հավելյալ սկավառակային տարածք սպասարկիչ համակարգիչների կոշտ սկավառակների վրա։
Էլեկտրոնային փոստի ժամանակակից սպասարկիչները (կլիենտ) աջակցում էին POP, ժամանակի ընթացքում էլեկտրոնային փոստի ծառայությունների հայտնի մատուցողները սկսեցին առաջարկել նաև IMAP աջակցությունը։
POP3 սպասարկիչը (սերվեր) գործում է 110 միացքի (պորտ) վրա։ Կոդավորված POP3 հաղորդակցությունը կամ պահանջում է պրոտոկոլին միանալուց հետո, օգտագործելով STLS հրամանը, եթե աջակցվում է, կամ՝ POP3S, ինչը միանում է սպասարկիչ համակարգչին՝ օգտագործելով Transport Layer Security (TLS) կամ Secure Sockets Layer (SSL) TCP 995 միացքը (պորտ)։
Առկա նամակները ֆիքսվում են, երբ բացվում է POP սեսիան և նույնականացվում են նամակների չկրկնվող համարներով, որը հատկացվում է POP սպասարկիչի կողմից։ Այս չկրկնվող համարները մշտական են և տվյալ փոստարկղի համար չկրկնվող և թույլ են տալիս հասնել նամակին տարբեր POP սեսիաների միջոցով։ Նաամակները բեռնվում են և նշվում ջնջման համար ըստ իրենց համարների։ Երբ սպասառուն ավարտում է սեսիան, նամակները, որոնք նշվեծ էին հեռացման համար, հեռացվում են փոստարկղից։


== Պատմություն ==
POP1 ներկայացվել է RFC 918 (1984) ստանդարտով,
POP2 ներկայացվել է RFC 937 (1985) ստանդարտով,
POP3 աղբյուրը հանդիսացել է RFC 1081 (1988) ստանդարտը։ Այժմյան ստանդարտն է՝ RFC 1939, ինչը հանդիսանում է ընդլայնումների մեխանիզմի թարմացված տարբերակը, RFC 2449 և նույնականացան մեխանիզմ՝ RFC 1734 ստանդարտով։
Օրիգինալ POP3 հատկանիշները աջակցում էին միայն USER/PASS չկոդավորված նույնականացման մեխանիզմ կամ Berkeley .rhosts մուտքի կառավարում։ POP3 ստանդարտը այժմ աջակցում է նույնականացման մի քանի մեթոդներ, որոնք ապահովում են տարբեր մակարդակների պաշտպանություն օգտագործողների փոստարկղեր անօրինակ մուտքից։ Հիմնական մասը իրականացվում է POP3 ընդլայնումների մեխանիզմով։ POP3 սպասառուները աջակցում են նույնականացման SASL մեթոդը AUTH ընդլայնման միջոցով։ Մասաչուսետսի տեխնոլոգիական ինստիտուտի «Աթենա» պրոյեկտը ներկայցարել է կերբերացված տարբերակ։ RFC 1460 ստանդարտը APOP տարբերակը ներմուծեց միջուկ։ APOP տարբերակը իրենից ներկայանում է մարտահրավեր/պատասխան պրոտոկոլ, որը օգտագործում է MD5 հեշավորման գործառույթը՝ նպատակ ունենալով խուսափելու պատասխանների հարձակումներից և համօգտագործվող գաղտնիքի հայտնաբերման։
Սպասարկիչները, որոնք գործածում են APOP, հետևյալն են. Mozilla Thunderbird, Opera Mail, Eudora, KMail, Novell Evolution, RimArts' Becky!, Windows Live Mail, PowerMail, Apple Mail և Mutt.
RFC 1460 ստանդարտը նորացվել է RFC 1725, որը իր հերթին նորացվել է RFC 1939 ստանդարտով։
"POP4" պրոտոկոլը գոյություն ունի միայն որպես ոչ պաշտոնական միջոց՝ ավելացնելով պանակները պարզ կառավարում, նամակների դրոշակավորում, ինչպես նաև բազմամաս նամակների աջակցություն, սակայն այն զարգացում չի ապրել դեռևս 2003 թվականից։


== Ընդլայնումներ ==
Ընդլայնման մեխանիզմը ներկայացվել է RFC 2449 ստանդարտում, ինչը ուղղված էր գոյություն ունեցող ընդլայնումները հարմարեցնելու, ինչպես նաև կազմակերպված ձևով կամայական հրամանների պատասխանները ապահովելու համար, ինչպես օրինակ TOP և UIDL. RFC ստանդարտները նպատակաուղղված չեն ընդլայնումները խրախուսելու, և ևս մեկ անգամ ապացուցեցին, որ POP3 պրոտոկոլի դերը հիմնականում փոստարկղի համար պահանջում են նամակների «բեռնել և ջնջել» հրամանը։


=== STARTTLS ===
STARTTLS ընդլայնումը օգտագործում է Transport Layer Security (TLS) կամ Secure Sockets Layer (SSL) որպեսզի երկխոսություններ վարի STLS հրամանների միջոցով, POP3 ստանդարտ միացքի (պորտ) կամ այլընտրանքային միացքի միջոցով։ Որոշ սպասարկիչներ և սպասառուներ օգտագործում են այլընտրանքային միացքի մեթոդը, որը օգտագործում է TCP 995 (POP3S) միացքը։


=== SDPS ===
Demon Internet ընկերությունը ներկայացրեց POP3 ընդլայնում, որը թույլ է տալիս յուրաքանչյուր դոմեյնի վրա ունենալ բազում օգտագործողներ, և ճանաչվել է որպես Standard Dial-up POP3 Service (SDPS). Հասանելիությունը փոստարկղին կատարվում է օգտագործողներ անվամբ, որոնք ընդգրկում են նաև սպասարկչի անունը (hostname). օրինակ՝ john@hostname կամ john+hostname.
Google Apps ծրագրերը նույնպես օգտագործում են այս մեթոդը


== Համեմատություն IMAP պրոտոկոլի հետ ==
POP պրոտոկոլը ավելի հասարակ է, և կիրառումն ավելի պարզ է,
POP նամակները տեղափոխում են նամակները սպասարկիչ համակարգչից սպասառու համակարգիչ, չնայած հնարավոր է նաև ընտրել դրանք սպասարկչի վրա պահպանելու տարբերակը նույնպես։
IMAP պրոտոկոլը լռելյայն կերպով նամակը թողնում է սպասարկիչ համակարգչի վրա, պարզապես դրա օրինակ բեռնելով սպասառու համակարգիչ։
POP պրոտոկոլը փոստարկղը օգտագործում է որպես մեկ պահեստ, որտեղ չկան պանակներ։
IMAP սպասառուն իրականացնում է բարդ հարցումներ՝ դիմելով սպասարկիչ համակարգչին վերնագրեր ստանալու, կոնկրետ նամակի պարունակությունը բեռնելու կամ նամակներում որոնում իրականացնելու համար։ Նամակները կարող են նշվել տարբեր դրոշներով («ջնջված», «պատասխանած») և նրանք շարունակում են մնալ դարաններում, քանի դեռ օգտագործողի կողմից չեն հեռացվել։ Այլ կերպ ասած՝ IMAP պրոտոկոլը հնարավորություն է տալիս հեռահար կերպով կատարել գործողություններ այնպես, ինչպես դա կիրականացվեր լոկալ փոստարկղում։ Կախված նրանից, թե ինչ IMAP սպասարկիչ է օգտագործվում, և ինչ կառուցվածքով է նամակը ակնկալվում ստանալ, հնարավորություն է տրվում միանգամից բեռնել նամակները լոկալ համակարգչին վրա, պահպանել դրանք սպասառու համակարգչում, կամ երկուսն էլ։
POP պրոտոկոլը պահանջում է տվյալ պահին միացած օգտագործողից լինել միակ օգտագործողը, ով այդ պահին միացած է փոստարկղին։ Որպես համեմատություն՝ IMAP պրոտոկոլը թույլ է տալիս միաժամանակյա բազմակի մուտքի մեխանիզմ, ինչը հնարավորություն է տալիս հայտնաբերել այլ օգտագործողների կողմի կատարված փոփոխությունները։ Դա նկարագրված է RFC3501 ստանդարտի 5.2 բաժնում, որը նշում է. «միաժամանակյա մուտք մեկ փոստարկղի տարբեր սպասարկիչներով»։
Երբ POP պրոտոկոլը բեռնում է նամակները, այն ստանում է նամակի բոլոր մասերը, մինչդեռ IMAP4 պրոտոկոլը թույլ է տալիս բեռնելու առանձին բաժինները՝ առանց ամբողջական տեքստը և կցված ֆայլերը բեռնելու անհրաժեշտության։
IMAP հնարավորություն է ստեղծում դրոշակավորելու նամակները սպասարկիչ համակարգչի վրա, ինչը օգնում է հետևել նամակների վիճակին։ Օրինակ՝ նամակը կարդացվել է, թե՝ ոչ, պատասխան ստացվել է, թե՝ ոչ և այլն։


== Երկխոսության օրինակ ==
APOP տարբերակը RFC 1939 էջ 18 ստանդարտի ճշգրիտ օրինակն է։
RFC 1939 APOP աջակցում է <1896.697170952@dbc.mtview.ca.us>

S։ <wait for connection on TCP port 110>
C։ <open connection>
S։ +OK POP3 server ready <1896.697170952@dbc.mtview.ca.us>
C։ APOP mrose c4c9334bac560ecc979e58001b3e22fb
S։ +OK mrose's maildrop has 2 messages (320 octets)
C։ STAT
S։ +OK 2 320
C։ LIST
S։ +OK 2 messages (320 octets)
S։ 1 120
S։ 2 200
S։ .
C։ RETR 1
S։ +OK 120 octets
S։ <the POP3 server sends message 1>
S։ .
C։ DELE 1
S։ +OK message 1 deleted
C։ RETR 2
S։ +OK 200 octets
S։ <the POP3 server sends message 2>
S։ .
C։ DELE 2
S։ +OK message 2 deleted
C։ QUIT
S։ +OK dewey POP3 server signing off (maildrop empty)
C։ <close connection>
S։ <wait for next connection>

POP3 սպասարկիչները առանց APOP հրամանների պահանջում են սպասառուից մուտք գործել համակարգ օգտագործողի անվան (USER) և ծածկագրի (PASS) հրամաններով.

C։ USER mrose
S։ +OK User accepted
C։ PASS tanstaaf
S։ +OK Pass accepted


== Առավելություններն ու թերությունները ==
POP3 Առավելությունները

Հաղորդագրությունները միշտ ձեռքի տակ են։ Նույնիսկ ինտերնետի բացակայության դեպքում կարող եք բացել նախորդ հաղորդագրությունները;
Նոր նամակ ստեղծելու համար ձեզ ինտերնետ պետք չէ.
Հարյուրավոր նամակներ չեն կուտակվում սերվերում։ Սա մեծ տեղ է խնայում սերվերի վրա;
Դուք կարող եք հաղորդագրություններ ստանալ բազմաթիվ սերվերներից։ Մի քանի փոստի սերվերների նամակները կհավաքվեն սարքի մեկ թղթապանակում։POP 3 Թերությունները

Փոստի տեսակավորման կարգավորումը կարող է կատարվել միայն մեկ համակարգչի վրա։ Ժամանակակից էլփոստի հաճախորդները թույլ են տալիս տեսակավորել հաղորդագրությունները, բայց մի սարքի հաճախորդը չի համաժամացվում մյուսի հետ։ Մեկ այլ սարքի անցնելիս բոլոր տառերը կհավաքվեն մեկ թղթապանակում, և կարգավորումները պետք է նորից կատարվեն.
Եթե սերվերը կազմաձևված չէ հաղորդագրությունների պատճենները ստեղծելու համար, ստացված հաղորդագրությունները կցուցադրվեն միայն մեկ համակարգչի կամ սմարթֆոնի վրա;
Հաղորդագրությունները պարզապես չեն կարող դիտվել։ Հաղորդագրությունը կարդալու համար նախ անհրաժեշտ է ներբեռնել այն;
Եթե սարքը վիրուս է բռնում կամ համակարգում խափանում է, բոլոր տվյալները կորցնելու հավանականություն կա;
Որքան շատ նամակներ արդեն ստացել եք, այնքան ավելի երկար կպահանջվի ձեր էլփոստի հաճախորդին նոր հաղորդագրություններ գտնելու համար։ Նախ, փոստային հաճախորդը պետք է ստուգի, թե որ հաղորդագրություններն է նա արդեն ներբեռնել սերվերից, որոնք դեռ չեն ներբեռվել։


== Սերվերային համակարգեր ==
Apache James
Citadel/UX
Courier Mail Server
Cyrus IMAP server
DBMail
Dovecot
Eudora Internet Mail Server
HMailServer
Ipswitch IMail Server
Kerio Connect
Mailtraq
Nginx
qmail-pop3d
Qpopper
RePOP
UW IMAP
WinGate
Zimbra
MailEnable


== Ստանդարտներ (RFC), որոնք կապված են այս նյութի հետ ==
RFC 918 – POST OFFICE
RFC 937 – POST OFFICE PROTOCOL – VERSION 2
RFC 1081 – Post Office Protocol – Version 3
RFC 1939 – Post Office Protocol – Version 3 (STD 53)
RFC 1957 – Some Observations on Implementations of the Post Office Protocol (POP3)
RFC 2195 – IMAP/POP AUTHorize Extension for Simple Challenge/Response
RFC 2384 – POP URL Scheme
RFC 2449 – POP3 Extension Mechanism
RFC 2595 – UsinHxwu TLS with IMAP, POP3 and ACAP
RFC 3206 – The SYS and AUTH POP Response Codes
RFC 5034 – The Post Office Protocol (POP3) Simple Authentication and Security Layer (SASL) Authentication Mechanism


== Տես նաև ==
SMTP
IMAP
TCP/IP


== Ծանոթագրություններ ==


== Հղումներ ==
Hughes L (1998)։ Internet e-mail Protocols, Standards and Implementation։ Artech House Publishers։ ISBN 0-89006-939-5 
Johnson K (2000)։ Internet Email Protocols: A Developer's Guide։ Addison-Wesley Professional։ ISBN 0-201-43288-9 
Loshin P (1999)։ Essential Email Standards: RFCs and Protocols Made Practical։ John Wiley & Sons։ ISBN 0-471-34597-0 
Rhoton J (1999)։ Programmer's Guide to Internet Mail: SMTP, POP, IMAP, and LDAP։ Elsevier։ ISBN 1-55558-212-5 
Wood D (1999)։ Programming Internet Mail։ O'Reilly։ ISBN 1-56592-479-7 


== Արտաքին հղումներ ==
IANA port number assignments
POP3 Sequence Diagram Archived 2015-05-03 at the Wayback Machine. (PDF)