diff --git a/Doc/about.rst b/Doc/about.rst
index f0b908487b2d092f9bf4da318de6f82a413bfcca..0ce35667924b92160a34da8bb5bfdcd505543d49 100644
--- a/Doc/about.rst
+++ b/Doc/about.rst
@@ -6,7 +6,7 @@ About these documents
 These documents are generated from `reStructuredText`_ sources by `Sphinx`_, a
 document processor specifically written for the Python documentation.
 
-.. _reStructuredText: http://docutils.sourceforge.net/rst.html
+.. _reStructuredText: https://docutils.sourceforge.io/rst.html
 .. _Sphinx: http://sphinx-doc.org/
 
 .. In the online version of these documents, you can submit comments and suggest
@@ -21,7 +21,7 @@ Many thanks go to:
 
 * Fred L. Drake, Jr., the creator of the original Python documentation toolset
   and writer of much of the content;
-* the `Docutils <http://docutils.sourceforge.net/>`_ project for creating
+* the `Docutils <https://docutils.sourceforge.io/>`_ project for creating
   reStructuredText and the Docutils suite;
 * Fredrik Lundh for his Alternative Python Reference project from which Sphinx
   got many good ideas.
diff --git a/Doc/faq/general.rst b/Doc/faq/general.rst
index bc4130aaa45c89a0a9511bf64b9c82a1664797fc..510ebb5cf9046b998266adf9f6ed05c8d5e4769e 100644
--- a/Doc/faq/general.rst
+++ b/Doc/faq/general.rst
@@ -330,7 +330,7 @@ different companies and organizations.
 
 High-profile Python projects include `the Mailman mailing list manager
 <http://www.list.org>`_ and `the Zope application server
-<http://www.zope.org>`_.  Several Linux distributions, most notably `Red Hat
+<https://www.zope.dev>`_.  Several Linux distributions, most notably `Red Hat
 <https://www.redhat.com>`_, have written part or all of their installer and
 system administration software in Python.  Companies that use Python internally
 include Google, Yahoo, and Lucasfilm Ltd.
diff --git a/Doc/faq/programming.rst b/Doc/faq/programming.rst
index 5b5c357d59459d5889978ef8712212a4525cdafa..6514c00d1114e20f7e569be86b79cb17df3e3a20 100644
--- a/Doc/faq/programming.rst
+++ b/Doc/faq/programming.rst
@@ -95,7 +95,7 @@ The following packages can help with the creation of console and GUI
 executables:
 
 * `Nuitka <https://nuitka.net/>`_ (Cross-platform)
-* `PyInstaller <http://www.pyinstaller.org/>`_ (Cross-platform)
+* `PyInstaller <https://pyinstaller.org/>`_ (Cross-platform)
 * `PyOxidizer <https://pyoxidizer.readthedocs.io/en/stable/>`_ (Cross-platform)
 * `cx_Freeze <https://marcelotduarte.github.io/cx_Freeze/>`_ (Cross-platform)
 * `py2app <https://github.com/ronaldoussoren/py2app>`_ (macOS only)
diff --git a/Doc/howto/curses.rst b/Doc/howto/curses.rst
index 48add160c88489aabfd5374542b20e1a4cf19ce2..83d80471ffc8ee00efa7a0470e53985fe3d6a316 100644
--- a/Doc/howto/curses.rst
+++ b/Doc/howto/curses.rst
@@ -542,6 +542,6 @@ learn more about submitting patches to Python.
 * `The ncurses FAQ <https://invisible-island.net/ncurses/ncurses.faq.html>`_
 * `"Use curses... don't swear" <https://www.youtube.com/watch?v=eN1eZtjLEnU>`_:
   video of a PyCon 2013 talk on controlling terminals using curses or Urwid.
-* `"Console Applications with Urwid" <http://www.pyvideo.org/video/1568/console-applications-with-urwid>`_:
+* `"Console Applications with Urwid" <https://pyvideo.org/video/1568/console-applications-with-urwid>`_:
   video of a PyCon CA 2012 talk demonstrating some applications written using
   Urwid.
