diff --git a/Doc/bugs.rst b/Doc/bugs.rst
index 4e83d4d..11e6101 100644
--- a/Doc/bugs.rst
+++ b/Doc/bugs.rst
@@ -82,6 +82,6 @@
 the `core-mentorship mailing list`_ is a friendly place to get answers to
 any and all questions pertaining to the process of fixing issues in Python.
 
-.. _Documentation bugs: http://bugs.python.org/issue?@filter=status&@filter=components&components=4&status=1&@columns=id,activity,title,status&@sort=-activity
-.. _Python Developer's Guide: http://docs.python.org/devguide/
+.. _Documentation bugs: https://bugs.python.org/issue?@filter=status&@filter=components&components=4&status=1&@columns=id,activity,title,status&@sort=-activity
+.. _Python Developer's Guide: https://docs.python.org/devguide/
 .. _core-mentorship mailing list: https://mail.python.org/mailman/listinfo/core-mentorship/
diff --git a/Doc/conf.py b/Doc/conf.py
index 6e4988e..e6f22a3 100644
--- a/Doc/conf.py
+++ b/Doc/conf.py
@@ -67,7 +67,7 @@
 }
 
 # Output an OpenSearch description file.
-html_use_opensearch = 'http://docs.python.org/' + version
+html_use_opensearch = 'https://docs.python.org/' + version
 
 # Additional static files.
 html_static_path = ['tools/static']
diff --git a/Doc/distributing/index.rst b/Doc/distributing/index.rst
index 04606f1..1774d23 100644
--- a/Doc/distributing/index.rst
+++ b/Doc/distributing/index.rst
@@ -35,7 +35,7 @@
   repository of open source licensed packages made available for use by
   other Python users
 * the `Python Packaging Authority
-  <http://packaging.python.org/en/latest/future.html>`__ are the group of
+  <https://packaging.python.org/en/latest/future.html>`__ are the group of
   developers and documentation authors responsible for the maintenance and
   evolution of the standard packaging tools and the associated metadata and
   file format standards. They maintain a variety of tools, documentation
@@ -124,11 +124,11 @@
 * `Uploading the project to the Python Packaging Index`_
 
 .. _Project structure: \
-   http://packaging.python.org/en/latest/distributing.html#creating-your-own-project
+   https://packaging.python.org/en/latest/distributing.html#creating-your-own-project
 .. _Building and packaging the project: \
    https://packaging.python.org/en/latest/distributing.html#packaging-your-project
 .. _Uploading the project to the Python Packaging Index: \
-   http://packaging.python.org/en/latest/distributing.html#uploading-your-project-to-pypi
+   https://packaging.python.org/en/latest/distributing.html#uploading-your-project-to-pypi
 
 
 How do I...?
@@ -160,11 +160,11 @@
 .. seealso::
 
    `Python Packaging User Guide: Binary Extensions
-   <http://packaging.python.org/en/latest/extensions.html>`__
+   <https://packaging.python.org/en/latest/extensions.html>`__
 
 .. other topics:
 
    Once the Development & Deployment part of PPUG is fleshed out, some of
    those sections should be linked from new questions here (most notably,
    we should have a question about avoiding depending on PyPI that links to
-   http://packaging.python.org/en/latest/deployment.html#pypi-mirrors-and-caches)
+   https://packaging.python.org/en/latest/deployment.html#pypi-mirrors-and-caches)
diff --git a/Doc/distutils/apiref.rst b/Doc/distutils/apiref.rst
index e1357fa..fff0641 100644
--- a/Doc/distutils/apiref.rst
+++ b/Doc/distutils/apiref.rst
@@ -78,7 +78,7 @@
    |                    | be built                       | :class:`distutils.core.Extension`                           |
    +--------------------+--------------------------------+-------------------------------------------------------------+
    | *classifiers*      | A list of categories for the   | a list of strings; valid classifiers are listed on `PyPI    |
-   |                    | package                        | <http://pypi.python.org/pypi?:action=list_classifiers>`_.   |
+   |                    | package                        | <https://pypi.python.org/pypi?:action=list_classifiers>`_.  |
    +--------------------+--------------------------------+-------------------------------------------------------------+
    | *distclass*        | the :class:`Distribution`      | a subclass of                                               |
    |                    | class to use                   | :class:`distutils.core.Distribution`                        |
diff --git a/Doc/distutils/examples.rst b/Doc/distutils/examples.rst
index b1ecd01..b08e023 100644
--- a/Doc/distutils/examples.rst
+++ b/Doc/distutils/examples.rst
@@ -11,7 +11,7 @@
 
 .. seealso::
 
-   `Distutils Cookbook <http://wiki.python.org/moin/Distutils/Cookbook>`_
+   `Distutils Cookbook <https://wiki.python.org/moin/Distutils/Cookbook>`_
       Collection of recipes showing how to achieve more control over distutils.
 
 
diff --git a/Doc/distutils/setupscript.rst b/Doc/distutils/setupscript.rst
index 8d89f3b..7fe73b9 100644
--- a/Doc/distutils/setupscript.rst
+++ b/Doc/distutils/setupscript.rst
@@ -28,7 +28,7 @@
           description='Python Distribution Utilities',
           author='Greg Ward',
           author_email='gward@python.net',
-          url='http://www.python.org/sigs/distutils-sig/',
+          url='https://www.python.org/sigs/distutils-sig/',
           packages=['distutils', 'distutils.command'],
          )
 
@@ -609,7 +609,7 @@
 (4)
     These fields should not be used if your package is to be compatible with Python
     versions prior to 2.2.3 or 2.3.  The list is available from the `PyPI website
-    <http://pypi.python.org/pypi>`_.
+    <https://pypi.python.org/pypi>`_.
 
 (5)
     The ``long_description`` field is used by PyPI when you are
diff --git a/Doc/extending/building.rst b/Doc/extending/building.rst
index 08b0cc2..06d3005 100644
--- a/Doc/extending/building.rst
+++ b/Doc/extending/building.rst
@@ -81,7 +81,7 @@
           description = 'This is a demo package',
           author = 'Martin v. Loewis',
           author_email = 'martin@v.loewis.de',
-          url = 'http://docs.python.org/extending/building',
+          url = 'https://docs.python.org/extending/building',
           long_description = '''
    This is really just a demo package.
    ''',
diff --git a/Doc/faq/design.rst b/Doc/faq/design.rst
index 151bcde..d4dda4b 100644
--- a/Doc/faq/design.rst
+++ b/Doc/faq/design.rst
@@ -386,13 +386,13 @@
 operations like ``x+1``.
 
 Several projects described in the Python newsgroup or at past `Python
-conferences <http://python.org/community/workshops/>`_ have shown that this
+conferences <https://www.python.org/community/workshops/>`_ have shown that this
 approach is feasible, although the speedups reached so far are only modest
 (e.g. 2x).  Jython uses the same strategy for compiling to Java bytecode.  (Jim
 Hugunin has demonstrated that in combination with whole-program analysis,
 speedups of 1000x are feasible for small demo programs.  See the proceedings
 from the `1997 Python conference
-<http://python.org/workshops/1997-10/proceedings/>`_ for more information.)
+<https://www.python.org/workshops/1997-10/proceedings/>`_ for more information.)
 
 
 How does Python manage memory?
diff --git a/Doc/faq/general.rst b/Doc/faq/general.rst
index 331e80c..debe112 100644
--- a/Doc/faq/general.rst
+++ b/Doc/faq/general.rst
@@ -25,7 +25,7 @@
 Windows 2000 and later.
 
 To find out more, start with :ref:`tutorial-index`.  The `Beginner's Guide to
-Python <http://wiki.python.org/moin/BeginnersGuide>`_ links to other
+Python <https://wiki.python.org/moin/BeginnersGuide>`_ links to other
 introductory tutorials and resources for learning Python.
 
 
@@ -36,11 +36,11 @@
 holds the copyright on Python versions 2.1 and newer.  The PSF's mission is to
 advance open source technology related to the Python programming language and to
 publicize the use of Python.  The PSF's home page is at
-http://www.python.org/psf/.
+https://www.python.org/psf/.
 
 Donations to the PSF are tax-exempt in the US.  If you use Python and find it
 helpful, please contribute via `the PSF donation page
-<http://www.python.org/psf/donations/>`_.
+<https://www.python.org/psf/donations/>`_.
 
 
 Are there copyright restrictions on the use of Python?
@@ -53,12 +53,12 @@
 unmodified), or to sell products that incorporate Python in some form.  We would
 still like to know about all commercial use of Python, of course.
 
