Beiträge

HTTP/2 – Anlaufschwierigkeiten beim neuen Web-Standard

HTTP/2 – Anlaufschwierigkeiten beim neuen Web-Standard

Das verbesserte Übertragungsprotokoll HTTP in der Version 2 (HTTP/2) war vor einigen Jahren noch ein großes Thema im Bereich der Kommunikation zwischen Server und Browser. Die Verbesserungen sollten in geringeren Ladezeiten für den Nutzer resultieren, wodurch das Interesse der gesamten IT-Branche groß war.

Die Verwendung des Protokolls ist schon seit einiger Zeit möglich, jedoch scheint der Übergang von HTTP/1.1 zu HTTP/2 eher stockend zu verlaufen. Woran das liegt und welche weiteren Verbesserungen HTTP/2 mit sich bringt, wird im folgenden Artikel beschrieben.

Warum HTTP/2 ?

Der Hauptgrund für die Verwendung von HTTP/2 sind die verkürzten Ladezeiten von Webseiten auf Seiten des Nutzers. Heutzutage beinhalten Webseiten viele Inhalte, welche typischerweise von mehreren Webservern abgerufen werden. Die Kommunikation zwischen Browser und Webserver kann man sich vereinfacht so vorstellen:

Zunächst fordert der Browser die HTML-Datei an. Diese Anfrage wird vom Server angenommen und beantwortet. Der Browser verarbeitet diese Antwort, bevor er eine weitere Anfrage sendet. Zunächst wird also die HTML-Datei analysiert und festgestellt, welche weiteren Inhalte (mit ähnlichem Kommunikationschema) angefragt werden müssen. Diese Kommunikation kann bei komplexen Webseiten, auch bei schnellen Leitungen, zu hohen Ladezeiten führen.

Google – Der Wegbereiter für HTTP/2

Auch Google verfolgte das Ziel von verkürzten Ladezeiten für seine Nutzer. Dabei bilden kurze Ladezeiten bei der Verwendung von Applikationen eine wichtige Voraussetzung für den Komfort des Nutzers. Bei der Lösung des Problems dachte man zunächst an die langsamen Downloadraten und initiierte das Projekt Google Fiber.

Googles Projekt zum Aufbau eines Hochgeschwindigkeits-Glasfasernetzes

»A different kind of Internet and TV« – Google Fiber als Wegbereiter eines schnelleren Internets
Bildquelle: Original von Laura Gilchrist (CC BY 2.0), Bild bearbeitet

Dieses Projekt umfasst den Ausbau eines Hochgeschwindigkeits-Glasfasernetzes in den USA. Dabei sollen Download- und Uploadraten von bis zu 1 GB/s erreicht werden. Zurzeit können knapp 500.000 Haushalte dieses Netz nutzen. Bei der Betrachtung von möglichen Verbesserungen im Bereich der Browser-Server-Kommunikation erarbeitete Google Verbesserungen der genutzten Protokolle im Chrome Browser und in den eigenen Webservern.

Das neue Netzwerkprotokoll trug den Namen SPDY und bildete eine Grundlage für die Erarbeitung von HTTP/2.

Was macht HTTP/2 anders und welche Vorteile ergeben sich daraus?

Die Kommunikation zwischen Browser und Server beginnt bei HTTP/2 genau so wie bei HTTP/1.1, das heißt es folgt ein Verbindungsaufbau auf die Anfrage der HTML-Datei des Browsers. Der weitere Datenverkehr findet dann auf dieser Verbindung statt.

Ein großer Vorteil von HTTP/2 ist die Möglichkeit des sogenannten Server-Push. Dabei kann der Server selbständig Inhalte, wie Skripte oder Style Sheets, an den Browser versenden. Das heißt, dass der Browser gleichzeitig Daten anfragen und empfangen kann. Man spricht hierbei von Multiplexing. Das Resultat bilden verkürzte Ladezeiten für den Nutzer.

