předcházející následující

Post Office Protokol verze 3 - POP3


Kapitola 6. Nepovinné příkazy

Obsah

6.1. Popis příkazů
6.1.1. TOP
6.1.2. UIDL
6.1.3. APOP

Časová náročnost kapitoly: 15 minut

    Nyní následují příkazy protokolu POP3, jejichž implementace není povinná. Všechny povinné příkazy již byly popsány při popisu stavů autorizačního, transakčního a aktualizačního. Nepovinné příkazy se implementují pro zlepšení použitelnosti protokolu POP3.

6.1. Popis příkazů

6.1.1. TOP zpráva počet


    Příkaz TOP se používá pro získání části zprávy ze serveru. Je užitečný pro přečtení části zprávy. Zvláště na komutovaných linkách je možnost načíst několik řádků z velké zprávy neocenitelná. Pro jeho užitečnost je často implementován. Příkaz vrací zadaný počet řádků ze zprávy.
Parametry:
    zpráva - unikátní identifikátor zprávy, která nesmí být označena jako smazaná
    počet - nezáporný počet řádků zprávy, které má server poslat
Možné odpovědi:
    +OK zbytek zpravy nasleduje
    -ERR zadna takova zprava
Příklad:
    Klient: TOP 1 10
    Server: +OK
    Server: nyní se posílá prvních 10 řádků zprávy číslo 1
    Server: .
    ...
    Klient: TOP 20 10
    Server: -ERR neplatne cislo zpravy

6.1.2. UIDL [zpráva]


    Pro získání unikátních identifikátorů zprávy ze serveru (pokud není zadán parametr vrací identifikátory všech zpráv) použijeme příkaz UIDL. Odpověď je ve formátu ID zprávy, následováno identifikátorem generovaným POP3 serverem na základě hašovací funkce aplikované na tělo zprávy. Na rozdíl od dočasného ID, které je generováno jako pořadí zprávy na POP3 serveru, je identifikátor vrácený příkazem UIDL unikátní v rámci celého POP3 serveru. Server nesmí přidělit stejné ID, dokud zpráva není odstraněna. Unikátnost je nezbytná při ukončení bez vstupu do aktualizačního stavu, například při přerušení spojení. Dalším využitím je ponechávání kopie zprávy na serveru a podle unikátního ID nahrávání jen nových zpráv bez nutnosti nahrávání celého obsahu schránky.
Parametry:
    zpráva - nepovinný parametr, unikátní identifikátor zprávy, která nesmí být označena jako smazaná
Možné odpovědi:
    +OK nasleduje unikatni identifikator
    -ERR zadna takova zprava
Příklad:
    Klient: UIDL
    Server: +OK
    Server: 1 whqtswO00WBw418f9t5JxYwZ
    Server: 2 QhdPYR:00WBw1Ph7x7
    Server: .
    ...
    Klient: UIDL 2
    Server: +OK 2 QhdPYR:00WBw1Ph7x7
    ...
    Klient: UIDL 3
    Server: -ERR zadna takova zprava

6.1.3. APOP jméno otisk


    Pro zabezpečené přihlášení k poštovní schránce využívá kódování hesla pomoci algoritmu MD5, algoritmus šifrování popsán v RFC 1321 [3]. POP3 server, který podporuje autorizaci příkazem APOP, připojí ke svému uvítacímu pozdravu časovou známku. Struktura časové známky odpovídá msg-id popsanému v dokumentu RFC 822 [4], musí být pokaždé při spojení klienta a serveru jedinečná. Otisk hesla vypočítá klient použitím MD5 algoritmu na řetězec složený z časové známky a řetězce sdíleného hesla. Tento řetězec sdíleného hesla je znám pouze klientu a serveru.
Parametry:
    jméno - povinný parametr, řetězec identifikující uživatele
    otisk - povinný parametr, řetězec generovaný pomocí algoritmu MD5
Možné odpovědi:
    +OK uzivatel prihlasen, schranka uzamcena
    -ERR pristup nepovolen
Příklad:
    Server: +OK POP3 server pripraven 1896.697170952@dbc.mtview.ca.us
    Klient: APOP karel c4c9334bac560ecc979e58001b3e22fb
    Server: +OK uzivatel prihlasen

6.2. Cvičení


Popište zásadní rozdíl mezi přihlášením do schránky pomocí příkazů USER a PASS a přihlášením pomocí příkazu APOP.
    Pokuste se programem ethereal zachytit a vyhodnotit průběh komunikace mezi klientem a serverem.


předcházející následující