Вот определение вроде отговорки:
Вы узнаете это, когда увидите.
Это один из тех случаев, когда очень сложно найти краткое определение, охватывающее все угловые случаи. Но это также один из тех случаев, когда угловые случаи совершенно неуместны, потому что они просто не встречаются в реальной жизни.
Практически все протоколы, с которыми вы встретитесь в реальной жизни, будут выглядеть так:
> 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
Может, здесь я проявляю свою нервозность, но у меня на самом деле написано и читать электронную почту через 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.
Блин, прошло много времени с тех пор, как я это делал. Там довольно много ошибок :-)