-See `the PSF license page <http://python.org/psf/license/>`_ to find further
+See `the PSF license page <https://www.python.org/psf/license/>`_ to find further
 explanations and a link to the full text of the license.
 
 The Python logo is trademarked, and in certain cases permission is required to
 use it.  Consult `the Trademark Usage Policy
-<http://www.python.org/psf/trademarks/>`__ for more information.
+<https://www.python.org/psf/trademarks/>`__ for more information.
 
 
 Why was Python created in the first place?
@@ -117,7 +117,7 @@
 Python code), and operating system interfaces (system calls, filesystems, TCP/IP
 sockets).  Look at the table of contents for :ref:`library-index` to get an idea
 of what's available.  A wide variety of third-party extensions are also
-available.  Consult `the Python Package Index <http://pypi.python.org/pypi>`_ to
+available.  Consult `the Python Package Index <https://pypi.python.org/pypi>`_ to
 find packages of interest to you.
 
 
@@ -159,8 +159,8 @@
 --------------------------------------------
 
 The latest Python source distribution is always available from python.org, at
-http://www.python.org/download/.  The latest development sources can be obtained
-via anonymous Mercurial access at http://hg.python.org/cpython.
+https://www.python.org/download/.  The latest development sources can be obtained
+via anonymous Mercurial access at https://hg.python.org/cpython.
 
 The source distribution is a gzipped tar file containing the complete C source,
 Sphinx-formatted documentation, Python library modules, example programs, and
@@ -178,8 +178,8 @@
 .. XXX mention py3k
 
 The standard documentation for the current stable version of Python is available
-at http://docs.python.org/.  PDF, plain text, and downloadable HTML versions are
-also available at http://docs.python.org/download.html.
+at https://docs.python.org/.  PDF, plain text, and downloadable HTML versions are
+also available at https://docs.python.org/download.html.
 
 The documentation is written in reStructuredText and processed by `the Sphinx
 documentation tool <http://sphinx-doc.org/>`__.  The reStructuredText source for
@@ -192,7 +192,7 @@
 There are numerous tutorials and books available.  The standard documentation
 includes :ref:`tutorial-index`.
 
-Consult `the Beginner's Guide <http://wiki.python.org/moin/BeginnersGuide>`_ to
+Consult `the Beginner's Guide <https://wiki.python.org/moin/BeginnersGuide>`_ to
 find information for beginning Python programmers, including lists of tutorials.
 
 
@@ -212,35 +212,35 @@
 <http://mail.python.org/mailman/listinfo/python-announce-list>`_.
 
 More info about other mailing lists and newsgroups
-can be found at http://www.python.org/community/lists/.
+can be found at https://www.python.org/community/lists/.
 
 
 How do I get a beta test version of Python?
 -------------------------------------------
 
-Alpha and beta releases are available from http://www.python.org/download/.  All
+Alpha and beta releases are available from https://www.python.org/download/.  All
 releases are announced on the comp.lang.python and comp.lang.python.announce
-newsgroups and on the Python home page at http://www.python.org/; an RSS feed of
+newsgroups and on the Python home page at https://www.python.org/; an RSS feed of
 news is available.
 
 You can also access the development version of Python through Subversion.  See
-http://docs.python.org/devguide/faq for details.
+https://docs.python.org/devguide/faq for details.
 
 
 How do I submit bug reports and patches for Python?
 ---------------------------------------------------
 
 To report a bug or submit a patch, please use the Roundup installation at
-http://bugs.python.org/.
+https://bugs.python.org/.
 
 You must have a Roundup account to report bugs; this makes it possible for us to
 contact you if we have follow-up questions.  It will also enable Roundup to send
 you updates as we act on your bug. If you had previously used SourceForge to
 report bugs to Python, you can obtain your Roundup password through Roundup's
-`password reset procedure <http://bugs.python.org/user?@template=forgotten>`_.
+`password reset procedure <https://bugs.python.org/user?@template=forgotten>`_.
 
 For more information on how Python is developed, consult `the Python Developer's
-Guide <http://docs.python.org/devguide/>`_.
+Guide <https://docs.python.org/devguide/>`_.
 
 
 Are there any published articles about Python that I can reference?
@@ -260,7 +260,7 @@
 ------------------------------
 
 Yes, there are many, and more are being published.  See the python.org wiki at
-http://wiki.python.org/moin/PythonBooks for a list.
+https://wiki.python.org/moin/PythonBooks for a list.
 
 You can also search online bookstores for "Python" and filter out the Monty
 Python references; or perhaps search for "Python" and "language".
@@ -270,10 +270,10 @@
 ---------------------------------------------
 
 The Python project's infrastructure is located all over the world.
-`www.python.org <http://www.python.org>`_ is currently in Amsterdam, graciously
+`www.python.org <https://www.python.org>`_ is currently in Amsterdam, graciously
 hosted by `XS4ALL <http://www.xs4all.nl>`_.  `Upfront Systems
 <http://www.upfrontsystems.co.za>`_ hosts `bugs.python.org
-<http://bugs.python.org>`_.  Most other Python services like `PyPI
+<https://bugs.python.org>`_.  Most other Python services like `PyPI
 <https://pypi.python.org>`_ and hg.python.org are hosted by `Oregon State
 University Open Source Lab <https://osuosl.org>`_.
 
@@ -312,7 +312,7 @@
 releases.
 
 The latest stable releases can always be found on the `Python download page
-<http://python.org/download/>`_.  There are two recommended production-ready
+<https://python.org/download/>`_.  There are two recommended production-ready
 versions at this point in time, because at the moment there are two branches of
 stable releases: 2.x and 3.x.  Python 3.x may be less useful than 2.x, since
 currently there is more third party software available for Python 2 than for
@@ -336,9 +336,9 @@
 Have any significant projects been done in Python?
 --------------------------------------------------
 
-See http://python.org/about/success for a list of projects that use Python.
+See https://python.org/about/success for a list of projects that use Python.
 Consulting the proceedings for `past Python conferences
-<http://python.org/community/workshops/>`_ will reveal contributions from many
+<https://python.org/community/workshops/>`_ will reveal contributions from many
 different companies and organizations.
 
 High-profile Python projects include `the Mailman mailing list manager
@@ -352,14 +352,14 @@
 What new developments are expected for Python in the future?
 ------------------------------------------------------------
 
-See http://www.python.org/dev/peps/ for the Python Enhancement Proposals
+See https://www.python.org/dev/peps/ for the Python Enhancement Proposals
 (PEPs). PEPs are design documents describing a suggested new feature for Python,
 providing a concise technical specification and a rationale.  Look for a PEP
 titled "Python X.Y Release Schedule", where X.Y is a version that hasn't been
 publicly released yet.
 
 New development is discussed on `the python-dev mailing list
-<http://mail.python.org/mailman/listinfo/python-dev/>`_.
+<https://mail.python.org/mailman/listinfo/python-dev/>`_.
 
 
 Is it reasonable to propose incompatible changes to Python?
@@ -451,4 +451,4 @@
 
 If you want to discuss Python's use in education, you may be interested in
 joining `the edu-sig mailing list
-<http://python.org/community/sigs/current/edu-sig>`_.
+<https://www.python.org/community/sigs/current/edu-sig>`_.
diff --git a/Doc/faq/gui.rst b/Doc/faq/gui.rst
index 3192163..7428316 100644
--- a/Doc/faq/gui.rst
+++ b/Doc/faq/gui.rst
@@ -29,7 +29,7 @@
 Standard builds of Python include an object-oriented interface to the Tcl/Tk
 widget set, called :ref:`tkinter <Tkinter>`.  This is probably the easiest to
 install (since it comes included with most
-`binary distributions <http://www.python.org/download/>`_ of Python) and use.
+`binary distributions <https://www.python.org/download/>`_ of Python) and use.
 For more info about Tk, including pointers to the source, see the
 `Tcl/Tk home page <http://www.tcl.tk>`_.  Tcl/Tk is fully portable to the
 Mac OS X, Windows, and Unix platforms.
diff --git a/Doc/faq/installed.rst b/Doc/faq/installed.rst
index efec9bf..4229653 100644
--- a/Doc/faq/installed.rst
+++ b/Doc/faq/installed.rst
@@ -11,7 +11,7 @@
 software developers at places such as Google, NASA, and Lucasfilm Ltd.
 
 If you wish to learn more about Python, start with the `Beginner's Guide to
-Python <http://wiki.python.org/moin/BeginnersGuide>`_.
+Python <https://wiki.python.org/moin/BeginnersGuide>`_.
 
 
 Why is Python installed on my machine?
