summaryrefslogtreecommitdiffstats
path: root/Doc/library/http.server.rst
diff options
context:
space:
mode:
authorPierre Quentel <pierre.quentel@gmail.com>2017-04-02 10:26:12 (GMT)
committerSerhiy Storchaka <storchaka@gmail.com>2017-04-02 10:26:12 (GMT)
commit351adda54bed3afbbf6db7725699679e68722d7d (patch)
treecde5d5563d5fc31730378a164ea0b73d0d67ff35 /Doc/library/http.server.rst
parentefbd4ea65dbb9f87b1afeec6a760802756badee5 (diff)
downloadcpython-351adda54bed3afbbf6db7725699679e68722d7d.zip
cpython-351adda54bed3afbbf6db7725699679e68722d7d.tar.gz
cpython-351adda54bed3afbbf6db7725699679e68722d7d.tar.bz2
bpo-29654 : Support If-Modified-Since HTTP header (browser cache) (#298)
Return 304 response if file was not modified.
Diffstat (limited to 'Doc/library/http.server.rst')
-rw-r--r--Doc/library/http.server.rst12
1 files changed, 8 insertions, 4 deletions
diff --git a/Doc/library/http.server.rst b/Doc/library/http.server.rst
index fb5c1df..ee1c37c 100644
--- a/Doc/library/http.server.rst
+++ b/Doc/library/http.server.rst
@@ -343,11 +343,13 @@ of which this module provides three different variants:
:func:`os.listdir` to scan the directory, and returns a ``404`` error
response if the :func:`~os.listdir` fails.
- If the request was mapped to a file, it is opened and the contents are
- returned. Any :exc:`OSError` exception in opening the requested file is
- mapped to a ``404``, ``'File not found'`` error. Otherwise, the content
+ If the request was mapped to a file, it is opened. Any :exc:`OSError`
+ exception in opening the requested file is mapped to a ``404``,
+ ``'File not found'`` error. If there was a ``'If-Modified-Since'``
+ header in the request, and the file was not modified after this time,
+ a ``304``, ``'Not Modified'`` response is sent. Otherwise, the content
type is guessed by calling the :meth:`guess_type` method, which in turn
- uses the *extensions_map* variable.
+ uses the *extensions_map* variable, and the file contents are returned.
A ``'Content-type:'`` header with the guessed content type is output,
followed by a ``'Content-Length:'`` header with the file's size and a
@@ -360,6 +362,8 @@ of which this module provides three different variants:
For example usage, see the implementation of the :func:`test` function
invocation in the :mod:`http.server` module.
+ .. versionchanged:: 3.7
+ Support of the ``'If-Modified-Since'`` header.
The :class:`SimpleHTTPRequestHandler` class can be used in the following
manner in order to create a very basic webserver serving files relative to