Diese können auch von Bedeutung für das Onlinemarketing sein. Geringere Ladezeiten beeinflussen Suchmaschinen in dem Maß, dass entsprechende Webseiten öfter von Google gecrawlt werden, der Google Bot sie also häufiger durchsucht. Dies kann bei Onlineshops dazu führen, dass neue Produkte und Inhalte schneller in den Index aufgenommen werden. Studien belegen ebenfalls, dass geringe Ladezeiten einen positiven Einfluss auf die Conversion-Rate, das heißt die Anzahl von Transaktionen im Verhältnis zu den Seitenaufrufen, haben.

Warum stockt der Übergang von HTTP/1.1 auf HTTP/2?

Trotz der vielen Vorteile ist die Verwendung von HTTP/2 heute doch recht selten. Auch hier hatte Google einen entscheidenden, diesmal jedoch nicht sehr positiven, Einfluss.

Damit ist die Umstellung von NPN (Next Protocol Negotiation) auf ALPN (Application-Layer Protocol Negotiation) in Verwendung mit dem Chrome Browser gemeint. Diese Erweiterungen ermöglichen u.a. dem Server mitzuteilen, welche Version von HTTP verwendet werden soll. Die Voraussetzung für die Verwendung von ALPN bildet eine Version von OpenSLL 1.0.2 oder höher. OpenSLL ist eine Software, welche im Zusammenhang mit Netzwerkprotokollen und Verschlüsselungen steht. Die angeforderte Version wird jedoch selten verwendet und eine Aktualisierung auf diese bringt große Hürden und großen Aufwand für die Server-Administratoren mit sich.

Die einfache Lösung wäre es, den Google Chrome Browser nicht mehr zu nutzen. Jedoch ist dieser momentan der am meisten verwendete Browser für Desktops und mobile Endgeräte. Das Problem bei der Verwendung von HTTP/2 betrifft also einen Großteil der Nutzer. Die bisherigen Hürden bei der Implementierung von HTTP/2 hemmen demnach für eine große Gruppe von Nutzern die Vorteile, welche durch die Verwendung von HTTP/2 möglich wären.

Frameworks in der Softwareentwicklung

Frameworks in der Softwareentwicklung

In der Softwareentwicklung ist ein Framework, auf Deutsch „Rahmenwerk“, zu verstehen als ein Gerüst, auf dem die Programmierung und Entwicklung innerhalb der Programmiersprache in einem Projekt basiert.

Was ist eigentlich ein Framework?

Frameworks bieten eine Sammlung von Funktionen, die oft einige Hürden in der Programmierung erleichtern. Dadurch können zum Beispiel die Kommunikation zwischen Client und Server oder Datenbankabfragen für Entwickler erleichtert werden und damit der nötige Programmieraufwand reduziert werden. Des Weiteren bieten Frameworks oft auch Sicherheiten gegen Cross-Site-Scripting oder SQL-Injections und weitere Vorteile, wie eine Model-View-Controller-Architektur oder Formularvalidierung.

Ein Framework ist nicht als fertiges Programm zu verstehen. Es bietet lediglich den Rahmen für die Entwicklung eines Programms, auf dem beliebig aufgebaut wird, das aber auch deutlich erweitert werden kann. Dieses Rahmenprinzip ist eine ideale Grundlage zur Teamarbeit. In vielen Unternehmen werden daher häufig entsprechende Kenntnisse und Erfahrungen für die Softwareentwicklung vorausgesetzt.

Frameworks in der Praxis

Im Alltag stellt sich nicht nur uns bei kreITiv immer wieder die Frage, welche Technologie wir in der Entwicklung von Softwareprojekten einsetzen sollten. Pauschal ist das allerdings schwer zu beantworten und auch Statistiken über die beliebtesten Frameworks (Umfrage zu den populärsten PHP-Frameworks 2015) helfen nicht wirklich weiter, sondern können im Gegenteil oft verwirren.