diff --git a/Doc/faq/library.rst b/Doc/faq/library.rst
index 5f4ff17..95c063b 100644
--- a/Doc/faq/library.rst
+++ b/Doc/faq/library.rst
@@ -19,7 +19,7 @@
 library and will be able to skip this step.)
 
 For third-party packages, search the `Python Package Index
-<http://pypi.python.org/pypi>`_ or try `Google <http://www.google.com>`_ or
+<https://pypi.python.org/pypi>`_ or try `Google <https://www.google.com>`_ or
 another Web search engine.  Searching for "Python" plus a keyword or two for
 your topic of interest will usually find something helpful.
 
@@ -607,7 +607,7 @@
    "expect" library.  A Python extension that interfaces to expect is called
    "expy" and available from http://expectpy.sourceforge.net.  A pure Python
    solution that works like expect is `pexpect
-   <http://pypi.python.org/pypi/pexpect/>`_.
+   <https://pypi.python.org/pypi/pexpect/>`_.
 
 
 How do I access the serial (RS232) port?
@@ -663,7 +663,7 @@
 .. XXX check if wiki page is still up to date
 
 A summary of available frameworks is maintained by Paul Boddie at
-http://wiki.python.org/moin/WebProgramming\ .
+https://wiki.python.org/moin/WebProgramming\ .
 
 Cameron Laird maintains a useful set of pages about Python web technologies at
 http://phaseit.net/claird/comp.lang.python/web_python.
@@ -706,7 +706,7 @@
 .. XXX add modern template languages
 
 You can find a collection of useful links on the `Web Programming wiki page
-<http://wiki.python.org/moin/WebProgramming>`_.
+<https://wiki.python.org/moin/WebProgramming>`_.
 
 
 How do I send mail from a Python script?
@@ -792,7 +792,7 @@
 
 Support for most relational databases is available.  See the
 `DatabaseProgramming wiki page
-<http://wiki.python.org/moin/DatabaseProgramming>`_ for details.
+<https://wiki.python.org/moin/DatabaseProgramming>`_ for details.
 
 
 How do you implement persistent objects in Python?
diff --git a/Doc/faq/programming.rst b/Doc/faq/programming.rst
index c30c2b6..b52af60 100644
--- a/Doc/faq/programming.rst
+++ b/Doc/faq/programming.rst
@@ -1020,7 +1020,7 @@
   as builtins and some extension types.  For example, be sure to use
   either the :meth:`list.sort` built-in method or the related :func:`sorted`
   function to do sorting (and see the
-  `sorting mini-HOWTO <http://wiki.python.org/moin/HowTo/Sorting>`_ for examples
+  `sorting mini-HOWTO <https://wiki.python.org/moin/HowTo/Sorting>`_ for examples
   of moderately advanced usage).
 
 * Abstractions tend to create indirections and force the interpreter to work
@@ -1040,7 +1040,7 @@
 
 .. seealso::
    The wiki page devoted to `performance tips
-   <http://wiki.python.org/moin/PythonSpeed/PerformanceTips>`_.
+   <https://wiki.python.org/moin/PythonSpeed/PerformanceTips>`_.
 
 .. _efficient_string_concatenation:
 
diff --git a/Doc/glossary.rst b/Doc/glossary.rst
index e06ab7e..8be2e62 100644
--- a/Doc/glossary.rst
+++ b/Doc/glossary.rst
@@ -76,7 +76,7 @@
 
    BDFL
       Benevolent Dictator For Life, a.k.a. `Guido van Rossum
-      <http://www.python.org/~guido/>`_, Python's creator.
+      <https://www.python.org/~guido/>`_, Python's creator.
 
    binary file
       A :term:`file object` able to read and write
@@ -141,7 +141,7 @@
 
    CPython
       The canonical implementation of the Python programming language, as
-      distributed on `python.org <http://python.org>`_.  The term "CPython"
+      distributed on `python.org <https://www.python.org>`_.  The term "CPython"
       is used when necessary to distinguish this implementation from others
       such as Jython or IronPython.
 
@@ -530,7 +530,7 @@
    method resolution order
       Method Resolution Order is the order in which base classes are searched
       for a member during lookup. See `The Python 2.3 Method Resolution Order
-      <http://www.python.org/download/releases/2.3/mro/>`_.
+      <https://www.python.org/download/releases/2.3/mro/>`_.
 
    module
       An object that serves as an organizational unit of Python code.  Modules
diff --git a/Doc/howto/curses.rst b/Doc/howto/curses.rst
index ea62b1c..8547606 100644
--- a/Doc/howto/curses.rst
+++ b/Doc/howto/curses.rst
@@ -538,7 +538,7 @@
 implement, but because no one has needed them yet.  Also, Python
 doesn't yet support the menu library associated with ncurses.
 Patches adding support for these would be welcome; see
-`the Python Developer's Guide <http://docs.python.org/devguide/>`_ to
+`the Python Developer's Guide <https://docs.python.org/devguide/>`_ to
 learn more about submitting patches to Python.
 
 * `Writing Programs with NCURSES <http://invisible-island.net/ncurses/ncurses-intro.html>`_:
diff --git a/Doc/howto/descriptor.rst b/Doc/howto/descriptor.rst
index 4a77052..dc5350e 100644
--- a/Doc/howto/descriptor.rst
+++ b/Doc/howto/descriptor.rst
@@ -127,7 +127,7 @@
 :source:`Objects/typeobject.c`.  and a pure Python equivalent can be found in
 `Guido's Tutorial`_.
 
-.. _`Guido's Tutorial`: http://www.python.org/2.2.3/descrintro.html#cooperation
+.. _`Guido's Tutorial`: https://www.python.org/2.2.3/descrintro.html#cooperation
 
 The details above show that the mechanism for descriptors is embedded in the
 :meth:`__getattribute__()` methods for :class:`object`, :class:`type`, and
diff --git a/Doc/howto/logging-cookbook.rst b/Doc/howto/logging-cookbook.rst
index 82c8f51..e77e730 100644
--- a/Doc/howto/logging-cookbook.rst
+++ b/Doc/howto/logging-cookbook.rst
@@ -649,7 +649,7 @@
 not make use of :mod:`multiprocessing` at present, though they may do so in the
 future. Note that at present, the :mod:`multiprocessing` module does not provide
 working lock functionality on all platforms (see
-http://bugs.python.org/issue3770).
+https://bugs.python.org/issue3770).
 
 .. currentmodule:: logging.handlers
 
diff --git a/Doc/howto/pyporting.rst b/Doc/howto/pyporting.rst
index 9d7e859..b997df7 100644
--- a/Doc/howto/pyporting.rst
+++ b/Doc/howto/pyporting.rst
@@ -588,7 +588,7 @@
 thus helping provide information for this document and its various revisions
 over the years):
 
-* http://wiki.python.org/moin/PortingPythonToPy3k
+* https://wiki.python.org/moin/PortingPythonToPy3k
 * http://python3porting.com/
 * http://docs.pythonsprints.com/python3_porting/py-porting.html
 * http://techspot.zzzeek.org/2011/01/24/zzzeek-s-guide-to-python-3-porting/
@@ -602,23 +602,23 @@
 
 
 
-.. _2to3: http://docs.python.org/2/library/2to3.html
+.. _2to3: https://docs.python.org/2/library/2to3.html
 .. _3to2: https://pypi.python.org/pypi/3to2
 .. _Cheeseshop: PyPI_
 .. _coverage: https://pypi.python.org/pypi/coverage
 .. _future: http://python-future.org/
 .. _modernize: https://github.com/mitsuhiko/python-modernize
 .. _Porting to Python 3: http://python3porting.com/
-.. _PyPI: http://pypi.python.org/
-.. _Python 2.2: http://www.python.org/2.2.x
-.. _Python 2.5: http://www.python.org/2.5.x
-.. _Python 2.6: http://www.python.org/2.6.x
-.. _Python 2.7: http://www.python.org/2.7.x
-.. _Python 2.5: http://www.python.org/2.5.x
-.. _Python 3.3: http://www.python.org/3.3.x
+.. _PyPI: https://pypi.python.org/
+.. _Python 2.2: https://www.python.org/2.2.x
+.. _Python 2.5: https://www.python.org/2.5.x
+.. _Python 2.6: https://www.python.org/2.6.x
+.. _Python 2.7: https://www.python.org/2.7.x
+.. _Python 2.5: https://www.python.org/2.5.x
+.. _Python 3.3: https://www.python.org/3.3.x
 .. _Python 3 Packages: https://pypi.python.org/pypi?:action=browse&c=533&show=all
 .. _Python 3 Q & A: http://ncoghlan-devs-python-notes.readthedocs.org/en/latest/python3/questions_and_answers.html
-.. _python-porting: http://mail.python.org/mailman/listinfo/python-porting
+.. _python-porting: https://mail.python.org/mailman/listinfo/python-porting
 .. _six: https://pypi.python.org/pypi/six
 .. _tox: https://pypi.python.org/pypi/tox
 .. _trove classifiers: https://pypi.python.org/pypi?%3Aaction=list_classifiers