diff --git a/Doc/install/index.rst b/Doc/install/index.rst
index 63b64b95fc721ec127fdfe0d1a595043cc3c646e..84df5e7cb3689d067828baecd473059f70e894f3 100644
--- a/Doc/install/index.rst
+++ b/Doc/install/index.rst
@@ -1062,7 +1062,7 @@ normal libraries do.
 
 .. seealso::
 
-   `Building Python modules on MS Windows platform with MinGW <http://old.zope.org/Members/als/tips/win32_mingw_modules>`_
+   `Building Python modules on MS Windows platform with MinGW <https://old.zope.dev/Members/als/tips/win32_mingw_modules>`_
       Information about building the required libraries for the MinGW environment.
 
 
diff --git a/Doc/library/random.rst b/Doc/library/random.rst
index 72881b56a4b18cf41753bff3d9ee0907ddddee5a..cf9f04d969df70c57bf35e3085be40c55aae4e89 100644
--- a/Doc/library/random.rst
+++ b/Doc/library/random.rst
@@ -476,7 +476,7 @@ Example of `statistical bootstrapping
 <https://en.wikipedia.org/wiki/Bootstrapping_(statistics)>`_ using resampling
 with replacement to estimate a confidence interval for the mean of a sample::
 
-   # http://statistics.about.com/od/Applications/a/Example-Of-Bootstrapping.htm
+   # https://www.thoughtco.com/example-of-bootstrapping-3126155
    from statistics import fmean as mean
    from random import choices
 
diff --git a/Doc/library/stdtypes.rst b/Doc/library/stdtypes.rst
index 33fd2831228f886a594512241eea070832807103..2480e71dded321acb9c0c17bba45283a5d1b3dfa 100644
--- a/Doc/library/stdtypes.rst
+++ b/Doc/library/stdtypes.rst
@@ -1453,7 +1453,7 @@ objects that compare equal might have different :attr:`~range.start`,
 
 .. seealso::
 
-   * The `linspace recipe <http://code.activestate.com/recipes/579000/>`_
+   * The `linspace recipe <https://code.activestate.com/recipes/579000/>`_
      shows how to implement a lazy version of range suitable for floating
      point applications.
 
diff --git a/Doc/library/tkinter.rst b/Doc/library/tkinter.rst
index 0447b15e26fe2b3d1784c906034859c14a7b5230..0d2b344d24f2692ade75c4707de46e219467ae23 100644
--- a/Doc/library/tkinter.rst
+++ b/Doc/library/tkinter.rst
@@ -90,7 +90,7 @@ Tcl
    (see `Threading model`_ for details).
 
 Tk
-   Tk is a `Tcl package <http://wiki.tcl.tk/37432>`_ implemented in C
+   Tk is a `Tcl package <https://wiki.tcl-lang.org/37432>`_ implemented in C
    that adds custom commands to create and manipulate GUI widgets. Each
    :class:`Tk` object embeds its own Tcl interpreter instance with Tk loaded into
    it. Tk's widgets are very customizable, though at the cost of a dated appearance.
diff --git a/Doc/whatsnew/2.3.rst b/Doc/whatsnew/2.3.rst
index 745b0aa220502ad925ae1db0d632d96be4c84901..55061d2a46bde0e48b0b50233b12f30a95158ddf 100644
--- a/Doc/whatsnew/2.3.rst
+++ b/Doc/whatsnew/2.3.rst
@@ -1082,7 +1082,7 @@ Here are all of the changes that Python 2.3 makes to the core Python language.
   hierarchy.  Classic classes are unaffected by this change.  Python 2.2
   originally used a topological sort of a class's ancestors, but 2.3 now uses the
   C3 algorithm as described in the paper `"A Monotonic Superclass Linearization
-  for Dylan" <http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.19.3910>`_. To
+  for Dylan" <https://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.19.3910>`_. To
   understand the motivation for this change,  read Michele Simionato's article
   `"Python 2.3 Method Resolution Order" <http://www.phyast.pitt.edu/~micheles/mro.html>`_, or
   read the thread on python-dev starting with the message at
