mirror of
https://github.com/python/cpython.git
synced 2026-01-04 14:32:21 +00:00
Move the 3k reST doc tree in place.
This commit is contained in:
parent
739c01d47b
commit
116aa62bf5
423 changed files with 131199 additions and 0 deletions
86
Doc/library/simplehttpserver.rst
Normal file
86
Doc/library/simplehttpserver.rst
Normal file
|
|
@ -0,0 +1,86 @@
|
|||
|
||||
:mod:`SimpleHTTPServer` --- Simple HTTP request handler
|
||||
=======================================================
|
||||
|
||||
.. module:: SimpleHTTPServer
|
||||
:synopsis: This module provides a basic request handler for HTTP servers.
|
||||
.. sectionauthor:: Moshe Zadka <moshez@zadka.site.co.il>
|
||||
|
||||
|
||||
The :mod:`SimpleHTTPServer` module defines a request-handler class,
|
||||
interface-compatible with :class:`BaseHTTPServer.BaseHTTPRequestHandler`, that
|
||||
serves files only from a base directory.
|
||||
|
||||
The :mod:`SimpleHTTPServer` module defines the following class:
|
||||
|
||||
|
||||
.. class:: SimpleHTTPRequestHandler(request, client_address, server)
|
||||
|
||||
This class is used to serve files from the current directory and below, directly
|
||||
mapping the directory structure to HTTP requests.
|
||||
|
||||
A lot of the work, such as parsing the request, is done by the base class
|
||||
:class:`BaseHTTPServer.BaseHTTPRequestHandler`. This class implements the
|
||||
:func:`do_GET` and :func:`do_HEAD` functions.
|
||||
|
||||
The :class:`SimpleHTTPRequestHandler` defines the following member variables:
|
||||
|
||||
|
||||
.. attribute:: SimpleHTTPRequestHandler.server_version
|
||||
|
||||
This will be ``"SimpleHTTP/" + __version__``, where ``__version__`` is defined
|
||||
in the module.
|
||||
|
||||
|
||||
.. attribute:: SimpleHTTPRequestHandler.extensions_map
|
||||
|
||||
A dictionary mapping suffixes into MIME types. The default is signified by an
|
||||
empty string, and is considered to be ``application/octet-stream``. The mapping
|
||||
is used case-insensitively, and so should contain only lower-cased keys.
|
||||
|
||||
The :class:`SimpleHTTPRequestHandler` defines the following methods:
|
||||
|
||||
|
||||
.. method:: SimpleHTTPRequestHandler.do_HEAD()
|
||||
|
||||
This method serves the ``'HEAD'`` request type: it sends the headers it would
|
||||
send for the equivalent ``GET`` request. See the :meth:`do_GET` method for a
|
||||
more complete explanation of the possible headers.
|
||||
|
||||
|
||||
.. method:: SimpleHTTPRequestHandler.do_GET()
|
||||
|
||||
The request is mapped to a local file by interpreting the request as a path
|
||||
relative to the current working directory.
|
||||
|
||||
If the request was mapped to a directory, the directory is checked for a file
|
||||
named ``index.html`` or ``index.htm`` (in that order). If found, the file's
|
||||
contents are returned; otherwise a directory listing is generated by calling the
|
||||
:meth:`list_directory` method. This method uses :func:`os.listdir` to scan the
|
||||
directory, and returns a ``404`` error response if the :func:`listdir` fails.
|
||||
|
||||
If the request was mapped to a file, it is opened and the contents are returned.
|
||||
Any :exc:`IOError` exception in opening the requested file is mapped to a
|
||||
``404``, ``'File not found'`` error. Otherwise, the content type is guessed by
|
||||
calling the :meth:`guess_type` method, which in turn uses the *extensions_map*
|
||||
variable.
|
||||
|
||||
A ``'Content-type:'`` header with the guessed content type is output, followed
|
||||
by a ``'Content-Length:'`` header with the file's size and a
|
||||
``'Last-Modified:'`` header with the file's modification time.
|
||||
|
||||
Then follows a blank line signifying the end of the headers, and then the
|
||||
contents of the file are output. If the file's MIME type starts with ``text/``
|
||||
the file is opened in text mode; otherwise binary mode is used.
|
||||
|
||||
For example usage, see the implementation of the :func:`test` function.
|
||||
|
||||
.. versionadded:: 2.5
|
||||
The ``'Last-Modified'`` header.
|
||||
|
||||
|
||||
.. seealso::
|
||||
|
||||
Module :mod:`BaseHTTPServer`
|
||||
Base class implementation for Web server and request handler.
|
||||
|
||||
Loading…
Add table
Add a link
Reference in a new issue