Henry: Externe Fonts und Scripte einbinden

Hallo,

mir fiel gerade auf, dass immer wenn ich das Forum aufrufe eine kleine Verzögerung eintritt, weil Google noch aufgerufen wird.

Hier wird doch immer, zu recht, propagiert möglichst externe Sachen lokal einzubinden, gerade bei googlefonts.

Warum ist das denn hier im Forum nicht der Fall?

/@import url("https://fonts.googleapis.com/css?famil…

oder

src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.1/MathJax.js?config=TeX-…

schon klar, dass es da bestimmt einen Grund für gibt, aber welchen?

Gruss
Henry

--
Meine Meinung zu DSGVO & Co:
„Principiis obsta. Sero medicina parata, cum mala per longas convaluere moras.“
  1. Hallo Henry,

    /@import url("https://fonts.googleapis.com/css?famil…

    dieses verstößt gegen die DSGVO und der Verein ist hochgradig abmahngefährdet. Mich wundert es warum man dieses auf die leichte Schulter nimmt und die Schriften nicht schon längst lokal einbindet.

    Bis bald!
    Meowsalot (Bernd)

    1. hallo

      Hallo Henry,

      /@import url("https://fonts.googleapis.com/css?famil…

      dieses verstößt gegen die DSGVO

      Nein, es ist weder illegal, externe Inhalte zu verlinken, noch sie einzubinden.

      ... und der Verein ist hochgradig abmahngefährdet.

      Da musst du schon spezifisch werden.

  2. Hallo Henry,

    Hier wird doch immer, zu recht, propagiert möglichst externe Sachen lokal einzubinden, gerade bei googlefonts.

    Warum ist das denn hier im Forum nicht der Fall?

    /@import url("https://fonts.googleapis.com/css?famil…

    Oswald hatten wir auch schon mal am Wickel, siehe https://forum.selfhtml.org/m1723051 Offenbar sind wir allerdings vom Selbsthosten wieder abgekommen, ich weiß allerdings nicht mehr, was da schief gegangen ist.

    Bis demnächst
    Matthias

    --
    Rosen sind rot.
    1. Meine Vorgehensweise:

      Download von https://fonts.googleapis.com/css?family=PT Sans:400,700,400italic|Oswald& mit einem modernen Browser (nicht wget!)

      als 'oswald.css' speichern.

      Ergebnis:

      /* cyrillic */
      @font-face {
        font-family: 'Oswald';
        font-style: normal;
        font-weight: 400;
        src: local('Oswald Regular'), local('Oswald-Regular'), url(https://fonts.gstatic.com/s/oswald/v16/TK3iWkUHHAIjg752HT8Ghe4.woff2) format('woff2');
        unicode-range: U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
      }
      /* vietnamese */
      @font-face {
        font-family: 'Oswald';
        font-style: normal;
        font-weight: 400;
        src: local('Oswald Regular'), local('Oswald-Regular'), url(https://fonts.gstatic.com/s/oswald/v16/TK3iWkUHHAIjg752Fj8Ghe4.woff2) format('woff2');
        unicode-range: U+0102-0103, U+0110-0111, U+1EA0-1EF9, U+20AB;
      }
      /* latin-ext */
      @font-face {
        font-family: 'Oswald';
        font-style: normal;
        font-weight: 400;
        src: local('Oswald Regular'), local('Oswald-Regular'), url(https://fonts.gstatic.com/s/oswald/v16/TK3iWkUHHAIjg752Fz8Ghe4.woff2) format('woff2');
        unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;
      }
      /* latin */
      @font-face {
        font-family: 'Oswald';
        font-style: normal;
        font-weight: 400;
        src: local('Oswald Regular'), local('Oswald-Regular'), url(https://fonts.gstatic.com/s/oswald/v16/TK3iWkUHHAIjg752GT8G.woff2) format('woff2');
        unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
      }
      /* cyrillic-ext */
      @font-face {
        font-family: 'PT Sans';
        font-style: italic;
        font-weight: 400;
        src: local('PT Sans Italic'), local('PTSans-Italic'), url(https://fonts.gstatic.com/s/ptsans/v9/jizYRExUiTo99u79D0e0ysmIEDQ.woff2) format('woff2');
        unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
      }
      /* cyrillic */
      @font-face {
        font-family: 'PT Sans';
        font-style: italic;
        font-weight: 400;
        src: local('PT Sans Italic'), local('PTSans-Italic'), url(https://fonts.gstatic.com/s/ptsans/v9/jizYRExUiTo99u79D0e0w8mIEDQ.woff2) format('woff2');
        unicode-range: U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
      }
      /* latin-ext */
      @font-face {
        font-family: 'PT Sans';
        font-style: italic;
        font-weight: 400;
        src: local('PT Sans Italic'), local('PTSans-Italic'), url(https://fonts.gstatic.com/s/ptsans/v9/jizYRExUiTo99u79D0e0ycmIEDQ.woff2) format('woff2');
        unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;
      }
      /* latin */
      @font-face {
        font-family: 'PT Sans';
        font-style: italic;
        font-weight: 400;
        src: local('PT Sans Italic'), local('PTSans-Italic'), url(https://fonts.gstatic.com/s/ptsans/v9/jizYRExUiTo99u79D0e0x8mI.woff2) format('woff2');
        unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
      }
      /* cyrillic-ext */
      @font-face {
        font-family: 'PT Sans';
        font-style: normal;
        font-weight: 400;
        src: local('PT Sans'), local('PTSans-Regular'), url(https://fonts.gstatic.com/s/ptsans/v9/jizaRExUiTo99u79D0-ExdGM.woff2) format('woff2');
        unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
      }
      /* cyrillic */
      @font-face {
        font-family: 'PT Sans';
        font-style: normal;
        font-weight: 400;
        src: local('PT Sans'), local('PTSans-Regular'), url(https://fonts.gstatic.com/s/ptsans/v9/jizaRExUiTo99u79D0aExdGM.woff2) format('woff2');
        unicode-range: U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
      }
      /* latin-ext */
      @font-face {
        font-family: 'PT Sans';
        font-style: normal;
        font-weight: 400;
        src: local('PT Sans'), local('PTSans-Regular'), url(https://fonts.gstatic.com/s/ptsans/v9/jizaRExUiTo99u79D0yExdGM.woff2) format('woff2');
        unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;
      }
      /* latin */
      @font-face {
        font-family: 'PT Sans';
        font-style: normal;
        font-weight: 400;
        src: local('PT Sans'), local('PTSans-Regular'), url(https://fonts.gstatic.com/s/ptsans/v9/jizaRExUiTo99u79D0KExQ.woff2) format('woff2');
        unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
      }
      /* cyrillic-ext */
      @font-face {
        font-family: 'PT Sans';
        font-style: normal;
        font-weight: 700;
        src: local('PT Sans Bold'), local('PTSans-Bold'), url(https://fonts.gstatic.com/s/ptsans/v9/jizfRExUiTo99u79B_mh0OOtLQ0Z.woff2) format('woff2');
        unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
      }
      /* cyrillic */
      @font-face {
        font-family: 'PT Sans';
        font-style: normal;
        font-weight: 700;
        src: local('PT Sans Bold'), local('PTSans-Bold'), url(https://fonts.gstatic.com/s/ptsans/v9/jizfRExUiTo99u79B_mh0OqtLQ0Z.woff2) format('woff2');
        unicode-range: U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
      }
      /* latin-ext */
      @font-face {
        font-family: 'PT Sans';
        font-style: normal;
        font-weight: 700;
        src: local('PT Sans Bold'), local('PTSans-Bold'), url(https://fonts.gstatic.com/s/ptsans/v9/jizfRExUiTo99u79B_mh0OCtLQ0Z.woff2) format('woff2');
        unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;
      }
      /* latin */
      @font-face {
        font-family: 'PT Sans';
        font-style: normal;
        font-weight: 700;
        src: local('PT Sans Bold'), local('PTSans-Bold'), url(https://fonts.gstatic.com/s/ptsans/v9/jizfRExUiTo99u79B_mh0O6tLQ.woff2) format('woff2');
        unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
      }
      

      oswald.sed: (ggf. anpassen!)

      s/https:\/\/fonts\.gstatic\.com\/s\/ptsans\/v9\//\/fonts\//g
      s/https:\/\/fonts\.gstatic\.com\/s\/oswald\/v16\//\/fonts\//g
      

      ausführen:

      sed -i -f oswald.sed oswald.css
      chmod 644 oswald.css
      

      Ergebnis:

      /* cyrillic */
      @font-face {
        font-family: 'Oswald';
        font-style: normal;
        font-weight: 400;
        src: local('Oswald Regular'), local('Oswald-Regular'), url(/fonts/TK3iWkUHHAIjg752HT8Ghe4.woff2) format('woff2');
        unicode-range: U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
      }
      /* vietnamese */
      @font-face {
        font-family: 'Oswald';
        font-style: normal;
        font-weight: 400;
        src: local('Oswald Regular'), local('Oswald-Regular'), url(/fonts/TK3iWkUHHAIjg752Fj8Ghe4.woff2) format('woff2');
        unicode-range: U+0102-0103, U+0110-0111, U+1EA0-1EF9, U+20AB;
      }
      /* latin-ext */
      @font-face {
        font-family: 'Oswald';
        font-style: normal;
        font-weight: 400;
        src: local('Oswald Regular'), local('Oswald-Regular'), url(/fonts/TK3iWkUHHAIjg752Fz8Ghe4.woff2) format('woff2');
        unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;
      }
      /* latin */
      @font-face {
        font-family: 'Oswald';
        font-style: normal;
        font-weight: 400;
        src: local('Oswald Regular'), local('Oswald-Regular'), url(/fonts/TK3iWkUHHAIjg752GT8G.woff2) format('woff2');
        unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
      }
      /* cyrillic-ext */
      @font-face {
        font-family: 'PT Sans';
        font-style: italic;
        font-weight: 400;
        src: local('PT Sans Italic'), local('PTSans-Italic'), url(/fonts/jizYRExUiTo99u79D0e0ysmIEDQ.woff2) format('woff2');
        unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
      }
      /* cyrillic */
      @font-face {
        font-family: 'PT Sans';
        font-style: italic;
        font-weight: 400;
        src: local('PT Sans Italic'), local('PTSans-Italic'), url(/fonts/jizYRExUiTo99u79D0e0w8mIEDQ.woff2) format('woff2');
        unicode-range: U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
      }
      /* latin-ext */
      @font-face {
        font-family: 'PT Sans';
        font-style: italic;
        font-weight: 400;
        src: local('PT Sans Italic'), local('PTSans-Italic'), url(/fonts/jizYRExUiTo99u79D0e0ycmIEDQ.woff2) format('woff2');
        unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;
      }
      /* latin */
      @font-face {
        font-family: 'PT Sans';
        font-style: italic;
        font-weight: 400;
        src: local('PT Sans Italic'), local('PTSans-Italic'), url(/fonts/jizYRExUiTo99u79D0e0x8mI.woff2) format('woff2');
        unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
      }
      /* cyrillic-ext */
      @font-face {
        font-family: 'PT Sans';
        font-style: normal;
        font-weight: 400;
        src: local('PT Sans'), local('PTSans-Regular'), url(/fonts/jizaRExUiTo99u79D0-ExdGM.woff2) format('woff2');
        unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
      }
      /* cyrillic */
      @font-face {
        font-family: 'PT Sans';
        font-style: normal;
        font-weight: 400;
        src: local('PT Sans'), local('PTSans-Regular'), url(/fonts/jizaRExUiTo99u79D0aExdGM.woff2) format('woff2');
        unicode-range: U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
      }
      /* latin-ext */
      @font-face {
        font-family: 'PT Sans';
        font-style: normal;
        font-weight: 400;
        src: local('PT Sans'), local('PTSans-Regular'), url(/fonts/jizaRExUiTo99u79D0yExdGM.woff2) format('woff2');
        unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;
      }
      /* latin */
      @font-face {
        font-family: 'PT Sans';
        font-style: normal;
        font-weight: 400;
        src: local('PT Sans'), local('PTSans-Regular'), url(/fonts/jizaRExUiTo99u79D0KExQ.woff2) format('woff2');
        unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
      }
      /* cyrillic-ext */
      @font-face {
        font-family: 'PT Sans';
        font-style: normal;
        font-weight: 700;
        src: local('PT Sans Bold'), local('PTSans-Bold'), url(/fonts/jizfRExUiTo99u79B_mh0OOtLQ0Z.woff2) format('woff2');
        unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
      }
      /* cyrillic */
      @font-face {
        font-family: 'PT Sans';
        font-style: normal;
        font-weight: 700;
        src: local('PT Sans Bold'), local('PTSans-Bold'), url(/fonts/jizfRExUiTo99u79B_mh0OqtLQ0Z.woff2) format('woff2');
        unicode-range: U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
      }
      /* latin-ext */
      @font-face {
        font-family: 'PT Sans';
        font-style: normal;
        font-weight: 700;
        src: local('PT Sans Bold'), local('PTSans-Bold'), url(/fonts/jizfRExUiTo99u79B_mh0OCtLQ0Z.woff2) format('woff2');
        unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;
      }
      /* latin */
      @font-face {
        font-family: 'PT Sans';
        font-style: normal;
        font-weight: 700;
        src: local('PT Sans Bold'), local('PTSans-Bold'), url(/fonts/jizfRExUiTo99u79B_mh0O6tLQ.woff2) format('woff2');
        unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
      }
      

      dann

      cd ${DOCUMENT_ROOT}
      mkdir fonts
      chmod 755 fonts
      cd fonts
      wget 'https://fonts.gstatic.com/s/oswald/v16/TK3iWkUHHAIjg752Fj8Ghe4.woff2'
      wget 'https://fonts.gstatic.com/s/oswald/v16/TK3iWkUHHAIjg752GT8G.woff2'
      wget 'https://fonts.gstatic.com/s/ptsans/v9/jizYRExUiTo99u79D0e0ycmIEDQ.woff2'
      wget 'https://fonts.gstatic.com/s/ptsans/v9/jizaRExUiTo99u79D0yExdGM.woff2'
      wget 'https://fonts.gstatic.com/s/ptsans/v9/jizfRExUiTo99u79B_mh0OOtLQ0Z.woff2'
      wget 'https://fonts.gstatic.com/s/ptsans/v9/jizfRExUiTo99u79B_mh0O6tLQ.woff2'
      
      chmod 644 *
      

      owwald.css einbinden, auf 404er (Alle Schriften geholt?) achten, fertig.

      Alte Browser:

      Dankenwerterweise liefert Google auch eine CSS-Datei für ttf-Fonts aus:

      wget -O oswald.oldbrowsers 'https://fonts.googleapis.com/css?family=PT Sans:400,700,400italic|Oswald&'
      

      Die muss man mit der oswald.css vor dem sed "mixen". Aber das passt hier nicht mehr her.

      1. Eine alternative Lösung mit einem Skript:

        # curl wird benötigt:
        # sudo apt install curl
        
        cd /tmp
        mkdir font
        cd font
        
        wget 'https://raw.githubusercontent.com/neverpanic/google-font-download/master/google-font-download'
        
        less google-font-download # Tut das nur was es soll?
        
        chmod 755 google-font-download
        ./google-font-download 'https://fonts.googleapis.com/css?family=PT Sans:400,700,400italic|Oswald'
        

        (Das abschließende '&' muss hier also weggelassen werden!)

        Das Skript erzeugt gegenwärtig folgende Dateien:

        -rw-r--r--  1 user group   3223 Aug  5 17:35 font.css
        -rw-r--r--  1 user group  17285 Aug  5 17:34 Oswald.eot
        -rw-r--r--  1 user group  49847 Aug  5 17:35 Oswald.svg
        -rw-r--r--  1 user group  33268 Aug  5 17:35 Oswald.ttf
        -rw-r--r--  1 user group  18936 Aug  5 17:34 Oswald.woff
        -rw-r--r--  1 user group  15248 Aug  5 17:34 Oswald.woff2
        -rw-r--r--  1 user group  47755 Aug  5 17:34 PT_Sans_400.eot
        -rw-r--r--  1 user group  44122 Aug  5 17:34 PT_Sans_400italic.eot
        -rw-r--r--  1 user group  63991 Aug  5 17:34 PT_Sans_400italic.svg
        -rw-r--r--  1 user group  92380 Aug  5 17:34 PT_Sans_400italic.ttf
        -rw-r--r--  1 user group  51412 Aug  5 17:34 PT_Sans_400italic.woff
        -rw-r--r--  1 user group  42136 Aug  5 17:34 PT_Sans_400italic.woff2
        -rw-r--r--  1 user group  60551 Aug  5 17:34 PT_Sans_400.svg
        -rw-r--r--  1 user group  96712 Aug  5 17:34 PT_Sans_400.ttf
        -rw-r--r--  1 user group  54828 Aug  5 17:34 PT_Sans_400.woff
        -rw-r--r--  1 user group  45052 Aug  5 17:34 PT_Sans_400.woff2
        -rw-r--r--  1 user group  49906 Aug  5 17:34 PT_Sans_700.eot
        -rw-r--r--  1 user group  58410 Aug  5 17:34 PT_Sans_700.svg
        -rw-r--r--  1 user group 100032 Aug  5 17:34 PT_Sans_700.ttf
        -rw-r--r--  1 user group  57044 Aug  5 17:34 PT_Sans_700.woff
        -rw-r--r--  1 user group  46620 Aug  5 17:34 PT_Sans_700.woff2
        

        Das ist mir allerdings ein wenig "to much". Grund: Moderne Browser unterstützen woff2 und ältere bekommen halt die Standardschriften.

        1. Hallo Regina Schaukrug - die echte,

          Moderne Browser unterstützen woff2 und ältere bekommen halt die Standardschriften.

          Genau.

          Wir werden das mal wieder in Angriff nehmen.

          Bis demnächst
          Matthias

          --
          Rosen sind rot.
          1. Eigentlich müsstet Ihr jetzt fast alles haben was Ihr braucht. Wenn nicht dann fragt "Regina Schaukrug - die echte".

            https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.1/MathJax.js?config=TeX-AMS-MML_HTMLorMML

            ... kann man ja offenbar einfach herunterladen.

            Man darf das wohl auch:

            • /MathJax.js
            • Copyright (c) 2009-2017 The MathJax Consortium
            • Licensed under the Apache License, Version 2.0 (the "License");
            • you may not use this file except in compliance with the License.
            • You may obtain a copy of the License at
            •  http://www.apache.org/licenses/LICENSE-2.0
              

            Dort Punkt 4, "Redistribution".

            Ich habe jetzt aber nicht nachgesehen, ob das Skript bei Bedarf libs nachlädt. Habe aber in den Entwickertools beim Abruf der Startseite davon nichts gesehen.

  3. Hier wird doch immer, zu recht, propagiert möglichst externe Sachen lokal einzubinden, gerade bei googlefonts.

    Mit dem "immer" ist das so eine Sache, denn so propagieren (mit guten Gründen[¹]) die Einen. Die Anderen (auch im Forum vertreten, ich werde sie Dir aber nicht raussuchen) propagieren (mit guten Gründen[²]), den Verweis auf das CDN.

    Es ist also eine Abwägung im Einzelfall erforderlich.

    ¹) Datenschutz, übereinstimmende Verfügbarkeit der Ressourcen mit eigentlicher Webseite
    ²) Ressource mit guter Wahrscheinlichkeit schon im Browser-Cache
    
    1. @@Regina Schaukrug - die echte

      [CDN] Ressource mit guter Wahrscheinlichkeit schon im Browser-Cache

      Wenn man (wie bei Google-Fonts durchaus üblich) zur Einsparung einiger (Kilo-)Bytes Subsetting einsetzt (d.h. die Zeichenbereiche angibt, die im Font enthalten sein sollen), dann ist die Wahrscheinlichkeit, dass die Ressource schon im Browser-Cache ist, so gut wie null.

      LLAP 🖖

      --
      „Wer durch Wissen und Erfahrung der Klügere ist, der sollte nicht nachgeben. Und nicht aufgeben.“ —Kurt Weidemann
      1. dann ist die Wahrscheinlichkeit, dass die Ressource schon im Browser-Cache ist, so gut wie null

        Mag so sein.

        Ich habe mich darauf beschränkt - ohne Wertung - die mir als hauptsächlich erscheinenden Argumente der beiden Fraktionen aufzulisten. Das verwendete Argumente durch widersprüchliches Handeln "absurdiert" werden können (und werden) ist dann wieder eine andere Sache.

        Einen Punkt habe ich übersehen:

        • Die Pro-CDN-Fraktion hat nämlich noch ein Argument: Man müsse sich nicht um Updates kümmern. Das sei sicherer.
        • Die Contra-CDN-Fraktion sagt dazu etwas wie: "Ja klar. Und dann hat man ohne eigenes zutun die neuen Bugs. Und was ist denn wenn der Anbieter gehackt wird?"

        Ich denke, dass auch das alles sehr vom Einzelfall abhängt, weil beide Argumente was für sich haben. Ich selbst neige übrigens von jeher eher zur Contra-CDN-Fraktion. Diese Geschichten mit "Krempel von den Servern Dritter" sind mir persönlich im Hinblick auf Sicherheit, Verfügbarkeit und natürlich Datenschutz von jeher zu heikel.

        Ich weiß, was man im Web so anstellen kann. Ich hab auch schon "was angestellt" - allerdings eher im Bereich der Forensik - und ich hab den "verdammten Klugscheißer von einem Rechtsanwalt" (auch der ist keiner mehr...) regelrecht "auf den Tisch genagelt".

        Die DSGVO wurde dennoch nicht meinetwegen erlassen.