|
Once a client has connected to a service on a particular port, it accesses the
service using a specific protocol. The protocol is
the pre-defined way that someone who wants to use a service talks with that
service. The "someone" could be a person, but more often it is a computer program
like a Web browser. Protocols are often text, and simply describe how the client
and server will have their conversation.
Perhaps the simplest protocol is
the daytime protocol. If you connect to port 13 on
a machine that supports a daytime server, the server will
send you its impression of the current date and time and
then close the connection. The protocol is, "If you connect
to me, I will send you the date and time and then disconnect." Most
UNIX machines support this server. If you would like to try
it out, you can connect to one with the Telnet application.
In UNIX, the session would look like this:
%telnet web67.ntx.net 13
Trying 216.27.61.137...
Connected to web67.ntx.net.
Escape character is '^]'.
Sun Oct 25 08:34:06 1998
Connection closed by foreign host.
On a Windows machine,
you can access this server by typing "telnet web67.ntx.net 13" at
the MSDOS prompt.
In this example, web67.ntx.net is
the server's UNIX machine, and 13 is the port number for
the daytime service. The Telnet application connects to port
13 (telnet naturally connects to port 23, but you can direct
it to connect to any port), then the server sends the date
and time and disconnects. Most versions of Telnet allow you
to specify a port number, so you can try this using whatever
version of Telnet you have available on your machine.
Most protocols are
more involved than daytime and are specified in Request
for Comment (RFC)
documents that are publicly available on the Net. Every Web
server on the Internet conforms to the HTTP protocol, summarized
nicely in this
article. The most basic form of the protocol understood
by an HTTP server involves just one command: GET. If you
connect to a server that understands the HTTP protocol and
tell it to "GET filename," the server will respond by sending
you the contents of the named file and then disconnecting.
Here's a typical session:
%telnet www.mysite.com 80
Trying 216.27.61.137...
Connected to mysite.com.
Escape character is '^]'.
GET http://www.mysite.com/
<html>
<head>
<title>Welcome to How Stuff Works</title>
...
</body>
</html>
Connection closed by foreign host.
In the original HTTP
protocol, all you would have sent was the actual filename,
such as "/" or "/web-server.htm." The
protocol was later modified to handle the sending of the
complete URL. This has allowed companies that host virtual
domains, where many domains live on a single machine,
to use one IP address for all of the domains they host. It
turns out that hundreds of domains are hosted on 209.116.69.66
-- the www.mysite.com IP address. |