Natürlich sollte ein Framework zu den Bedürfnissen des Projekts passen und ein eher kleineres Vorhaben auch nicht überladen.

Wenn man sich einmal mit einem Framework vertraut gemacht hat und dieses versteht, dann ist es aus Gründen der Wirtschaftlichkeit oft ratsam, es auch in nachfolgenden Projekten zum Einsatz zu bringen. Die Auswahl sollte daher von vornherein immer zukunftsorientiert getroffen werden. Dabei sollte man darauf achten, dass eine gute Dokumentation bereitgestellt wird, regelmäßige Updates verfügbar sind und eine Community zum Erfahrungsaustausch zwischen den Entwicklern gegeben ist.

Frameworks werden heutzutage für die verschiedensten Programmiersprachen bereitgestellt und immer wieder kommen neue auf den Markt. Somit ergibt sich auch für die Softwareentwicklung ein ständiger Anpassungsprozess an neue Sprachen, Funktionen und Möglichkeiten.

Die Softwareentwicklung der kreITiv nutzt in der JavaScript-Entwicklung des Öfteren JQuery und AngularJS. In der PHP-Entwicklung setzen wir momentan auf das Laravel-Framework.

SSL und TLS: Daten im Internet über verschlüsselte Verbindungen übertragen

Standards zur Verschlüsselung von Webseiten: SSL und TLS

Facebook plant im weiteren Verlauf des Jahres 2016 eine komplette Verschlüsselung seines Messenger Dienstes WhatsApp einzuführen. Realisiert werden soll dies über eine Ende-zu-Ende Verschlüsselung, die sämtliche versendeten Inhalte und Telefonate zwischen zwei Nutzern schützt. Das Thema Sicherheit kommt endlich also auch beim Platzhirsch der mobilen Kommunikation auf den Smartphones an.

Im www sind wir glücklicherweise schon etwas weiter, denn für Webseiten haben sich längst Standards im Bereich der Verschlüsselungstechniken, wie SSL und TLS, etabliert. Dabei handelt es sich um Protokolle, die Daten über eine verschlüsselte Verbindung mit einem öffentlichen und privaten Schlüssel im Internet übertragen. Das heißt, Informationen werden bereits vor dem Versenden ver- und erst beim Empfänger wieder entschlüsselt. Ein Abfangen der Nachricht ohne Kenntnis des Schlüssels ist daher zwecklos.

Ob eine Verbindung zwischen Anwender und Webseite auf diese Weise gesichert ist, lässt sich im Browser ganz einfach an einem Schlosssymbol in der Adresszeile sowie am „s“ im https:// in der URL der Seite erkennen.

Das SSL-Zertifikat einfach erklärt:

YouTube

Mit dem Laden des Videos akzeptieren Sie die Datenschutzerklärung von YouTube.
Mehr erfahren

Video laden

Der Klassiker – Die SSL-Verschlüsselung

SSL steht für Secure Sockets Layer und ist bereits seit Mitte der 90er in Browsern integriert. Die Verschlüsselung besteht zwischen einem Server und einem Client (Browser). Es handelt sich um eine Hybridform, das heißt es wird symmetrisch und asymmetrisch verschlüsselt. SSL begegnet einem als Begrifflichkeit noch heute öfter, kommt aber in seiner ursprünglichen Form nicht mehr zum Einsatz und wurde mit dem Release der Version 3.1 im Jahr 1999 in TLS umbenannt.

TLS – Sichere Datenübertragung im Internet

Bei TLS (Transport Layer Security) handelt es sich demnach um die Weiterentwicklung von SSL. Fast alle Browser setzen TLS mit RSA- und AES- oder Camellia-Verschlüsselung ein. Diese sind besonders sicher, da es sich bei RSA um ein asymmetrisches kryptografisches Verfahren handelt. AES (Advanced Encryption Standard) besitzt variable und voneinander unabhängige Block- und Schlüssellängen und Camellia ist eine symmetrische Blockverschlüsselung.

