Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Commit b7e15a9

Browse filesBrowse files
[3.13] gh-130160: use .. program:: directive for documenting http.server CLI (GH-131010) (#131293)
gh-130160: use `.. program::` directive for documenting `http.server` CLI (GH-131010) (cherry picked from commit 7ae9c5d) Co-authored-by: donBarbos <donbarbos@proton.me>
1 parent 5646f6f commit b7e15a9
Copy full SHA for b7e15a9

File tree

1 file changed

+68
-51
lines changed
Filter options

1 file changed

+68
-51
lines changed

‎Doc/library/http.server.rst

Copy file name to clipboardExpand all lines: Doc/library/http.server.rst
+68-51Lines changed: 68 additions & 51 deletions
Original file line numberDiff line numberDiff line change
@@ -418,49 +418,6 @@ the current directory::
418418
such as using different index file names by overriding the class attribute
419419
:attr:`index_pages`.
420420

421-
.. _http-server-cli:
422-
423-
:mod:`http.server` can also be invoked directly using the :option:`-m`
424-
switch of the interpreter. Similar to
425-
the previous example, this serves files relative to the current directory::
426-
427-
python -m http.server
428-
429-
The server listens to port 8000 by default. The default can be overridden
430-
by passing the desired port number as an argument::
431-
432-
python -m http.server 9000
433-
434-
By default, the server binds itself to all interfaces. The option ``-b/--bind``
435-
specifies a specific address to which it should bind. Both IPv4 and IPv6
436-
addresses are supported. For example, the following command causes the server
437-
to bind to localhost only::
438-
439-
python -m http.server --bind 127.0.0.1
440-
441-
.. versionchanged:: 3.4
442-
Added the ``--bind`` option.
443-
444-
.. versionchanged:: 3.8
445-
Support IPv6 in the ``--bind`` option.
446-
447-
By default, the server uses the current directory. The option ``-d/--directory``
448-
specifies a directory to which it should serve the files. For example,
449-
the following command uses a specific directory::
450-
451-
python -m http.server --directory /tmp/
452-
453-
.. versionchanged:: 3.7
454-
Added the ``--directory`` option.
455-
456-
By default, the server is conformant to HTTP/1.0. The option ``-p/--protocol``
457-
specifies the HTTP version to which the server is conformant. For example, the
458-
following command runs an HTTP/1.1 conformant server::
459-
460-
python -m http.server --protocol HTTP/1.1
461-
462-
.. versionchanged:: 3.11
463-
Added the ``--protocol`` option.
464421

465422
.. class:: CGIHTTPRequestHandler(request, client_address, server)
466423

@@ -510,25 +467,85 @@ following command runs an HTTP/1.1 conformant server::
510467
Retaining it could lead to further :ref:`security considerations
511468
<http.server-security>`.
512469

513-
:class:`CGIHTTPRequestHandler` can be enabled in the command line by passing
514-
the ``--cgi`` option::
515470

516-
python -m http.server --cgi
471+
.. _http-server-cli:
472+
473+
Command-line interface
474+
----------------------
475+
476+
:mod:`http.server` can also be invoked directly using the :option:`-m`
477+
switch of the interpreter. The following example illustrates how to serve
478+
files relative to the current directory::
479+
480+
python -m http.server [OPTIONS] [port]
481+
482+
The following options are accepted:
483+
484+
.. program:: http.server
517485

518-
.. deprecated-removed:: 3.13 3.15
486+
.. option:: port
519487

520-
:mod:`http.server` command line ``--cgi`` support is being removed
521-
because :class:`CGIHTTPRequestHandler` is being removed.
488+
The server listens to port 8000 by default. The default can be overridden
489+
by passing the desired port number as an argument::
490+
491+
python -m http.server 9000
492+
493+
.. option:: -b, --bind <address>
494+
495+
Specifies a specific address to which it should bind. Both IPv4 and IPv6
496+
addresses are supported. By default, the server binds itself to all
497+
interfaces. For example, the following command causes the server to bind
498+
to localhost only::
499+
500+
python -m http.server --bind 127.0.0.1
501+
502+
.. versionadded:: 3.4
503+
504+
.. versionchanged:: 3.8
505+
Support IPv6 in the ``--bind`` option.
506+
507+
.. option:: -d, --directory <dir>
508+
509+
Specifies a directory to which it should serve the files. By default,
510+
the server uses the current directory. For example, the following command
511+
uses a specific directory::
512+
513+
python -m http.server --directory /tmp/
514+
515+
.. versionadded:: 3.7
516+
517+
.. option:: -p, --protocol <version>
518+
519+
Specifies the HTTP version to which the server is conformant. By default,
520+
the server is conformant to HTTP/1.0. For example, the following command
521+
runs an HTTP/1.1 conformant server::
522+
523+
python -m http.server --protocol HTTP/1.1
524+
525+
.. versionadded:: 3.11
526+
527+
.. option:: --cgi
528+
529+
:class:`CGIHTTPRequestHandler` can be enabled in the command line by passing
530+
the ``--cgi`` option::
531+
532+
python -m http.server --cgi
533+
534+
.. deprecated-removed:: 3.13 3.15
535+
536+
:mod:`http.server` command line ``--cgi`` support is being removed
537+
because :class:`CGIHTTPRequestHandler` is being removed.
522538

523539
.. warning::
524540

525-
:class:`CGIHTTPRequestHandler` and the ``--cgi`` command line option
541+
:class:`CGIHTTPRequestHandler` and the ``--cgi`` command-line option
526542
are not intended for use by untrusted clients and may be vulnerable
527543
to exploitation. Always use within a secure environment.
528544

545+
529546
.. _http.server-security:
530547

531-
Security Considerations
548+
Security considerations
532549
-----------------------
533550

534551
.. index:: pair: http.server; security

0 commit comments

Comments
0 (0)
Morty Proxy This is a proxified and sanitized view of the page, visit original site.