Question
When Alice writes an ordinary snail-mail letter to Bob, she may include all kinds of peripheral header information at the top of the letter, such
When Alice writes an ordinary snail-mail letter to Bob, she may include all kinds of
peripheral header information at the top of the letter, such as Bob's address, her own
return address, and the date. Similarly, when an e-mail message is sent from one person to another, a header containing peripheral information precedes the body of the
message itself. This peripheral information is contained in a series of header lines,
which are defined in RFC 5322. The header lines and the body of the message are
separated by a blank line (that is, by CRLF). RFC 5322 specifies the exact format for
mail header lines as well as their semantic interpretations. As with HTTP, each header
line contains readable text, consisting of a keyword followed by a colon followed by
a value. Some of the keywords are required and others are optional. Every header
must have a From: header line and a To: header line; a header may include a Subject: header line as well as other optional header lines. It is important to note that
these header lines are different from the SMTP commands we studied in Section 2.4.1
(even though they contain some common words such as "from" and "to"). The commands in that section were part of the SMTP handshaking protocol; the header lines
examined in this section are part of the mail message itself.
A typical message header looks like this:
From: a..e@crepes.fr
To: b..b@hamburger.edu
Subject: Searching for the meaning of life.
After the message header, a blank line follows; then the message body (in ASCII)
follows. You should use Telnet to send a message to a mail server that contains some
header lines, including the Subject: header line. To do this, issue telnet
serverName 25, as discussed in Section 2.4.1.
2.4.4 Mail Access Protocols
Once SMTP delivers the message from Alice's mail server to Bob's mail server, the
message is placed in Bob's mailbox. Throughout this discussion we have tacitly
assumed that Bob reads his mail by logging onto the server host and then executing
a mail reader that runs on that host. Up until the early 1990s this was the standard
way of doing things. But today, mail access uses a client-server architecture—the
typical user reads e-mail with a client that executes on the user's end system, for
example, on an office PC, a laptop, or a smartphone. By executing a mail client on a
local PC, users enjoy a rich set of features, including the ability to view multimedia
messages and attachments.
Given that Bob (the recipient) executes his user agent on his local PC, it is natural to consider placing a mail server on his local PC as well. With this approach, SMTP client indicates the e-mail address of the sender (the person who generated
the message) and the e-mail address of the recipient. Once the SMTP client and
server have introduced themselves to each other, the client sends the message.
SMTP can count on the reliable data transfer service of TCP to get the message
to the server without errors. The client then repeats this process over the same
TCP connection if it has other messages to send to the server; otherwise, it
instructs TCP to close the connection.
Let's next take a look at an example transcript of messages exchanged
between an SMTP client (C) and an SMTP server (S). The hostname of the client
is crepes.fr
and the hostname of the server is hamburger.edu. The
ASCII text lines prefaced with C: are exactly the lines the client sends into its
TCP socket, and the ASCII text lines prefaced with S: are exactly the lines the
server sends into its TCP socket. The following transcript begins as soon as the
TCP connection is established.
S: 220 hamburger.edu
C: HELO crepes.fr
S: 250 Hello crepes.fr, pleased to meet you
C: MAIL FROM: &..e@crepes.fr>
S: 250 a..e@crepes.fr ... Sender ok
C: RCPT TO: &..b@hamburger.edu>
S: 250 b..b@hamburger.edu ... Recipient ok
C: DATA
S: 354 Enter mail, end with "." on a line by itself
C: Do you like ketchup?
C: How about pickles?
C: .
S: 250 Message accepted for delivery
C: QUIT
S: 221 hamburger.edu closing connection
In the example above, the client sends a message ("Do you like ketchup?
How about pickles?") from mail server crepes.fr to mail server hamburger.edu. As part of the dialogue, the client issued five commands: HELO (an
abbreviation for HELLO), MAIL FROM, RCPT TO, DATA, and QUIT. These commands are self-explanatory. The client also sends a line consisting of a single period,
which indicates the end of the message to the server. (In ASCII jargon, each message ends with CRLF.CRLF, where CR and LF stand for carriage return and line
feed, respectively.) The server issues replies to each command, with each reply having a reply code and some (optional) English-language explanation. We mention
here that SMTP uses persistent connections: If the sending mail server has several
messages to send to the same receiving mail server, it can send all of the messages
over the same TCP connection.
In your post, explain to another newbie how to apply algorithmic design and data structure techniques in developing structured programs. Are some algorithms and data structure designs better than others? If so, explain why one design would be used before another design would be used. Discuss in the post how you would apply algorithmic design and data structure techniques in developing structured programs. Post the link to your blog in the discussion forum.
Step by Step Solution
3.50 Rating (153 Votes )
There are 3 Steps involved in it
Step: 1
When developing structured programs algorithmic design and data structure techniques play a crucial role in creating efficient and effective solutions ...Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started