diff --git a/Doc/about.rst b/Doc/about.rst
index 678168b..3ea311f 100644
--- a/Doc/about.rst
+++ b/Doc/about.rst
@@ -6,7 +6,7 @@
 These documents are generated from `reStructuredText`_ sources by `Sphinx`_, a
 document processor specifically written for the Python documentation.
 
-.. _reStructuredText: http://docutils.sf.net/rst.html
+.. _reStructuredText: http://docutils.sourceforge.net/rst.html
 .. _Sphinx: http://sphinx-doc.org/
 
 .. In the online version of these documents, you can submit comments and suggest
@@ -21,7 +21,7 @@
 
 * Fred L. Drake, Jr., the creator of the original Python documentation toolset
   and writer of much of the content;
-* the `Docutils <http://docutils.sf.net/>`_ project for creating
+* the `Docutils <http://docutils.sourceforge.net/>`_ project for creating
   reStructuredText and the Docutils suite;
 * Fredrik Lundh for his `Alternative Python Reference
   <http://effbot.org/zone/pyref.htm>`_ project from which Sphinx got many good
diff --git a/Doc/distutils/setupscript.rst b/Doc/distutils/setupscript.rst
index 67327bd..d2be040 100644
--- a/Doc/distutils/setupscript.rst
+++ b/Doc/distutils/setupscript.rst
@@ -625,7 +625,7 @@
 
 'long string'
     Multiple lines of plain text in reStructuredText format (see
-    http://docutils.sf.net/).
+    http://docutils.sourceforge.net/).
 
 'list of strings'
     See below.
diff --git a/Doc/faq/extending.rst b/Doc/faq/extending.rst
index 2aca607..ccd8b28 100644
--- a/Doc/faq/extending.rst
+++ b/Doc/faq/extending.rst
@@ -53,7 +53,7 @@
 If you need to interface to some C or C++ library for which no Python extension
 currently exists, you can try wrapping the library's data types and functions
 with a tool such as `SWIG <http://www.swig.org>`_.  `SIP
-<http://www.riverbankcomputing.co.uk/software/sip/>`__, `CXX
+<http://www.riverbankcomputing.co.uk/software/sip/intro>`__, `CXX
 <http://cxx.sourceforge.net/>`_ `Boost
 <http://www.boost.org/libs/python/doc/index.html>`_, or `Weave
 <http://docs.scipy.org/doc/scipy-dev/reference/tutorial/weave.html>`_ are also
diff --git a/Doc/faq/general.rst b/Doc/faq/general.rst
index 1359afe..8dc8a19 100644
--- a/Doc/faq/general.rst
+++ b/Doc/faq/general.rst
@@ -53,7 +53,7 @@
 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 <https://www.python.org/psf/license/>`_ to find further
+See `the PSF license page <https://docs.python.org/3/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
@@ -178,8 +178,8 @@
 .. XXX mention py3k
 
 The standard documentation for the current stable version of Python is available
-at https://docs.python.org/.  PDF, plain text, and downloadable HTML versions are
-also available at https://docs.python.org/download.html.
+at https://docs.python.org/3/.  PDF, plain text, and downloadable HTML versions are
+also available at https://docs.python.org/3/download.html.
 
 The documentation is written in reStructuredText and processed by `the Sphinx
 documentation tool <http://sphinx-doc.org/>`__.  The reStructuredText source for
diff --git a/Doc/faq/gui.rst b/Doc/faq/gui.rst
index 5a77016..5e1d8be 100644
--- a/Doc/faq/gui.rst
+++ b/Doc/faq/gui.rst
@@ -48,7 +48,7 @@
 ---
 
 There are bindings available for the Qt toolkit (using either `PyQt
-<http://www.riverbankcomputing.co.uk/software/pyqt/>`_ or `PySide
+<http://www.riverbankcomputing.co.uk/software/pyqt/intro>`_ or `PySide
 <http://www.pyside.org/>`_) and for KDE (`PyKDE <https://techbase.kde.org/Development/Languages/Python>`__).
 PyQt is currently more mature than PySide, but you must buy a PyQt license from
 `Riverbank Computing <http://www.riverbankcomputing.co.uk/software/pyqt/license>`_
diff --git a/Doc/faq/library.rst b/Doc/faq/library.rst
index 36b3e07..979df9e 100644
--- a/Doc/faq/library.rst
+++ b/Doc/faq/library.rst
@@ -181,7 +181,7 @@
 
 The :mod:`pydoc` module can create HTML from the doc strings in your Python
 source code.  An alternative for creating API documentation purely from
-docstrings is `epydoc <http://epydoc.sf.net/>`_.  `Sphinx
+docstrings is `epydoc <http://epydoc.sourceforge.net/>`_.  `Sphinx
 <http://sphinx-doc.org>`_ can also include docstring content.
 
 
diff --git a/Doc/faq/programming.rst b/Doc/faq/programming.rst
index 54b2369..588066d 100644
--- a/Doc/faq/programming.rst
+++ b/Doc/faq/programming.rst
@@ -61,7 +61,7 @@
 
 PyChecker is a static analysis tool that finds bugs in Python source code and
 warns about code complexity and style.  You can get PyChecker from
-http://pychecker.sf.net.
+http://pychecker.sourceforge.net/.
 
 `Pylint <http://www.logilab.org/projects/pylint>`_ is another tool that checks
 if a module satisfies a coding standard, and also makes it possible to write
diff --git a/Doc/howto/cporting.rst b/Doc/howto/cporting.rst
index 6ebcc41..d7a7086 100644
--- a/Doc/howto/cporting.rst
+++ b/Doc/howto/cporting.rst
@@ -252,6 +252,6 @@
 =============
 
 If you are writing a new extension module, you might consider `Cython
-<http://www.cython.org>`_.  It translates a Python-like language to C.  The
+<http://cython.org/>`_.  It translates a Python-like language to C.  The
 extension modules it creates are compatible with Python 3 and Python 2.
 
diff --git a/Doc/howto/pyporting.rst b/Doc/howto/pyporting.rst
index 109a37b..e1a4609 100644
--- a/Doc/howto/pyporting.rst
+++ b/Doc/howto/pyporting.rst
@@ -609,11 +609,10 @@
 .. _future: http://python-future.org/
 .. _modernize: https://github.com/mitsuhiko/python-modernize
 .. _Porting to Python 3: http://python3porting.com/
-.. _PyPI: https://pypi.python.org/
+.. _PyPI: https://pypi.python.org/pypi
 .. _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: 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/webservers.rst b/Doc/howto/webservers.rst
index 94a3762..6534753 100644
--- a/Doc/howto/webservers.rst
+++ b/Doc/howto/webservers.rst
@@ -519,7 +519,7 @@
 
    * `Mako <http://www.makotemplates.org/>`_
    * `Genshi <http://genshi.edgewall.org/>`_
-   * `Jinja <http://jinja.pocoo.org/2/>`_
+   * `Jinja <http://jinja.pocoo.org/>`_
 
 .. seealso::
 
diff --git a/Doc/library/crypto.rst b/Doc/library/crypto.rst
index 21cc251..670cbf1 100644
--- a/Doc/library/crypto.rst
+++ b/Doc/library/crypto.rst
@@ -26,6 +26,5 @@
 Hardcore cypherpunks will probably find the cryptographic modules written by
 A.M. Kuchling of further interest; the package contains modules for various
 encryption algorithms, most notably AES.  These modules are not distributed with
-Python but available separately.  See the URL
-http://www.pycrypto.org  for more information.
-
+Python but available separately.  See the URL http://www.pycrypto.org/ for more
+information.
diff --git a/Doc/library/datetime.rst b/Doc/library/datetime.rst
index 15a4fe4..4276e91 100644
--- a/Doc/library/datetime.rst
+++ b/Doc/library/datetime.rst
@@ -514,7 +514,7 @@
    Return a 3-tuple, (ISO year, ISO week number, ISO weekday).
 
    The ISO calendar is a widely used variant of the Gregorian calendar. See
-   http://www.phys.uu.nl/~vgent/calendar/isocalendar.htm for a good
+   http://www.staff.science.uu.nl/~gent0113/calendar/isocalendar.htm for a good
    explanation.
 
    The ISO year consists of 52 or 53 full weeks, and where a week starts on a
diff --git a/Doc/library/email.rst b/Doc/library/email.rst
index 4e90ce4..879c38f 100644
--- a/Doc/library/email.rst
+++ b/Doc/library/email.rst
@@ -222,7 +222,7 @@
 -------------------------------
 
 The :mod:`email` package was originally prototyped as a separate library called
-`mimelib <http://mimelib.sf.net/>`_. Changes have been made so that method names
+`mimelib <http://mimelib.sourceforge.net/>`_. Changes have been made so that method names
 are more consistent, and some methods or modules have either been added or
 removed.  The semantics of some of the methods have also changed.  For the most
 part, any functionality available in :mod:`mimelib` is still available in the
diff --git a/Doc/library/mimetypes.rst b/Doc/library/mimetypes.rst
index 8891e7a..740c2f6 100644
--- a/Doc/library/mimetypes.rst
+++ b/Doc/library/mimetypes.rst
@@ -44,7 +44,7 @@
 
    The optional *strict* argument is a flag specifying whether the list of known MIME types
    is limited to only the official types `registered with IANA
-   <http://www.iana.org/assignments/media-types/>`_.
+   <http://www.iana.org/assignments/media-types/media-types.xhtml>`_.
    When *strict* is ``True`` (the default), only the IANA types are supported; when
    *strict* is ``False``, some additional non-standard but commonly used MIME types
    are also recognized.
diff --git a/Doc/library/othergui.rst b/Doc/library/othergui.rst
index ba26e74..d75ca18 100644
--- a/Doc/library/othergui.rst
+++ b/Doc/library/othergui.rst
@@ -16,7 +16,7 @@
       `GNOME <http://www.gnome.org>`_.  An online `tutorial
       <http://www.pygtk.org/pygtk2tutorial/index.html>`_ is available.
 
-   `PyQt <http://www.riverbankcomputing.co.uk/software/pyqt/>`_
+   `PyQt <http://www.riverbankcomputing.co.uk/software/pyqt/intro>`_
       PyQt is a :program:`sip`\ -wrapped binding to the Qt toolkit.  Qt is an
       extensive C++ GUI application development framework that is
       available for Unix, Windows and Mac OS X. :program:`sip` is a tool
diff --git a/Doc/library/pyexpat.rst b/Doc/library/pyexpat.rst
index 20ca3bc..5876d1d 100644
--- a/Doc/library/pyexpat.rst
+++ b/Doc/library/pyexpat.rst
@@ -912,5 +912,5 @@
 .. [#] The encoding string included in XML output should conform to the
    appropriate standards. For example, "UTF-8" is valid, but "UTF8" is
    not. See http://www.w3.org/TR/2006/REC-xml11-20060816/#NT-EncodingDecl
-   and http://www.iana.org/assignments/character-sets\ .
+   and http://www.iana.org/assignments/character-sets/character-sets.xhtml.
 
diff --git a/Doc/library/ssl.rst b/Doc/library/ssl.rst
index 730e1fd..c52b073 100644
--- a/Doc/library/ssl.rst
+++ b/Doc/library/ssl.rst
@@ -1674,10 +1674,10 @@
    `RFC 4366: Transport Layer Security (TLS) Extensions <http://www.ietf.org/rfc/rfc4366>`_
        Blake-Wilson et. al.
 
-   `RFC 5246: The Transport Layer Security (TLS) Protocol Version 1.2 <http://www.ietf.org/rfc/rfc5246>`_
+   `RFC 5246: The Transport Layer Security (TLS) Protocol Version 1.2 <http://tools.ietf.org/html/rfc5246>`_
        T. Dierks et. al.
 
-   `RFC 6066: Transport Layer Security (TLS) Extensions <http://www.ietf.org/rfc/rfc6066>`_
+   `RFC 6066: Transport Layer Security (TLS) Extensions <http://tools.ietf.org/html/rfc6066>`_
        D. Eastlake
 
    `IANA TLS: Transport Layer Security (TLS) Parameters <http://www.iana.org/assignments/tls-parameters/tls-parameters.xml>`_
diff --git a/Doc/library/tkinter.rst b/Doc/library/tkinter.rst
index ddaeec7..29f6959 100644
--- a/Doc/library/tkinter.rst
+++ b/Doc/library/tkinter.rst
@@ -26,7 +26,7 @@
    `TKDocs <http://www.tkdocs.com/>`_
       Extensive tutorial plus friendlier widget pages for some of the widgets.
 
-   `Tkinter reference: a GUI for Python <http://infohost.nmt.edu/tcc/help/pubs/tkinter/>`_
+   `Tkinter reference: a GUI for Python <http://infohost.nmt.edu/tcc/help/pubs/tkinter/web/index.html>`_
       On-line reference material.
 
    `Tkinter docs from effbot <http://effbot.org/tkinterbook/>`_
diff --git a/Doc/library/xml.dom.minidom.rst b/Doc/library/xml.dom.minidom.rst
index 1ff7024..5cde5e2 100644
--- a/Doc/library/xml.dom.minidom.rst
+++ b/Doc/library/xml.dom.minidom.rst
@@ -276,4 +276,4 @@
 .. [#] The encoding string included in XML output should conform to the
    appropriate standards. For example, "UTF-8" is valid, but "UTF8" is
    not. See http://www.w3.org/TR/2006/REC-xml11-20060816/#NT-EncodingDecl
-   and http://www.iana.org/assignments/character-sets\ .
+   and http://www.iana.org/assignments/character-sets/character-sets.xhtml.
diff --git a/Doc/library/xml.etree.elementtree.rst b/Doc/library/xml.etree.elementtree.rst
index f14742e..3afabb4 100644
--- a/Doc/library/xml.etree.elementtree.rst
+++ b/Doc/library/xml.etree.elementtree.rst
@@ -954,4 +954,4 @@
 .. [#] The encoding string included in XML output should conform to the
    appropriate standards.  For example, "UTF-8" is valid, but "UTF8" is
    not.  See http://www.w3.org/TR/2006/REC-xml11-20060816/#NT-EncodingDecl
-   and http://www.iana.org/assignments/character-sets.
+   and http://www.iana.org/assignments/character-sets/character-sets.xhtml.
diff --git a/Doc/using/windows.rst b/Doc/using/windows.rst
index 03750f5..d100303 100644
--- a/Doc/using/windows.rst
+++ b/Doc/using/windows.rst
@@ -293,7 +293,7 @@
 If you want to compile CPython yourself, first thing you should do is get the
 `source <https://www.python.org/download/source/>`_. You can download either the
 latest release's source or just grab a fresh `checkout
-<https://docs.python.org/devguide/setup.html#checking-out-the-code>`_.
+<https://docs.python.org/devguide/setup.html#getting-the-source-code>`_.
 
 For Microsoft Visual C++, which is the compiler with which official Python
 releases are built, the source tree contains solutions/project files.  View the
@@ -336,7 +336,7 @@
 
 .. seealso::
 
-   `Python Programming On Win32 <http://www.oreilly.com/catalog/pythonwin32/>`_
+   `Python Programming On Win32 <http://shop.oreilly.com/product/9781565926219.do>`_
       "Help for Windows Programmers"
       by Mark Hammond and Andy Robinson, O'Reilly Media, 2000,
       ISBN 1-56592-621-8
diff --git a/Doc/whatsnew/2.0.rst b/Doc/whatsnew/2.0.rst
index f7998e6..b6c4fb9 100644
--- a/Doc/whatsnew/2.0.rst
+++ b/Doc/whatsnew/2.0.rst
@@ -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 https://www.python.org/sigs/xml-sig/. The PyXML distribution also used
+pages at https://www.python.org/community/sigs/current/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.3.rst b/Doc/whatsnew/2.3.rst
index d017c64..d9f1b7e 100644
--- a/Doc/whatsnew/2.3.rst
+++ b/Doc/whatsnew/2.3.rst
@@ -1330,7 +1330,7 @@
   (Contributed by Kevin O'Connor.)
 
 * The IDLE integrated development environment has been updated using the code
-  from the IDLEfork project (http://idlefork.sf.net).  The most notable feature is
+  from the IDLEfork project (http://idlefork.sourceforge.net).  The most notable feature is
   that the code being developed is now executed in a subprocess, meaning that
   there's no longer any need for manual ``reload()`` operations. IDLE's core code
   has been incorporated into the standard library as the :mod:`idlelib` package.
diff --git a/Doc/whatsnew/2.6.rst b/Doc/whatsnew/2.6.rst
index 54ded7a..edba4e1 100644
--- a/Doc/whatsnew/2.6.rst
+++ b/Doc/whatsnew/2.6.rst
@@ -236,7 +236,7 @@
    `Sphinx <http://sphinx-doc.org/>`__
      Documentation and code for the Sphinx toolchain.
 
-   `Docutils <http://docutils.sf.net>`__
+   `Docutils <http://docutils.sourceforge.net>`__
      The underlying reStructuredText parser and toolset.
 
 
@@ -2359,7 +2359,7 @@
   negotiation itself.  (Patch contributed by Bill Fenner;
   :issue:`829951`.)
 
-* The :mod:`socket` module now supports TIPC (http://tipc.sf.net),
+* The :mod:`socket` module now supports TIPC (http://tipc.sourceforge.net/),
   a high-performance non-IP-based protocol designed for use in clustered
   environments.  TIPC addresses are 4- or 5-tuples.
   (Contributed by Alberto Bertogli; :issue:`1646`.)
diff --git a/Doc/whatsnew/2.7.rst b/Doc/whatsnew/2.7.rst
index 6aeea32..9d26893 100644
--- a/Doc/whatsnew/2.7.rst
+++ b/Doc/whatsnew/2.7.rst
@@ -708,7 +708,7 @@
   The :func:`contextlib.nested` function provides a very similar
   function, so it's no longer necessary and has been deprecated.
 
-  (Proposed in http://codereview.appspot.com/53094; implemented by
+  (Proposed in https://codereview.appspot.com/53094; implemented by
   Georg Brandl.)
 
 * Conversions between floating-point numbers and strings are
