Ось своєрідне визначення:
Ви це дізнаєтесь, коли побачите.
Це один з тих випадків, коли дуже важко знайти стисле визначення, яке охоплює всі кутові справи. Але це також один із тих випадків, коли кутові випадки абсолютно неактуальні, оскільки вони просто не трапляються в реальному житті.
Практично всі протоколи, з якими ви зіткнетеся в реальному житті, будуть виглядати так:
> fg,m4wr76389b zhjsfg gsidf7t5e89wriuotu nbsdfgizs89567sfghlkf
> b9er t8ß03q+459tw4t3490ß´5´3w459t srt üßodfasdfäasefsadfaüdfzjhzuk78987342
< mvclkdsfu93q45324äö53q4lötüpq34tasä#etr0 awe+s byf eart
[Уявіть собі тону інших непридатних для друку лайна. Однією з проблем передачі різниці між текстом і двійковим файлом є те, що вам потрібно робити передавання в тексті :-)]
Або ось так:
< HELLO server.example.com
> HELLO client.example.com
< GO
> GETFILE /foo.jpg
< Length: 3726
< Type: image/jpeg
< READY?
> GO
< ... server sends 3726 bytes of binary data ...
> ACK
> BYE
[Я щойно придумав це на місці.]
Там просто не так багато двозначності.
Ще одне визначення, яке я іноді чув, - це
текстовий протокол - це той, який ви можете налагодити за допомогою telnet
Може бути , я показую свою nerdiness тут, але я б на самому справі написано і читати електронну пошту через SMTP і POP3, читання Usenet статей через NNTP і переглядати веб - сторінки з допомогою HTTP з допомогоюtelnet
, ні по якій іншій причині , ніж бачити , чи буде це на самому справі робота.
Насправді, писаючи це, я якось знову підхопив гарячку:
bash-4.0$ telnet smtp.googlemail.com 25
Trying 74.125.77.16...
Connected to googlemail-smtp.l.google.com.
Escape character is '^]'.
< 220 googlemail-smtp.l.google.com ESMTP Thu, 15 Apr 2010 19:19:39 +0200
> HELO
< 501 Syntactically invalid HELO argument(s)
> HELO client.example.com
< 250 googlemail-smtp.l.google.com Hello client.example.com [666.666.666.666]
> RCPT TO:Me <Me@Example.Com>
< 503 sender not yet given
> SENDER:Me <Me@Example.Com>
< 500 unrecognized command
> RCPT FROM:Me <Me@Example.Com>
< 500 unrecognized command
> FROM:Me <Me@Example.Com>
< 500-unrecognized command
> HELP
< 214-Commands supported:
< 214 AUTH HELO EHLO MAIL RCPT DATA NOOP QUIT RSET HELP ETRN
> MAIL FROM:Me <Me@Example.Com>
< 250 OK
> RCPT TO:You <You@SomewhereElse.Example.Com>
< 250 Accepted
> DATA
< 354 Enter message, ending with "." on a line by itself
> From: Me <Me@Example.Com>
> To: You <You@SomewhereElse.Example.Com>
> Subject: Testmail
>
> This is a test.
> .
< 250 OK id=1O2Sjq-0000c4-Qv
> QUIT
< 221 googlemail-smtp.l.google.com closing connection
Connection closed by foreign host.
Блін, вже давно я не робив цього. Досить багато помилок :-)