#
11. Internet Protocols and Support

The modules described in this chapter implement Internet protocols and support for related technology. They are all implemented in Python. Some of these modules require the presence of the system-dependent module `socket`, which is currently only fully supported on Unix and Windows NT. Here is an overview:

`cgi` | Common Gateway Interface support, used to interpret forms in server-side scripts.
`urllib` | Open an arbitrary object given by URL (requires sockets).
`httplib` | HTTP protocol client (requires sockets).
`ftplib` | FTP protocol client (requires sockets).
`gopherlib` | Gopher protocol client (requires sockets).
`poplib` | POP3 protocol client (requires sockets).
`imaplib` | IMAP4 protocol client (requires sockets).
`nntplib` | NNTP protocol client (requires sockets).
`smtplib` | SMTP protocol client (requires sockets).
`telnetlib` | Telnet client class.
`urlparse` | Parse URLs into components.
`SocketServer` | A framework for network servers.
`BaseHTTPServer` | Basic HTTP server (base class for `SimpleHTTPServer` and `CGIHTTPServer`).
`SimpleHTTPServer` | This module provides a request handler for HTTP servers.
`CGIHTTPServer` | This module provides a request handler for HTTP servers which can run CGI scripts.
`asyncore` | A base class for developing asyncronous socket handling services.