Internet mal anders
Internet mal anders
Mühlen am Niederrhein
 Mühlen am Niederrhein ?
Mühlen in Schleswig-Holstein
 Mühlen in Schleswig-Holstein ?
Andere Mühlen
 Andere Mühlen ?
 •	                   Entwicklung
Entwicklung
Die hier aufgeführten Routinen sind zum großen Teil Bestandteile meines eigens für meine Homepage entwickelten CMS, sie sollen zeigen was mit Free Pascal auf der Server-Seite und JavaScript auf der Client-Seite alles möglich ist.
Lazarus / Free Pascal
 JavaScript
 C#
 
•	                   Administration
Administration
Hier finden Sie Themen zur Server Administration und Konfiguration, Anleitungen und Hilfestellungen.
 
•	                   Analyse
Analyse
Fehler finden, Möglichkeiten entdecken und Konzepte zur Umsetzung.
 
Besonderheiten dieser Website
Diese Website basiert auf einer in Free Pascal geschriebenen Webserver-Application, ein Dienst/Service mit einen HTTP-Server-Prozess und einen Hintergrund-Prozess. Wobei der HTTP-Server-Prozess für die komplette Bearbeitung der Eingehenden Anfragen zuständig ist und der Hintergrund-Prozess sich um die Abwicklung von Aufgaben die nicht unmittelbar mit den eingehenden Anfragen zu tun haben wie z.B. um Optimierung von Dateien, generieren von Statistiken und Updates. Alle Komponenten des Webservice wurden komplett in Free Pascal programmiert.
Bis zum 21.06.2015 basierte diese Website noch auf der ISAPI-Schnittstelle des IIS von Microsoft, da mir nach einigen Tests klar wurde das eine weitere zeitliche Optimierung nicht mehr möglich war, da die anfallenden Millisekunden fast komplett im Bereich des Servers anfielen, hatte ich mich entschlossen einen eigenen Webserver zu schreiben. Im Gegensatz zu den bekannten Webservern ist bei meinem Webserver keine aufwendige Installation und Konfiguration erforderlich, anhand der Dateitypen wird z.B. automatisch das beste Verfahren zur Übertragung gewählt, also z.B. GZip Komprimierung, Minimierung, Gültigkeit, ? und alles nativ ohne Einbindung externer Module, dadurch war eine erhebliche Steigerung der Verarbeitungsgeschwindigkeit möglich. Zurzeit wird die Antwortzeit lediglich durch den dynamischen DNS Eintrag über MyFritz meiner Fritzbox an einem VDSL-Anschluss gebremst, die eigentlichen Verarbeitungszeiten des Servers sind außer bei sehr komplexen Seiteninhalten wie große Source-Listings oder riesige Bildergalerien auf meinem nun über 10 Jahre alten Rechner kaum messbar.
Bis zum 20.10.2018 lief dieser Webservice noch unter Windows, nun läuft er unter Ubuntu.
Ich bemühe mich ständig aktuelle Standards zu implementieren, darunter sind z.B. folgende Leistungsmerkmale:
 •	 lauffähig unter Windows und Linux (dank Free Pascal Cross-Compiler)
•	 SSL (TLS 1.3) Implementierung über OpenSSL, überprüft mit  www.ssllabs.com  (A+)
•	 CSP und Cookies optimiert auf Basis von  securityheaders.com  (A+)
•	 HTTP, HTTPS inklusive SNI Realisierung mit HSTS und HTTP/2 über TLS-ALPN Unterstützung
•	 Google PageSpeed Insights  (97-100%) und Google Lighthouse (Feature im Google Chrome) optimiert
•	 IPv4 und IPv6 Unterstützung, Überprüfung mit  IPv6 test 
•	 GZip / Deflate / Brotli (Brotli Libraries) / Zstd (Zstd Libraries) / Compress(LZW) Komprimierung auch von dynamischen Inhalten
•	 dynamisches Minimieren von CSS und JavaScript
•	 dynamische Bild Komprimierung / dynamischer Content-Type WebP und Avif, basierend auf dem vom Browser unterstützten Formaten (Accept Wert im HTTP Header)
•	 realisiert in Vanilla-JS (ohne JavaScript-Frameworks also reines JavaScript) und dadurch sehr schnell
•	 dynamisch generierte Sitemaps:  Pages ,  News ,  Images ,  Videos 
•	 dynamisch generiert:  RSS-Feed (/rss.xml) ,  Atom-Feed (/atom.xml) , Open Search, Open Graph, vCard, iCal, ?
•	 mit allen wichtigen Icons, überprüft mit  Favicon checker 
•	 kurze sprechende URLs
•	 Schema.org realisiert in zahlreichen Elementen wie z.B. Navigationspfade, Logos, Sitelinks-Suchfeld, Videos, WebPage, Organization, Article, Person, ? Überprüfung mit Googles  Testtools für Rich-Suchergebnisse  und  Schema Markup Validator 
•	 Social Media Bookmarks inklusive native sharing, wenn es vom Endgerät unterstützt wird
•	 native Volltextsuche auch über Bilder und Downloads wie z.B. PDF-Dateien
•	 Backend mit extrem optimierten WYSIWYG Editor
•	 Barrierearm, überprüft mit  wave.webaim.org  (0 Errors)
•	 Seitengenerierung dynamisch, also ohne "Caching"
•	 dynamische generierte Bilder (dem Endgerät angepasst)
•	 Viewport (lazy loading) für Bilder (auch Video-Poster und Background), Videos, YouTube, OpenStreetMap, IFrames, ?
•	 W3C konforme Inhalte, Überprüfung mit  W3C - Markup Validation Service  (keine Fehler, keine Warnungen)
•	 SEO optimiert
•	 HTML5 / XHTML 1.1, CSS3, JavaScript mit aktuellen Features wie z.B. Slider, Accordion, Tabsheets, ?
•	 Responsive Webdesign
•	 Print CSS
•	 Seiteninhalt als PDF, RTF (Richtext), Markdown, LaTeX, HTML und Text oder auch als Package (Zip-Archiv - zur Verwendung in einer App) abrufbar/herunterladbar
•	 datenschutzkonform
Weitere Informationen findest Du unter  CMS .
Manche Bereiche dieser Website sind nur für Freunde offen, falls Ihr noch keine Zugangsdaten habt meldet Euch doch bei mir!
Die ganzen Bilder liegen nicht in den angezeigten Auflösungen auf dem Server, sondern werden während der Laufzeit angepasst für Euer Browser-Fenster zur Verfügung gestellt!