Der Markt der Webtechnologien bewegt sich langsam, doch er bewegt sich bzw. wird in Folge einer zunehmend kritischeren Sicherheitslage dazu gezwungen. In aktuelleren Browserversionen ist die veraltete SSLv2 aufgrund vieler Sicherheitslücken bereits deaktiviert und führt zu einer entsprechenden Warnung an den Nutzer. Seit Bekanntwerden von Poodle-Angriffen (Auslesen von Daten vom Client und Server) verwenden Firefox, Google Chrome und andere Browser überwiegend die TLS-Verschlüsselung.

Erweiterung mit Extended-Validation-TLS-Zertifikaten

Wie so oft wird bereits zum nächsten Schritt ausgeholt. Mit sogenannten Extended-Validation-TLS-Zertifikaten können Webseitenbetreiber die letzten Zweifel ihrer potenziellen Besucher ausräumen. Diese von Dritten ausgestellten “Zertifikate mit erweiterter Überprüfung” unterliegen strengen Vergabekriterien. Das bezieht sich vor allem auf eine genaue Überprüfung des Antragstellers durch eine Zertifizierungsstelle.

Die Vergabekriterien sind in den Richtlinien für Extended-Validation-Zertifikate spezifiziert, deren Aufstellung ein Zusammenschluss von Zertifizierungsstellen und Browser-Herstellern übernimmt. Informationen über die genaueren Funktionsweisen von SSL, TLS oder Extended-Validation-TLS-Zertifikaten finden Sie im Wikipedia-Artikel zum Thema.

Wenn Sie eine professionelle Beratung zum Thema Verschlüsselung und Accountsicherheit auf Ihrer Webseite wünschen, zögern Sie nicht, sich noch heute über unser Kontaktformular mit den IT-Experten der kreITiv in Verbindung zu setzen.

Toptrends: Material Design, Story Telling und Back to Basics

Top-3 Webtrends für das Jahr 2016

Das Web verändert sich ständig, betrachtet man die Entwicklung der letzten Jahrzehnte erkennt man einen stetig stattfindenden Wandel. Das betrifft auch das Design und den inhaltlichen Aufbau von Webseiten. In diesem Blogbeitrag wollen wir daher auf kommende Webtrends eingehen. Einige existieren zwar schon lange, haben sich aber bisher nicht richtig durchgesetzt.

I. Material Design

Google stellte 2014 auf seiner Entwicklerkonferenz das Material Design vor. Dabei handelt es sich um eine Erweiterung des Flat Designs, welches sich durch seine Einfachheit auszeichnet. Im Flat Design werden die Elemente einfarbig und ohne Verzierungen oder Schlagschatten dargestellt. Im Material Design sieht das anders aus; es baut zwar auf demselben Grundgedanken auf, ist jedoch durch entscheidende Punkte ergänzt. Hier besitzen die Elemente nicht nur eine X- und Y-Koordinate sondern auch eine Z-Koordinate, sie werden also dreidimensional dargestellt. Dies wird meist durch einen Schlagschatten visualisiert. Außerdem werden Farbverläufe verwendet sowie kleine Animationen, die perfekt an den Benutzer angepasst sind. Zum Webtrend Material Design hat Google eine umfassende Informationsseite zum nachlesen erstellt.

Ein paar optische Eindrücke liefert Google seinen Developern im folgenden Clip…

YouTube

Mit dem Laden des Videos akzeptieren Sie die Datenschutzerklärung von YouTube.
Mehr erfahren

Video laden

II. Story Telling

