< BACKMake Note | BookmarkCONTINUE >
152015024128143245168232148039199167010047123209178152124239215162148040135185021104014041

Summary

This chapter exposes the reality between Python and the Internet by introducing some complete Web applications that have emerged from the Python community.

Python's support to HTTP, which is the basic communication protocol underlying the Web, allows it to implement HTTP servers (Web servers) and clients (Web browsers). This chapter shows simple details about the configuration of Apache and Microsoft IIS Server/Personal Web Server (PWS). Another Web server called AOLServer is also introduced to you.

If you have Apache and you decide not to go through any CGI implementation, you should consider embedding Python in this Web server.

mod_python is a module that embeds the Python language interpreter within the Apache server, allowing Apache handlers to be written in Python. It brings a considerable boost in performance over the traditional CGI approach.

mod_pyapache is another module that embeds Python within the Apache server. This module also handles CGI scripts faster than other normal CGI scripts.

Besides Web Servers and Web Clients, Python has some completely developed Web applications, written in Python itself, which are available for general use.

Grail is a free Web browser written entirely in Python, using the Tkinter GUI. Grail has the capability to manipulate SGML, HTML, URL's, images, and sound. Besides, it is easily extended to offer new functionality. Grail's design tries to provide a plug-in architecture, which allows the browser to easily support applets written in Python. Apart from running applets, Grail is extensible in other areas by writing so-called Grail plug-in modules.

The Z Object Publishing Environment (Zope) is an open source object publishing system for the Web. Zope is a complete dynamic Website management Web platform used for building high-performance, dynamic Web sites. It is composed of parts that can be deployed standalone with your own Python code support: The Object Request Broker, HTML Templates (DTML), and the Object Database (ZODB, or Z Object Database, which stores Python objects) can all be abstracted from the mix.

Mailman is a Web integrated mailing list manager that helps managing email discussion lists. Unlike most similar products, Mailman gives each mailing list a Web page, and allows users to subscribe, unsubscribe, and so on, over the Web. All Mailman actions, including subscription requests, list administration, and management reports, can be performed either through a Web interface or more traditional textual commands.

Medusa is a Web server application that can be embedded into a Python program, offering high-performance for HTTP, FTP, and other IP services. Medusa was entirely written in Python too.

The following applications and scripts are utilities that might help you with future development efforts with Python.

BSCW is a shared Workspace Server for the Web, which is implemented as a collection of Python CGI scripts.

The web2ldap.py script (formerly known as ldap-client-cgi.py) is a full-featured, Web-based LDAP client written in Python.

WebLog is a group of Python modules containing several class definitions useful for parsing, manipulating, and postprocessing of common Web and Web proxy logfile formats.

The following Python tools are used to manage Web sites. They implement several functions that simplify the daily tasks performed by Webmasters, such as dead link checking, and object publishing.

WebDAV (World Wide Web Distributed Authoring and Versioning) is a set of extensions to the HTTP/1.1 protocol, which allows users to collaboratively edit, manage, and update files safely on remote Web servers.

Zebra is an XML-based preprocessing language that offers a compact syntax for expressing common Web design patterns. As Zope, Zebra is a templating system that is able to preprocess Python code.

The HTTPD logfile reporting tool (httpd_log) is a graphical Web statistics tool that analyzes HTTP log files and generates a page of summary information.

Linbot is a site management tool that analyzes a site and allows the user to view a site map, check for broken internal and external links, missing images, and list other problems that were found.

The Web site "Python-friendly ISPs" lists Web site providers that support the execution of CGI scripts written in Python. Another option that you have is to install Python on your ISP using the mxCGIPython tool.

HTMLgen is a module that helps you generate HTML. It contains a class library of objects corresponding to all the HTML 3.2 markup tags. When talking about generating HTML code, it might also be useful to consider DocumentTemplate, which offers clear separation between Python code and HTML code.

Webchecker is not a CGI application but a Web client application that enables you to check the validity of a site. LinkChecker is another tool that also allows you to check your HTML documents for broken links.

Persistent CGI architecture provides a reasonably high-performance, transparent method of publishing objects as long running processes via the World Wide Web.

FastCGI is a fast, open, and secure Web Server interface that solves the performance problems inherent in CGI, without introducing the overhead and complexity of proprietary APIs.


Last updated on 1/30/2002
Python Developer's Handbook, © 2002 Sams Publishing

< BACKMake Note | BookmarkCONTINUE >

Index terms contained in this section

development
      Web 2nd 3rd
Internet
      development for 2nd 3rd
World Wide Web
      development for 2nd 3rd

© 2002, O'Reilly & Associates, Inc.