diff --git a/Doc/howto/urllib2.rst b/Doc/howto/urllib2.rst
index 584e8a6..1f0eb7d 100644
--- a/Doc/howto/urllib2.rst
+++ b/Doc/howto/urllib2.rst
@@ -26,7 +26,7 @@
 
         A tutorial on *Basic Authentication*, with examples in Python.
 
-**urllib.request** is a `Python <http://www.python.org>`_ module for fetching URLs
+**urllib.request** is a Python module for fetching URLs
 (Uniform Resource Locators). It offers a very simple interface, in the form of
 the *urlopen* function. This is capable of fetching URLs using a variety of
 different protocols. It also offers a slightly more complex interface for
diff --git a/Doc/howto/webservers.rst b/Doc/howto/webservers.rst
index 6fa51da..d638847 100644
--- a/Doc/howto/webservers.rst
+++ b/Doc/howto/webservers.rst
@@ -26,7 +26,7 @@
    While this HOWTO tries to give an overview of Python in the web, it cannot
    always be as up to date as desired.  Web development in Python is rapidly
    moving forward, so the wiki page on `Web Programming
-   <http://wiki.python.org/moin/WebProgramming>`_ may be more in sync with
+   <https://wiki.python.org/moin/WebProgramming>`_ may be more in sync with
    recent development.
 
 
@@ -86,7 +86,7 @@
      applications, instead of presenting a "500 Internal Server Error" message
 
    The Python wiki features a page on `CGI scripts
-   <http://wiki.python.org/moin/CgiScripts>`_ with some additional information
+   <https://wiki.python.org/moin/CgiScripts>`_ with some additional information
    about CGI in Python.
 
 
@@ -309,7 +309,7 @@
     WSGIServer(app).run()
 
 This is a simple WSGI application, but you need to install `flup
-<http://pypi.python.org/pypi/flup/1.0>`_ first, as flup handles the low level
+<https://pypi.python.org/pypi/flup/1.0>`_ first, as flup handles the low level
 FastCGI access.
 
 .. seealso::
@@ -486,7 +486,7 @@
 
    There are far more components than can be presented here.  The Python wiki
    has a page about these components, called
-   `Web Components <http://wiki.python.org/moin/WebComponents>`_.
+   `Web Components <https://wiki.python.org/moin/WebComponents>`_.
 
 
 Templates
@@ -528,7 +528,7 @@
 
    There are many template engines competing for attention, because it is
    pretty easy to create them in Python.  The page `Templating
-   <http://wiki.python.org/moin/Templating>`_ in the wiki lists a big,
+   <https://wiki.python.org/moin/Templating>`_ in the wiki lists a big,
    ever-growing number of these.  The three listed above are considered "second
    generation" template engines and are a good place to start.
 
@@ -578,11 +578,11 @@
 
 .. seealso::
 
-   * `Persistence Tools <http://wiki.python.org/moin/PersistenceTools>`_ lists
+   * `Persistence Tools <https://wiki.python.org/moin/PersistenceTools>`_ lists
      possibilities on how to save data in the file system.  Some of these
      modules are part of the standard library
 
-   * `Database Programming <http://wiki.python.org/moin/DatabaseProgramming>`_
+   * `Database Programming <https://wiki.python.org/moin/DatabaseProgramming>`_
      helps with choosing a method for saving data
 
    * `SQLAlchemy <http://www.sqlalchemy.org/>`_, the most powerful OR-Mapper
@@ -732,9 +732,9 @@
 .. seealso::
 
    The Python wiki contains an extensive list of `web frameworks
-   <http://wiki.python.org/moin/WebFrameworks>`_.
+   <https://wiki.python.org/moin/WebFrameworks>`_.
 
    Most frameworks also have their own mailing lists and IRC channels, look out
    for these on the projects' web sites.  There is also a general "Python in the
    Web" IRC channel on freenode called `#python.web
-   <http://wiki.python.org/moin/PoundPythonWeb>`_.
+   <https://wiki.python.org/moin/PoundPythonWeb>`_.
diff --git a/Doc/includes/email-alternative.py b/Doc/includes/email-alternative.py
old mode 100644
new mode 100755
index 33c430a..85070f3
--- a/Doc/includes/email-alternative.py
+++ b/Doc/includes/email-alternative.py
@@ -17,14 +17,14 @@
 msg['To'] = you
 
 # Create the body of the message (a plain-text and an HTML version).