Bei der Story Telling Methode versuchen Firmen die Geschichte ihres Unternehmens oder eines Produktes lebendig und attraktiv zu vermitteln. Bei jedem Scroll wird den Kunden das Produkt näher vorgestellt. Dies wird durch den Einsatz von prägnanten Bildern, gut zu lesenden Texten und einfachen Animationen realisiert. Auf einigen großen Seiten ist dieser Webtrend bereits gut umgesetzt. Auf vielen weiteren wird er künftig noch Einzug halten und sich auch in der inhaltlichen Ausgestaltung weiterentwickeln.

III. Back To The Basics

Oft sieht man Webseiten, auf denen seitenlanger Inhalt dargestellt wird oder sich unzählige, meist überflüssige Animationen abspielen. Aber in Zukunft sollte auf das Prinzip “weniger ist mehr” gesetzt werden. Das bezieht sich nicht nur auf Texte und Animationen, sondern auch auf Farben. Meist reicht ein einfacher Schwarz-Weiß Kontrast um den Inhalt interessant darzustellen. Außerdem sollte auf die Anzahl der Bilder geachtet werden – in vielen Fällen genügen schon wenige aussagekräftige Bilder oder Grafiken, um den Inhalt zu unterstreichen.

Entwicklung der Webtrends

Ob sich diese drei skizzierten Webtrends 2016 bei der breiten Masse der Webseiten im Internet durchsetzen, ist aus heutiger Perspektive noch ungewiss. Viele große und bekannte Seiten haben diese Prinzipien als Vorreiter schon perfekt umgesetzt. Wir von der kreITiv sind gespannt, wie sich die Webtrends weiterentwicklen und ob sie auch von kleineren Unternehmen umgesetzt werden.

Wenn Sie eine Beratung zum Themengebiet der Webentwicklung möchten oder sich eine kompetente Betreuung Ihrer Projekte wünschen, zögern Sie nicht sich bei der kreITiv zu melden. Wir informieren und unterstützen Sie gern.

Unit4 und kreITiv: Ihre Partner für das Reisekostenmanagement

kreITiv und Unit4: Starke Partner fürs Reisekostenmanagement

Wir freuen uns, mit Unit4 einen prominenten Neuzugang in unserem Partnernetzwerk begrüßen zu dürfen. Das weltweit tätige Softwareunternehmen mit Hauptsitz in den Niederlanden ist ein führender Anbieter von Anwendungen zur Steuerung, Unterstützung und Optimierung von Management- und Betriebsprozessen. Dem Motto “In business for people” folgend, stehen mitarbeiterzentrierte Lösungen vor allem für Unternehmen aus dem Dienstleistungsbereich, dem Großhandel, Bildungswesen, öffentlichen Sektor und der Immobilienbranche im Fokus.

kreITiv nimmt ab sofort die Reisekostenmanagement-Lösung Unit4 Travel & Expenses in sein Portfolio auf. Die integrierte Anwendung vereinfacht und automatisiert den häufig lästigen Prozess der Reisekostenabrechnung für die eigenen Mitarbeiter. Auch wir profitieren von dieser zukunftsweisenden Anwendung: „Reisekostenabrechnungen sind chaotisch und zeitaufwändig. Mit Unit4 Travel & Expenses ist es uns gelungen, die Bearbeitungszeit aller Abrechnungen um bis zu 60% zu verkürzen. Freie Zeit für unsere Mitarbeiter, die sie nun in mehr Kundenservice und Wertschöpfung investieren“ – so Matthias Ehnert, kaufmännischer Geschäftsführer, kreITiv GmbH.

kreITiv und Unit4 bündeln nun ihr Know-how in den Bereichen IT und Softwareenwicklung, um gemeinsam Kunden von der Beratung über die Implementierung bis hin zum Hosting zu begleiten und ein automatisiertes und bedarfsgerechtes Reisekostenmanagement auf den Weg zu bringen. Wir erarbeiten individuelle Lösungen und setzen diese mit unserer langjährigen Erfahrung als IT-Dienstleister schnell und unkompliziert um. „Der Schwerpunkt unserer Partnerschaft ist, für unsere Kunden auf allen Ebenen der Wertschöpfung die Wirkung digitaler Geschäftsprozesse zu erhöhen“ – so Rainer Witt, technischer Geschäftsführer, kreITiv GmbH.

