\chapter{Internet and WWW Services}
\nodename{Internet and WWW}
\label{www}
\index{WWW}
\index{Internet}
\index{World-Wide Web}

The modules described in this chapter provide various services to
World-Wide Web (WWW) clients and/or services, and a few modules
related to news and email.  They are all implemented in Python.  Some
of these modules require the presence of the system-dependent module
\code{sockets}\refbimodindex{socket}, which is currently only fully
supported on \UNIX{} and Windows NT.  Here is an overview:

\begin{description}

\item[cgi]
--- Common Gateway Interface, used to interpret forms in server-side
scripts.

\item[urllib]
--- Open an arbitrary object given by URL (requires sockets).

\item[httplib]
--- HTTP protocol client (requires sockets).

\item[ftplib]
--- FTP protocol client (requires sockets).

\item[gopherlib]
--- Gopher protocol client (requires sockets).

\item[imaplib]
--- IMAP4 protocol client (requires sockets).

\item[nntplib]
--- NNTP protocol client (requires sockets).

\item[urlparse]
--- Parse a URL string into a tuple (addressing scheme identifier, network
location, path, parameters, query string, fragment identifier).

\item[sgmllib]
--- Only as much of an SGML parser as needed to parse HTML.

\item[htmllib]
--- A parser for HTML documents.

\item[xmllib]
--- A parser for XML documents.

\item[formatter]
--- Generic output formatter and device interface.

\item[rfc822]
--- Parse \rfc{822} style mail headers.

\item[mimetools]
--- Tools for parsing MIME style message bodies.

\item[binhex]
--- Encode and decode files in binhex4 format.

\item[uu]
--- Encode and decode files in uuencode format.

\item[binascii]
--- Tools for converting between binary and various ascii-encoded binary 
representation

\item[xdrlib]
--- The External Data Representation Standard as described in \rfc{1014},
written by Sun Microsystems, Inc. June 1987.

\item[mailcap]
--- Mailcap file handling.  See \rfc{1524}.

\item[base64]
--- Encode/decode binary files using the MIME base64 encoding.

\item[quopri]
--- Encode/decode binary files using the MIME quoted-printable encoding.

\item[SocketServer]
--- A framework for network servers.

\item[mailbox]
--- Read various mailbox formats.

\item[mimify]
--- Mimification and unmimification of mail messages.

\item[BaseHTTPServer]
--- Basic HTTP server (base class for SimpleHTTPServer and CGIHTTPServer).

\end{description}