-text = "Hi!\nHow are you?\nHere is the link you wanted:\nhttp://www.python.org"
+text = "Hi!\nHow are you?\nHere is the link you wanted:\nhttps://www.python.org"
 html = """\
 <html>
   <head></head>
   <body>
     <p>Hi!<br>
        How are you?<br>
-       Here is the <a href="http://www.python.org">link</a> you wanted.
+       Here is the <a href="https://www.python.org">link</a> you wanted.
     </p>
   </body>
 </html>
diff --git a/Doc/installing/index.rst b/Doc/installing/index.rst
index 9ecc64a..5db9bbb 100644
--- a/Doc/installing/index.rst
+++ b/Doc/installing/index.rst
@@ -48,7 +48,7 @@
   repository of open source licensed packages made available for use by
   other Python users
 * the `Python Packaging Authority
-  <http://packaging.python.org/en/latest/future.html>`__ are the group of
+  <https://packaging.python.org/en/latest/future.html>`__ are the group of
   developers and documentation authors responsible for the maintenance and
   evolution of the standard packaging tools and the associated metadata and
   file format standards. They maintain a variety of tools, documentation
@@ -96,7 +96,7 @@
     python -m pip install --upgrade SomePackage
 
 More information and resources regarding ``pip`` and its capabilities can be
-found in the `Python Packaging User Guide <http://packaging.python.org>`__.
+found in the `Python Packaging User Guide <https://packaging.python.org>`__.
 
 ``pyvenv`` has its own documentation at :ref:`scripts-pyvenv`. Installing
 into an active virtual environment uses the commands shown above.
@@ -141,13 +141,13 @@
 aren't currently easy to install using ``pip`` directly. At this point in
 time, it will often be easier for users to install these packages by
 `other means
-<http://packaging.python.org/en/latest/platforms.html#installing-scientific-packages>`__
+<https://packaging.python.org/en/latest/platforms.html#installing-scientific-packages>`__
 rather than attempting to install them with ``pip``.
 
 .. seealso::
 
    `Python Packaging User Guide: Installing Scientific Packages
-   <http://packaging.python.org/en/latest/platforms.html#installing-scientific-packages>`__
+   <https://packaging.python.org/en/latest/platforms.html#installing-scientific-packages>`__
 
 
 ... work with multiple versions of Python installed in parallel?
@@ -177,7 +177,7 @@
    Once the Development & Deployment part of PPUG is fleshed out, some of
    those sections should be linked from new questions here (most notably,
    we should have a question about avoiding depending on PyPI that links to
-   http://packaging.python.org/en/latest/deployment.html#pypi-mirrors-and-caches)
+   https://packaging.python.org/en/latest/deployment.html#pypi-mirrors-and-caches)
 
 
 Common installation issues
@@ -210,11 +210,11 @@
 than needing to build them themselves.
 
 Some of the solutions for installing `scientific software
-<http://packaging.python.org/en/latest/platforms.html#installing-scientific-packages>`__
+<https://packaging.python.org/en/latest/platforms.html#installing-scientific-packages>`__
 that is not yet available as pre-built ``wheel`` files may also help with
 obtaining other binary extensions without needing to build them locally.
 
 .. seealso::
 
    `Python Packaging User Guide: Binary Extensions
-   <http://packaging.python.org/en/latest/extensions.html>`__
+   <https://packaging.python.org/en/latest/extensions.html>`__
diff --git a/Doc/library/datetime.rst b/Doc/library/datetime.rst
index e1b9e10..8a55791 100644
--- a/Doc/library/datetime.rst
+++ b/Doc/library/datetime.rst
@@ -1686,7 +1686,7 @@
 
 .. seealso::
 
-   `pytz <http://pypi.python.org/pypi/pytz/>`_
+   `pytz <https://pypi.python.org/pypi/pytz/>`_
       The standard library has :class:`timezone` class for handling arbitrary
       fixed offsets from UTC and :attr:`timezone.utc` as UTC timezone instance.
 
diff --git a/Doc/library/distutils.rst b/Doc/library/distutils.rst
index a7ad837..e3d1314 100644
--- a/Doc/library/distutils.rst
+++ b/Doc/library/distutils.rst
@@ -30,7 +30,7 @@
 The recommended `pip <https://pip.pypa.io/>`__ installer runs all
 ``setup.py`` scripts with ``setuptools``, even if the script itself only
 imports ``distutils``. Refer to the
-`Python Packaging User Guide <http://packaging.python.org>`_ for more
+`Python Packaging User Guide <https://packaging.python.org>`_ for more
 information.
 
 For the benefits of packaging tool authors and users seeking a deeper
diff --git a/Doc/library/functions.rst b/Doc/library/functions.rst
index 3766d43..06ead8c 100644
--- a/Doc/library/functions.rst
+++ b/Doc/library/functions.rst
@@ -1292,7 +1292,7 @@
    example, sort by department, then by salary grade).
 
    For sorting examples and a brief sorting tutorial, see `Sorting HowTo
-   <http://wiki.python.org/moin/HowTo/Sorting/>`_\.
+   <https://wiki.python.org/moin/HowTo/Sorting/>`_\.
 
 .. function:: staticmethod(function)
 
diff --git a/Doc/library/importlib.rst b/Doc/library/importlib.rst
index 09a5d71..8ebb440 100644
--- a/Doc/library/importlib.rst
+++ b/Doc/library/importlib.rst
@@ -29,7 +29,7 @@
     :ref:`import`
         The language reference for the :keyword:`import` statement.
 
-    `Packages specification <http://www.python.org/doc/essays/packages.html>`__
+    `Packages specification <https://www.python.org/doc/essays/packages.html>`__
         Original specification of packages. Some semantics have changed since
         the writing of this document (e.g. redirecting based on ``None``
         in :data:`sys.modules`).
diff --git a/Doc/library/index.rst b/Doc/library/index.rst
index 277feb1..ac7ab91 100644
--- a/Doc/library/index.rst
+++ b/Doc/library/index.rst
@@ -30,7 +30,7 @@
 In addition to the standard library, there is a growing collection of
 several thousand components (from individual programs and modules to
 packages and entire application development frameworks), available from
-the `Python Package Index <http://pypi.python.org/pypi>`_.
+the `Python Package Index <https://pypi.python.org/pypi>`_.
 
 
 .. toctree::
diff --git a/Doc/library/othergui.rst b/Doc/library/othergui.rst
index eb49b99..2d51491 100644
--- a/Doc/library/othergui.rst
+++ b/Doc/library/othergui.rst
@@ -56,7 +56,7 @@
 PyGTK, PyQt, and wxPython, all have a modern look and feel and more
 widgets than Tkinter. In addition, there are many other GUI toolkits for
 Python, both cross-platform, and platform-specific. See the `GUI Programming
-<http://wiki.python.org/moin/GuiProgramming>`_ page in the Python Wiki for a
+<https://wiki.python.org/moin/GuiProgramming>`_ page in the Python Wiki for a
 much more complete list, and also for links to documents where the
 different GUI toolkits are compared.
 
diff --git a/Doc/library/pydoc.rst b/Doc/library/pydoc.rst
index 3f520e8..eebd501 100644
--- a/Doc/library/pydoc.rst
+++ b/Doc/library/pydoc.rst
@@ -76,7 +76,7 @@
 Python interpreter and typed ``import spam``.
 
 Module docs for core modules are assumed to reside in
-``http://docs.python.org/X.Y/library/`` where ``X`` and ``Y`` are the
+``https://docs.python.org/X.Y/library/`` where ``X`` and ``Y`` are the
 major and minor version numbers of the Python interpreter.  This can
 be overridden by setting the :envvar:`PYTHONDOCS` environment variable
 to a different URL or to a local directory containing the Library
diff --git a/Doc/library/unittest.mock-examples.rst b/Doc/library/unittest.mock-examples.rst
index 1c43bfe..b203598 100644
--- a/Doc/library/unittest.mock-examples.rst
+++ b/Doc/library/unittest.mock-examples.rst
@@ -513,7 +513,7 @@
 ~~~~~~~~~~~~~~~
 
 In some tests I wanted to mock out a call to `datetime.date.today()
-<http://docs.python.org/library/datetime.html#datetime.date.today>`_ to return
+<https://docs.python.org/library/datetime.html#datetime.date.today>`_ to return
 a known date, but I didn't want to prevent the code under test from
 creating new date objects. Unfortunately `datetime.date` is written in C, and
 so I couldn't just monkey-patch out the static `date.today` method.
@@ -557,13 +557,13 @@
 ~~~~~~~~~~~~~~~~~~~~~~~~~~
 
 A Python generator is a function or method that uses the `yield statement
-<http://docs.python.org/reference/simple_stmts.html#the-yield-statement>`_ to
+<https://docs.python.org/reference/simple_stmts.html#the-yield-statement>`_ to
 return a series of values when iterated over [#]_.
 
 A generator method / function is called to return the generator object. It is
 the generator object that is then iterated over. The protocol method for
 iteration is `__iter__
-<http://docs.python.org/library/stdtypes.html#container.__iter__>`_, so we can
+<https://docs.python.org/library/stdtypes.html#container.__iter__>`_, so we can
 mock this using a `MagicMock`.
 
 Here's an example class with an "iter" method implemented as a generator:
@@ -1254,7 +1254,7 @@
 `AssertionError` directly and provide a more useful failure message.
 
 As of version 1.5, the Python testing library `PyHamcrest
-<http://pypi.python.org/pypi/PyHamcrest>`_ provides similar functionality,
+<https://pypi.python.org/pypi/PyHamcrest>`_ provides similar functionality,
 that may be useful here, in the form of its equality matcher
 (`hamcrest.library.integration.match_equality
-<http://packages.python.org/PyHamcrest/integration.html#hamcrest.library.integration.match_equality>`_).
+<http://pythonhosted.org/PyHamcrest/integration.html#hamcrest.library.integration.match_equality>`_).
diff --git a/Doc/library/unittest.mock.rst b/Doc/library/unittest.mock.rst
index cb72a68..cb1bac9 100644
--- a/Doc/library/unittest.mock.rst
+++ b/Doc/library/unittest.mock.rst
@@ -30,7 +30,7 @@
 used by many mocking frameworks.
 
 There is a backport of `unittest.mock` for earlier versions of Python,
-available as `mock on PyPI <http://pypi.python.org/pypi/mock>`_.
+available as `mock on PyPI <https://pypi.python.org/pypi/mock>`_.
 
 **Source code:** :source:`Lib/unittest/mock.py`
 
diff --git a/Doc/library/unittest.rst b/Doc/library/unittest.rst
index 32cf94f..a4bed7a 100644
--- a/Doc/library/unittest.rst
+++ b/Doc/library/unittest.rst
@@ -55,7 +55,7 @@
       Third-party unittest frameworks with a lighter-weight syntax for writing
       tests.  For example, ``assert func(10) == 42``.
 
-   `The Python Testing Tools Taxonomy <http://wiki.python.org/moin/PythonTestingToolsTaxonomy>`_
+   `The Python Testing Tools Taxonomy <https://wiki.python.org/moin/PythonTestingToolsTaxonomy>`_
       An extensive list of Python testing tools including functional testing
       frameworks and mock object libraries.
 
diff --git a/Doc/license.rst b/Doc/license.rst
index 6190fe0..c8d3b77 100644
--- a/Doc/license.rst
+++ b/Doc/license.rst
@@ -23,7 +23,7 @@
 form the BeOpen PythonLabs team.  In October of the same year, the PythonLabs
 team moved to Digital Creations (now Zope Corporation; see
 http://www.zope.com/).  In 2001, the Python Software Foundation (PSF, see
-http://www.python.org/psf/) was formed, a non-profit organization created
+https://www.python.org/psf/) was formed, a non-profit organization created
 specifically to own Python-related Intellectual Property.  Zope Corporation is a
 sponsoring member of the PSF.
 
diff --git a/Doc/reference/datamodel.rst b/Doc/reference/datamodel.rst
index b4cadb1..6089de7 100644
--- a/Doc/reference/datamodel.rst
+++ b/Doc/reference/datamodel.rst
@@ -709,7 +709,7 @@
    where there are multiple inheritance paths leading back to a common ancestor.
    Additional details on the C3 MRO used by Python can be found in the
    documentation accompanying the 2.3 release at
-   http://www.python.org/download/releases/2.3/mro/.
+   https://www.python.org/download/releases/2.3/mro/.
 
    .. XXX: Could we add that MRO doc as an appendix to the language ref?
 
diff --git a/Doc/reference/import.rst b/Doc/reference/import.rst
index 645802d..146f29e 100644
--- a/Doc/reference/import.rst
+++ b/Doc/reference/import.rst
@@ -901,7 +901,7 @@
 
 The import machinery has evolved considerably since Python's early days.  The
 original `specification for packages
-<http://www.python.org/doc/essays/packages.html>`_ is still available to read,
+<https://www.python.org/doc/essays/packages.html>`_ is still available to read,
 although some details have changed since the writing of that document.
 
 The original specification for :data:`sys.meta_path` was :pep:`302`, with
diff --git a/Doc/tools/static/version_switch.js b/Doc/tools/static/version_switch.js
index e5528eb..edb025b 100644
--- a/Doc/tools/static/version_switch.js
+++ b/Doc/tools/static/version_switch.js
@@ -50,7 +50,7 @@
            window.location.href = new_url;
         },
         error: function() {
-           window.location.href = 'http://docs.python.org/' + selected;
+           window.location.href = 'https://docs.python.org/' + selected;
         }
       });
     }
diff --git a/Doc/tutorial/classes.rst b/Doc/tutorial/classes.rst
index 11e07e3..e318c09 100644
--- a/Doc/tutorial/classes.rst
+++ b/Doc/tutorial/classes.rst
@@ -643,7 +643,7 @@
 class can be subclassed without affecting the precedence order of its parents).
 Taken together, these properties make it possible to design reliable and
 extensible classes with multiple inheritance.  For more detail, see
-http://www.python.org/download/releases/2.3/mro/.
+https://www.python.org/download/releases/2.3/mro/.
 
 
 .. _tut-private:
diff --git a/Doc/tutorial/index.rst b/Doc/tutorial/index.rst
index df10385..c14b1d6 100644
--- a/Doc/tutorial/index.rst
+++ b/Doc/tutorial/index.rst
@@ -12,7 +12,7 @@
 
 The Python interpreter and the extensive standard library are freely available
 in source or binary form for all major platforms from the Python Web site,
-http://www.python.org/, and may be freely distributed. The same site also
+https://www.python.org/, and may be freely distributed. The same site also
 contains distributions of and pointers to many free third party Python modules,
 programs and tools, and additional documentation.
 
diff --git a/Doc/tutorial/whatnow.rst b/Doc/tutorial/whatnow.rst
index 979f587..a9ff6f4 100644
--- a/Doc/tutorial/whatnow.rst
+++ b/Doc/tutorial/whatnow.rst
@@ -30,15 +30,15 @@
 
 More Python resources:
 
-* http://www.python.org:  The major Python Web site.  It contains code,
+* https://www.python.org:  The major Python Web site.  It contains code,
   documentation, and pointers to Python-related pages around the Web.  This Web
   site is mirrored in various places around the world, such as Europe, Japan, and
   Australia; a mirror may be faster than the main site, depending on your
   geographical location.
 
-* http://docs.python.org:  Fast access to Python's  documentation.
+* https://docs.python.org:  Fast access to Python's  documentation.
 
-* http://pypi.python.org: The Python Package Index, previously also nicknamed
+* https://pypi.python.org: The Python Package Index, previously also nicknamed
   the Cheese Shop, is an index of user-created Python modules that are available
   for download.  Once you begin releasing code, you can register it here so that
   others can find it.
@@ -61,7 +61,7 @@
 answering) questions, suggesting new features, and announcing new modules.
 Before posting, be sure to check the list of :ref:`Frequently Asked Questions
 <faq-index>` (also called the FAQ).
-Mailing list archives are available at http://mail.python.org/pipermail/.
+Mailing list archives are available at https://mail.python.org/pipermail/.
 The FAQ answers many of the questions that come up again and again,
 and may already contain the solution for your problem.
 
diff --git a/Doc/using/mac.rst b/Doc/using/mac.rst
index 5be439f..9034b63 100644
--- a/Doc/using/mac.rst
+++ b/Doc/using/mac.rst
@@ -19,7 +19,7 @@
 
 Mac OS X 10.8 comes with Python 2.7 pre-installed by Apple.  If you wish, you
 are invited to install the most recent version of Python 3 from the Python
-website (http://www.python.org).  A current "universal binary" build of Python,
+website (https://www.python.org).  A current "universal binary" build of Python,
 which runs natively on the Mac's new Intel and legacy PPC CPU's, is available
 there.
 
@@ -174,9 +174,9 @@
 The MacPython mailing list is an excellent support resource for Python users and
 developers on the Mac:
 
-http://www.python.org/community/sigs/current/pythonmac-sig/
+https://www.python.org/community/sigs/current/pythonmac-sig/
 
 Another useful resource is the MacPython wiki:
 
-http://wiki.python.org/moin/MacPython
+https://wiki.python.org/moin/MacPython
 
diff --git a/Doc/using/unix.rst b/Doc/using/unix.rst
index 053bc63..067f80a 100644
--- a/Doc/using/unix.rst
+++ b/Doc/using/unix.rst
@@ -65,9 +65,9 @@
 ===============
 
 If you want to compile CPython yourself, first thing you should do is get the
-`source <http://python.org/download/source/>`_. You can download either the
+`source <https://www.python.org/download/source/>`_. You can download either the
 latest release's source or just grab a fresh `clone
-<http://docs.python.org/devguide/setup#getting-the-source-code>`_.  (If you want
+<https://docs.python.org/devguide/setup#getting-the-source-code>`_.  (If you want
 to contribute patches, you will need a clone.)
 
 The build process consists in the usual ::
diff --git a/Doc/using/venv-create.inc b/Doc/using/venv-create.inc
index 52cdda0..26acf0b 100644
--- a/Doc/using/venv-create.inc
+++ b/Doc/using/venv-create.inc
@@ -14,7 +14,7 @@
 .. seealso::
 
    `Python Packaging User Guide: Creating and using virtual environments
-   <http://packaging.python.org/en/latest/tutorial.html#creating-and-using-virtual-environments>`__
+   <https://packaging.python.org/en/latest/tutorial.html#creating-and-using-virtual-environments>`__
 
 .. highlight:: none
 
diff --git a/Doc/using/windows.rst b/Doc/using/windows.rst
index 2083ee4..10d4df3 100644
--- a/Doc/using/windows.rst
+++ b/Doc/using/windows.rst
@@ -22,7 +22,7 @@
 Unlike most Unix systems and services, Windows does not require Python natively
 and thus does not pre-install a version of Python.  However, the CPython team
 has compiled Windows installers (MSI packages) with every `release
-<http://www.python.org/download/releases/>`_ for many years.
+<https://www.python.org/download/releases/>`_ for many years.
 
 With ongoing development of Python, some platforms that used to be supported
 earlier are no longer supported (due to the lack of users or developers).
@@ -36,7 +36,7 @@
   release/python>`_, `Maintainer releases
   <http://www.tishler.net/jason/software/python/>`_)
 
-See `Python for Windows <http://www.python.org/download/windows/>`_
+See `Python for Windows <https://www.python.org/download/windows/>`_
 for detailed information about platforms with pre-compiled installers.
 
 .. seealso::
@@ -515,7 +515,7 @@
   user interfaces
 
 `PythonWin <http://web.archive.org/web/20060524042422/
-http://www.python.org/windows/pythonwin/>`_ is a sample MFC application
+https://www.python.org/windows/pythonwin/>`_ is a sample MFC application
 shipped with PyWin32.  It is an embeddable IDE with a built-in debugger.
 
 .. seealso::
@@ -553,9 +553,9 @@
 ===========================
 
 If you want to compile CPython yourself, first thing you should do is get the
-`source <http://python.org/download/source/>`_. You can download either the
+`source <https://www.python.org/download/source/>`_. You can download either the
 latest release's source or just grab a fresh `checkout
-<http://docs.python.org/devguide/setup#checking-out-the-code>`_.
+<https://docs.python.org/devguide/setup#checking-out-the-code>`_.
 
 The source tree contains a build solution and project files for Microsoft
 Visual C++, which is the compiler used to build the official Python releases.
diff --git a/Doc/whatsnew/2.0.rst b/Doc/whatsnew/2.0.rst
index 64b908b..6b7e5cf 100644
--- a/Doc/whatsnew/2.0.rst
+++ b/Doc/whatsnew/2.0.rst
@@ -130,7 +130,7 @@
 Read the rest of PEP 1 for the details of the PEP editorial process, style, and
 format.  PEPs are kept in the Python CVS tree on SourceForge, though they're not
 part of the Python 2.0 distribution, and are also available in HTML form from
-http://www.python.org/peps/.  As of September 2000, there are 25 PEPS, ranging
+https://www.python.org/peps/.  As of September 2000, there are 25 PEPS, ranging
 from PEP 201, "Lockstep Iteration", to PEP 225, "Elementwise/Objectwise
 Operators".
 
@@ -566,7 +566,7 @@
 simply be silently swallowed.
 
 .. Starting URL:
-.. http://www.python.org/pipermail/python-dev/2000-April/004834.html
+.. https://www.python.org/pipermail/python-dev/2000-April/004834.html
 
 Work has been done on porting Python to 64-bit Windows on the Itanium processor,
 mostly by Trent Mick of ActiveState.  (Confusingly, ``sys.platform`` is still
@@ -1003,7 +1003,7 @@
 
 The XML Special Interest Group has been working on XML-related Python code for a
 while.  Its code distribution, called PyXML, is available from the SIG's Web
-pages at http://www.python.org/sigs/xml-sig/. The PyXML distribution also used
+pages at https://www.python.org/sigs/xml-sig/. The PyXML distribution also used
 the package name ``xml``.  If you've written programs that used PyXML, you're
 probably wondering about its compatibility with the 2.0 :mod:`xml` package.
 
diff --git a/Doc/whatsnew/2.1.rst b/Doc/whatsnew/2.1.rst
index 3864545..5058bf1 100644
--- a/Doc/whatsnew/2.1.rst
+++ b/Doc/whatsnew/2.1.rst
@@ -562,7 +562,7 @@
 using Python 2.1, since a new release of the Distutils will be made for users of
 earlier Python versions.  Version 1.0.2 of the Distutils includes the changes
 described in PEP 241, as well as various bugfixes and enhancements.  It will be
-available from  the Distutils SIG at http://www.python.org/sigs/distutils-sig/.
+available from  the Distutils SIG at https://www.python.org/sigs/distutils-sig/.
 
 
 .. seealso::
@@ -731,7 +731,7 @@
          ...
 
   For a fuller discussion of the line I/O changes, see the python-dev summary for
-  January 1-15, 2001 at http://www.python.org/dev/summary/2001-01-1/.
+  January 1-15, 2001 at https://www.python.org/dev/summary/2001-01-1/.
 
 * A new method, :meth:`popitem`, was added to dictionaries to enable
   destructively iterating through the contents of a dictionary; this can be faster
diff --git a/Doc/whatsnew/2.2.rst b/Doc/whatsnew/2.2.rst
index 31b6df4..f3c4a91 100644
--- a/Doc/whatsnew/2.2.rst
+++ b/Doc/whatsnew/2.2.rst
@@ -24,8 +24,8 @@
 This article doesn't attempt to provide a complete specification of the new
 features, but instead provides a convenient overview.  For full details, you
 should refer to the documentation for Python 2.2, such as the `Python Library
-Reference <http://www.python.org/doc/2.2/lib/lib.html>`_ and the `Python
-Reference Manual <http://www.python.org/doc/2.2/ref/ref.html>`_.  If you want to
+Reference <https://www.python.org/doc/2.2/lib/lib.html>`_ and the `Python
+Reference Manual <https://www.python.org/doc/2.2/ref/ref.html>`_.  If you want to
 understand the complete implementation and design rationale for a change, refer
 to the PEP for a particular new feature.
 
@@ -395,7 +395,7 @@
 of an explanation to start you programming, but many details have been
 simplified or ignored.  Where should you go to get a more complete picture?
 
-http://www.python.org/2.2/descrintro.html is a lengthy tutorial introduction to
+https://www.python.org/2.2/descrintro.html is a lengthy tutorial introduction to
 the descriptor features, written by Guido van Rossum. If my description has
 whetted your appetite, go read this tutorial next, because it goes into much
 more detail about the new features while still remaining quite easy to read.
diff --git a/Doc/whatsnew/2.3.rst b/Doc/whatsnew/2.3.rst
index f0e48d9..691447c 100644
--- a/Doc/whatsnew/2.3.rst
+++ b/Doc/whatsnew/2.3.rst
@@ -657,7 +657,7 @@
 Running ``python setup.py register`` will collect the metadata describing a
 package, such as its name, version, maintainer, description, &c., and send it to
 a central catalog server.  The resulting catalog is available from
-http://www.python.org/pypi.
+https://pypi.python.org/pypi.
 
 To make the catalog a bit more useful, a new optional *classifiers* keyword
 argument has been added to the Distutils :func:`setup` function.  A list of
@@ -1082,9 +1082,9 @@
   C3 algorithm as described in the paper `"A Monotonic Superclass Linearization
   for Dylan" <http://www.webcom.com/haahr/dylan/linearization-oopsla96.html>`_. To
   understand the motivation for this change,  read Michele Simionato's article
-  `"Python 2.3 Method Resolution Order" <http://www.python.org/2.3/mro.html>`_, or
+  `"Python 2.3 Method Resolution Order" <https://www.python.org/2.3/mro.html>`_, or
   read the thread on python-dev starting with the message at
-  http://mail.python.org/pipermail/python-dev/2002-October/029035.html. Samuele
+  https://mail.python.org/pipermail/python-dev/2002-October/029035.html. Samuele
   Pedroni first pointed out the problem and also implemented the fix by coding the
   C3 algorithm.
 
@@ -1564,7 +1564,7 @@
   to the correct thread, and waiting for the results.  Other interfaces can't be
   handled automatically but :mod:`Tkinter` will now raise an exception on such an
   access so that you can at least find out about the problem.  See
-  http://mail.python.org/pipermail/python-dev/2002-December/031107.html for a more
+  https://mail.python.org/pipermail/python-dev/2002-December/031107.html for a more
   detailed explanation of this change.  (Implemented by Martin von Löwis.)
 
 * Calling Tcl methods through :mod:`_tkinter` no longer  returns only strings.
@@ -1858,7 +1858,7 @@
 
 .. seealso::
 
-   http://svn.python.org/view/python/trunk/Objects/obmalloc.c
+   https://svn.python.org/view/python/trunk/Objects/obmalloc.c
       For the full details of the pymalloc implementation, see the comments at
       the top of the file :file:`Objects/obmalloc.c` in the Python source code.
       The above link points to the file within the python.org SVN browser.
diff --git a/Doc/whatsnew/2.4.rst b/Doc/whatsnew/2.4.rst
index 5973f3b..569e5e9 100644
--- a/Doc/whatsnew/2.4.rst
+++ b/Doc/whatsnew/2.4.rst
@@ -337,7 +337,7 @@
       wrote patches implementing function decorators, but the one that was actually
       checked in was patch #979728, written by Mark Russell.
 
-   http://www.python.org/moin/PythonDecoratorLibrary
+   https://www.python.org/moin/PythonDecoratorLibrary
       This Wiki page contains several examples of decorators.
 
 .. ======================================================================
diff --git a/Doc/whatsnew/2.5.rst b/Doc/whatsnew/2.5.rst
index 683630a..f8f7ca0 100644
--- a/Doc/whatsnew/2.5.rst
+++ b/Doc/whatsnew/2.5.rst
@@ -39,7 +39,7 @@
 This article doesn't try to be a complete specification of the new features;
 instead changes are briefly introduced using helpful examples.  For full
 details, you should always refer to the documentation for Python 2.5 at
-http://docs.python.org. If you want to understand the complete implementation
+https://docs.python.org. If you want to understand the complete implementation
 and design rationale, refer to the PEP for a particular new feature.
 
 Comments, suggestions, and error reports for this document are welcome; please
@@ -229,7 +229,7 @@
         )
 
 Another new enhancement to the Python package index at
-http://cheeseshop.python.org is storing source and binary archives for a
+https://pypi.python.org is storing source and binary archives for a
 package.  The new :command:`upload` Distutils command will upload a package to
 the repository.
 
@@ -2130,7 +2130,7 @@
   such as PyCon.
 
   .. List of names taken from Jeremy's python-dev post at
-  .. http://mail.python.org/pipermail/python-dev/2005-October/057500.html
+  .. https://mail.python.org/pipermail/python-dev/2005-October/057500.html
 
 * Evan Jones's patch to obmalloc, first described in a talk at PyCon DC 2005,
   was applied.  Python 2.4 allocated small objects in 256K-sized arenas, but never
diff --git a/Doc/whatsnew/2.6.rst b/Doc/whatsnew/2.6.rst
index 3ae6c77..530aaf3 100644
--- a/Doc/whatsnew/2.6.rst
+++ b/Doc/whatsnew/2.6.rst
@@ -164,7 +164,7 @@
 to administer it and a server to host it.
 
 After posting a call for volunteers, a new Roundup installation was
-set up at http://bugs.python.org.  One installation of Roundup can
+set up at https://bugs.python.org.  One installation of Roundup can
 host multiple trackers, and this server now also hosts issue trackers
 for Jython and for the Python web site.  It will surely find
 other uses in the future.  Where possible,
@@ -181,7 +181,7 @@
 
 .. seealso::
 
-  http://bugs.python.org
+  https://bugs.python.org
     The Python bug tracker.
 
   http://bugs.jython.org:
@@ -227,15 +227,15 @@
 
 Sphinx is a standalone package that can be used for writing, and
 almost two dozen other projects
-(`listed on the Sphinx web site <http://sphinx.pocoo.org/examples.html>`__)
+(`listed on the Sphinx web site <http://sphinx-doc.org/examples.html>`__)
 have adopted Sphinx as their documentation tool.
 
 .. seealso::
 
-   `Documenting Python <http://docs.python.org/devguide/documenting.html>`__
+   `Documenting Python <https://docs.python.org/devguide/documenting.html>`__
        Describes how to write for Python's documentation.
 
-   `Sphinx <http://sphinx.pocoo.org/>`__
+   `Sphinx <http://sphinx-doc.org/>`__
      Documentation and code for the Sphinx toolchain.
 
    `Docutils <http://docutils.sf.net>`__
diff --git a/Doc/whatsnew/2.7.rst b/Doc/whatsnew/2.7.rst
index bb26c76..a4659f0 100644
--- a/Doc/whatsnew/2.7.rst
+++ b/Doc/whatsnew/2.7.rst
@@ -68,9 +68,9 @@
 This article doesn't attempt to provide a complete specification of
 the new features, but instead provides a convenient overview.  For
 full details, you should refer to the documentation for Python 2.7 at
-http://docs.python.org. If you want to understand the rationale for
+https://docs.python.org. If you want to understand the rationale for
 the design and implementation, refer to the PEP for a particular new
-feature or the issue on http://bugs.python.org in which a change was
+feature or the issue on https://bugs.python.org in which a change was
 discussed.  Whenever possible, "What's New in Python" links to the
 bug/patch item for each change.
 
@@ -1767,7 +1767,7 @@
 
 The Distutils package and :mod:`sysconfig` are now maintained by Tarek
 Ziadé, who has also started a Distutils2 package (source repository at
-http://hg.python.org/distutils2/) for developing a next-generation
+https://hg.python.org/distutils2/) for developing a next-generation
 version of Distutils.
 
 
@@ -1804,7 +1804,7 @@
 by Michael Foord, unless otherwise noted.  The enhanced version of
 the module is downloadable separately for use with Python versions 2.4 to 2.6,
 packaged as the :mod:`unittest2` package, from
-http://pypi.python.org/pypi/unittest2.
+https://pypi.python.org/pypi/unittest2.
 
 When used from the command line, the module can automatically discover
 tests.  It's not as fancy as `py.test <http://pytest.org>`__ or
diff --git a/Doc/whatsnew/3.2.rst b/Doc/whatsnew/3.2.rst
index c4047c5..3b45459 100644
--- a/Doc/whatsnew/3.2.rst
+++ b/Doc/whatsnew/3.2.rst
@@ -50,7 +50,7 @@
 
 This article explains the new features in Python 3.2 as compared to 3.1.  It
 focuses on a few highlights and gives a few examples.  For full details, see the
-`Misc/NEWS <http://hg.python.org/cpython/file/3.2/Misc/NEWS>`_ file.
+`Misc/NEWS <https://hg.python.org/cpython/file/3.2/Misc/NEWS>`_ file.
 
 .. seealso::
 
@@ -816,7 +816,7 @@
   >>> sorted(iterable, key=cmp_to_key(locale.strcoll))
 
   For sorting examples and a brief sorting tutorial, see the `Sorting HowTo
-  <http://wiki.python.org/moin/HowTo/Sorting/>`_ tutorial.
+  <https://wiki.python.org/moin/HowTo/Sorting/>`_ tutorial.
 
   (Contributed by Raymond Hettinger.)
 
@@ -1020,7 +1020,7 @@
 :issue:`5094`, :issue:`6641`, :issue:`2706`, :issue:`1777412`, :issue:`8013`,
 and :issue:`10827`.)
 
-.. XXX http://bugs.python.org/issue?%40search_text=datetime&%40sort=-activity
+.. XXX https://bugs.python.org/issue?%40search_text=datetime&%40sort=-activity
 
 math
 ----
@@ -2283,7 +2283,7 @@
 
   Additional details about the implementation can be read from a `python-dev
   mailing-list message
-  <http://mail.python.org/pipermail/python-dev/2009-October/093321.html>`_
+  <https://mail.python.org/pipermail/python-dev/2009-October/093321.html>`_
   (however, "priority requests" as exposed in this message have not been kept
   for inclusion).
 
@@ -2469,7 +2469,7 @@
 
 In addition to the existing Subversion code repository at http://svn.python.org
 there is now a `Mercurial <http://mercurial.selenic.com/>`_ repository at
-http://hg.python.org/\ .
+https://hg.python.org/\ .
 
 After the 3.2 release, there are plans to switch to Mercurial as the primary
 repository.  This distributed version control system should make it easier for
@@ -2560,7 +2560,7 @@
 build, there is a known problem with the default Tcl/Tk on Mac OS X 10.6.
 Accordingly, we recommend installing an updated alternative such as
 `ActiveState Tcl/Tk 8.5.9 <http://www.activestate.com/activetcl/downloads>`_\.
-See http://www.python.org/download/mac/tcltk/ for additional details.
+See https://www.python.org/download/mac/tcltk/ for additional details.
 
 Porting to Python 3.2
 =====================
diff --git a/Doc/whatsnew/3.3.rst b/Doc/whatsnew/3.3.rst
index 32b8581..360b072 100644
--- a/Doc/whatsnew/3.3.rst
+++ b/Doc/whatsnew/3.3.rst
@@ -44,7 +44,7 @@
 
 This article explains the new features in Python 3.3, compared to 3.2.
 Python 3.3 was released on September 29, 2012.  For full details,
-see the `changelog <http://docs.python.org/3.3/whatsnew/changelog.html>`_.
+see the `changelog <https://docs.python.org/3.3/whatsnew/changelog.html>`_.
 
 .. seealso::
 
@@ -2103,7 +2103,7 @@
 used by :meth:`~urllib.request.Request.get_method` to determine what HTTP method
 should be used.  For example, this will send a ``'HEAD'`` request::
 
-   >>> urlopen(Request('http://www.python.org', method='HEAD'))
+   >>> urlopen(Request('https://www.python.org', method='HEAD'))
 
 (:issue:`1673007`)
 
diff --git a/Doc/whatsnew/3.4.rst b/Doc/whatsnew/3.4.rst
index e02e4d2..405f43a 100644
--- a/Doc/whatsnew/3.4.rst
+++ b/Doc/whatsnew/3.4.rst
@@ -62,7 +62,7 @@
 
 This article explains the new features in Python 3.4, compared to 3.3.
 Python 3.4 was released on March 16, 2014.  For full details, see the
-`changelog <http://docs.python.org/3.4/whatsnew/changelog.html>`_.
+`changelog <https://docs.python.org/3.4/whatsnew/changelog.html>`_.
 
 
 .. seealso::
@@ -220,7 +220,7 @@
 simple directions on how to install them on that platform (usually using
 the system package manager).
 
-__ http://www.python.org/dev/peps/pep-0453/#recommendations-for-downstream-distributors
+__ https://www.python.org/dev/peps/pep-0453/#recommendations-for-downstream-distributors
 
 .. note::
 
@@ -242,7 +242,7 @@
 completely redesigned as short getting started and FAQ documents. Most
 packaging documentation has now been moved out to the Python Packaging
 Authority maintained `Python Packaging User Guide
-<http://packaging.python.org>`__ and the documentation of the individual
+<https://packaging.python.org>`__ and the documentation of the individual
 projects.
 
 However, as this migration is currently still incomplete, the legacy
@@ -1950,7 +1950,7 @@
   ``.py`` extension.  (Contributed by Paul Moore in :issue:`18569`.)
 
 * A new ``make`` target `coverage-report
-  <http://docs.python.org/devguide/coverage.html#measuring-coverage-of-c-code-with-gcov-and-lcov>`_
+  <https://docs.python.org/devguide/coverage.html#measuring-coverage-of-c-code-with-gcov-and-lcov>`_
   will build python, run the test suite, and generate an HTML coverage report
   for the C codebase using ``gcov`` and `lcov
   <http://ltp.sourceforge.net/coverage/lcov.php>`_.
@@ -2166,7 +2166,7 @@
 removed:
 
 * The unmaintained ``Misc/TextMate`` and ``Misc/vim`` directories have been
-  removed (see the `devguide <http://docs.python.org/devguide>`_
+  removed (see the `devguide <https://docs.python.org/devguide>`_
   for suggestions on what to use instead).
 
 * The ``SO`` makefile macro is removed (it was replaced by the
