Ecco una sorta di definizione di scappatoia:
Lo saprai quando lo vedrai.
Questo è uno di quei casi in cui è molto difficile trovare una definizione concisa che copra tutti i casi d'angolo. Ma è anche uno di quei casi in cui i casi d'angolo sono completamente irrilevanti, perché semplicemente non si verificano nella vita reale.
Praticamente tutti i protocolli che incontrerai nella vita reale avranno questo aspetto:
> fg,m4wr76389b zhjsfg gsidf7t5e89wriuotu nbsdfgizs89567sfghlkf
> b9er t8ß03q+459tw4t3490ß´5´3w459t srt üßodfasdfäasefsadfaüdfzjhzuk78987342
< mvclkdsfu93q45324äö53q4lötüpq34tasä#etr0 awe+s byf eart
[Immagina un sacco di altra merda non stampabile lì. Una delle sfide nel trasmettere la differenza tra testo e binario è che devi fare il trasporto nel testo :-)]
O in questo modo:
< 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
[L'ho appena inventato sul posto.]
Semplicemente non c'è molta ambiguità lì.
Un'altra definizione che a volte ho sentito è
un protocollo di testo è quello che puoi eseguire il debug utilizzando telnet
Forse sto mostrando la mia nerdità qui, ma in realtà ho scritto e letto e-mail tramite SMTP e POP3, letto articoli usenet tramite NNTP e visualizzato pagine Web tramite HTTP utilizzando telnet
, per nessun altro motivo se non per vedere se avrebbe funzionato effettivamente.
In realtà, mentre scrivevo questo, ho preso di nuovo la febbre:
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.
Dannazione, è passato un po 'di tempo dall'ultima volta che l'ho fatto. Ci sono un bel po 'di errori :-)