Wir blicken gespannt auf die Partnerschaft und viele interessante Projekte im Jahr 2016!

PHP 7 erhält im November Einzug

PHP7 hält ab November 2015 Einzug ins Netz

Das nächste große Release der Open Source Programmiersprache PHP steht zum Jahresende 2015 in den Startlöchern. Bereits die jetzigen ersten Release Kandidaten von PHP7 bringen eine Reihe Commits und Bugfixes mit sich, die man im aktuellen Versions-File bei GitHub einsehen kann. Ein Zeitplan der Entwicklung und Veröffentlichung, mitsamt des geplanten Stichtages 12. November, findet sich im Wiki der PHP Group. In Abstimmungen der Entwickler wurde sich auf die Versionsnummer 7 geeinigt und die „gescheiterte“ 6 verworfen, die somit komplett übersprungen wird.

Die Vorteile und Verbesserungen der neusten Version, welche auf dem Projekt PHPNG (PHP Next-Generation) basiert, liegen auf der Hand: Diese PHP Fassung “der nächsten Generation” soll deutlich schneller, stabiler und leistungseffizienter sein. Erste Tests bestätigen die Realisierung dieser Zielstellung bereits. Im Vergleich zur aktuell noch genutzten PHP Version 5.0 ist der Geschwindigkeitsvorteil erheblich. Zum Release soll sie 2-mal schneller als die jetzige und bis zu 15-mal schneller als ältere Versionen laufen. Damit nicht genug, die neue PHP Auflage wird konsistent 64-Bit-fähig sein und deutlich weniger Ressourcen als alle ihre Vorgänger verbrauchen.

Neue Operatoren in PHP7, u.a. PHP Space Ships

Auch im Funktionsbereich hat sich eine ganze Menge getan. Vergleiche und Sortierungen können dank der “PHP Space Ships” genannten 3-Wege-Vergleichsoperatoren deutlich kompakter als bisher genutzt werden. Diese wurden in der bewährten Skriptsprache gänzlich neu integriert.

Weitere Neuerungen sind bspw. die überarbeitete Zend Engine oder die Typensicherheit der skalaren Dateitypen. Dank letzterer besteht in der neuen Fassung nun die Möglichkeit, die skalaren Typen wie Bool, Int, Float und String zu deklarieren. Dies zieht eine strenge Typenprüfung nach sich, die aber bei einem Verzicht einer ersten Direktive im Code standardmäßig nur eine schwache Überprüfung zur Folge hat.

Abwärtskompatibilität nur bis PHP Version 5

PHP7 - Hypertext Preprocessor

Version 7 der Scriptsprache PHP soll am 12.11.2015 released werden

Stellt sich noch die ewig junge Frage nach der Abwärtskompatblität. Systeme, die mit PHP 4 entwickelt wurden und aktuell nicht auf Version 5.X laufen, werden auch für Version 7 nicht mehr kompatibel sein und müssen in diesem Zuge komplett angepasst werden. Alle „neueren“ Systeme können ohne weiteres mit PHP7 genutzt werden.

Grund für diese Maßnahme ist der Wegfall so mancher älteren API, die künftig nicht mehr unterstützt wird. Somit werden auch wichtige Sicherheitsrisiken ad acta gelegt und bedeutsame Neuerungen können mit genutzt werden.

Kurz zusammengefasst wird PHP7 aller Voraussicht nach recht schnell Einzug in vielen Webanwendungen erhalten und auch unserem Team der kreITiv dank den genannten Verbesserungen und Optimierungen die Arbeit bei der Erstellung von webbasierenden Inhalten erleichtern.