diff --git a/Doc/whatsnew/2.5.rst b/Doc/whatsnew/2.5.rst
index f580c822dfdd4f9d84b39a667921c83098ecec50..ea785121db90d3419d2e02f5e61e5fa3baaa914b 100644
--- a/Doc/whatsnew/2.5.rst
+++ b/Doc/whatsnew/2.5.rst
@@ -882,7 +882,7 @@ in an :c:type:`int`.  The C compilers for most 64-bit platforms still define
 :c:type:`int` as a 32-bit type, so that meant that lists could only hold up to
 ``2**31 - 1`` = 2147483647 items. (There are actually a few different
 programming models that 64-bit C compilers can use -- see
-http://www.unix.org/version2/whatsnew/lp64_wp.html for a discussion -- but the
+https://unix.org/version2/whatsnew/lp64_wp.html for a discussion -- but the
 most commonly available model leaves :c:type:`int` as 32 bits.)
 
 A limit of 2147483647 items doesn't really matter on a 32-bit platform because
diff --git a/Doc/whatsnew/2.6.rst b/Doc/whatsnew/2.6.rst
index eaca3165c07c1b85ebd5434e769b2da99b356a16..3d0d18746a21cc558616e6419cb8f86121af7c56 100644
--- a/Doc/whatsnew/2.6.rst
+++ b/Doc/whatsnew/2.6.rst
@@ -155,7 +155,7 @@ up different products and import some of the bugs and patches from
 SourceForge.  Four different trackers were examined: `Jira
 <https://www.atlassian.com/software/jira/>`__,
 `Launchpad <https://launchpad.net/>`__,
-`Roundup <http://roundup.sourceforge.net/>`__, and
+`Roundup <https://roundup.sourceforge.io/>`__, and
 `Trac <https://trac.edgewall.org/>`__.
 The committee eventually settled on Jira
 and Roundup as the two candidates.  Jira is a commercial product that
@@ -187,7 +187,7 @@ other projects wishing to move from SourceForge to Roundup.
   https://bugs.jython.org:
     The Jython bug tracker.
 
-  http://roundup.sourceforge.net/
+  https://roundup.sourceforge.io/
     Roundup downloads and documentation.
 
   https://svn.python.org/view/tracker/importer/
@@ -238,7 +238,7 @@ have adopted Sphinx as their documentation tool.
    `Sphinx <http://sphinx-doc.org/>`__
      Documentation and code for the Sphinx toolchain.
 
-   `Docutils <http://docutils.sourceforge.net>`__
+   `Docutils <https://docutils.sourceforge.io>`__
      The underlying reStructuredText parser and toolset.
 
 
diff --git a/Lib/test/datetimetester.py b/Lib/test/datetimetester.py
index 8e4bcc7c9efdca26d05297c25dafd479fbc66b14..bb67722267dd41e1d763d351569294b299954632 100644
--- a/Lib/test/datetimetester.py
+++ b/Lib/test/datetimetester.py
@@ -1,6 +1,6 @@
 """Test date/time type.
 
-See http://www.zope.org/Members/fdrake/DateTimeWiki/TestCases
+See https://www.zope.dev/Members/fdrake/DateTimeWiki/TestCases
 """
 import io
 import itertools
diff --git a/Modules/_datetimemodule.c b/Modules/_datetimemodule.c
index e0bb4ee602c42582b1622b172c276763a1dabf4b..274d7df8c4d2da1f1e8f6d4c58b7f7915e1bf2f0 100644
--- a/Modules/_datetimemodule.c
+++ b/Modules/_datetimemodule.c
@@ -1,5 +1,5 @@
 /*  C implementation for the date/time type documented at
- *  http://www.zope.org/Members/fdrake/DateTimeWiki/FrontPage
+ *  https://www.zope.dev/Members/fdrake/DateTimeWiki/FrontPage
  */
 
 /* bpo-35081: Defining this prevents including the C API capsule;