Archive for the ‘HTML’ Category

Opera Browser V11.60 ist verfügbar

Bei Opera Software ist die Browser Version 11.60 erschienen. Neben Verbesserungen im Adressfeld, wurde der integrierte Email Client überarbeitet. Die weiteren Änderungen sind für Webseiten Entwickler und Browser Nutzer interessant. Die HTML Übersetzung (Parser) wurde überarbeitet.

Änderungen des Opera Browsers

  • Überarbeitete Webeiten Generierung mit verbesserter HTML5 Unterstützung
    • Die Tags Audio und Video haben weitere Attribute erhalten
      • preload
      • buffered
      • seekable
      • muted
    • Eine API für HTML Microdaten
    • Zwei neue Handler
      • registerProtocolHandler()
      • registerContentHandler()
    • Volle Unterstützung des ECMAScripts V5.1 (Javascript)
    • Cascading Style Sheet 3 (CSS3)
      • Volle Unterstützung von radial-gradient
      • Volle Unterstützung von repeated-radial-gradient
      • Unterstützung der relativen Schriftgröße bei CSS und Skalierbare Vektor Grafiken (SVG)
    • Erste Unterstützung von Cascading Style Sheet V 4 (CSS4)
      • image-rendering Eigenschaft für die Tags integriert
        • img
        • canvas
        • video poster
        • background-image
        • border image
        • Die unterstützten Parameter sind
          • auto
          • optimizeSpeed
          • optimizeQuality
          • -o-crisp-edges
    • Aufenthaltsort ermitteln
      • JSON Api für Google neue Geolocation

 Fazit:

Der Browser arbeitet schnell und sicher. Dazu braucht der Browser im Gegensatz zu Chrome, Firefox und Internet Explorer wenig Speicher, daher eignet sich der Browser auch für ältere Geräte oder Netbooks mit wenig RAM Speicher. Opera ist bei der Integration von neuen Standards im Bereich HTML, CSS und Javascript einer der führenden Browser Hersteller.

 

Inline Frame mit dem Dreamweaver nutzen

Außer dem Inline Frame werden bei HTML5 alle Frames Techniken als technisch veraltet ( deprecated) gekennzeichnet. Frames haben Nachteile bei dem Auffinden von Informationen bei Suchmaschinen. Die komplette Struktur der Webseite kann die Suchmaschine nicht erkennen.

Eine Ausnahme bildet der Inline-Frame der auch iFrame genannt wird. Mit dem iFrame kann der Inhalt einer Webseite innerhalb eines definierten Bereichs einer anderen Webseite dargestellt werden.

Beispiel einer Webseite mit iFrame

iFrame in einer Webseite

iFrame in einer Webseite

 

 

Inline Frames im Dreamweaver erstellen

Im Adobe Dreamweaver ist die iFrame Funktion versteckt zu erreichen. Wählen Sie Einfügen/HTML/Frames/IFRAME aus.

Adobe Dreamweaver CS5 - iFrame Auswahl

Adobe Dreamweaver CS5 - iFrame Auswahl

 Die Attribute können im Dreamweaver im Tab “Tag Inspector” auf der rechten Seite eingegeben werden. Nachfolgend habe ich die Attribute beschrieben. 

Attribute von iFrames

  • src
    Hier wird die URL eintragen
  • name
    Ein eindeutiger Name muss hier angegeben werden
  • width
    Die Breite des iFrames in Pixel angeben
  • height
    Die Höhe des iFrames in Pixel angeben
  • marginwidth
    Der Abstand in Pixel von der linken oberen Seite des iFrames zum linken Rand der Webseite
  • marginheight
    Der Abstand in Pixel von der oberen Seite des iFrames zum oberen Rand der Webseite
  • scrolling
    Einstellung ob ein Scrollbalken verfügbar sein soll.
    • auto” bedeutet dass der Browser prüft ob ein Scrollbalken gebraucht wird
    • mit “yes” wird der Scrollbalken immer angezeigt
    • mit “no” wird kein Scrollbalken angezeigt
  • align
    Die Ausrichtung des iFrames auf der Webseite
    • left” ist linksbündig
    • center” zentriert den iFrame in der Mitte
    • right” stellt den Frame rechtsbündig ein
  • hspace
    Rechte und linke Rahmenbreite in Pixel
  • vspace
    Obere und untere Rahmenbreite in Pixel
  • sandbox
    Mit Hilfe der Sandbox wird die im iFrame dargestellte Webseite in einem geschützten Bereich ausgeführt.

 

Attribute bei Dreamweaver einstellen

Der Tag-Inspektor befindet sich auf der rechten Seite des Dreamweaver. Dort können die Attribute leicht eingestellt werden. 

 

Adobe Dreamweaver CS5 - iframe Einstellung

Adobe Dreamweaver CS5 - iframe Einstellung


 Quellcode Beispiel

 Nachfolgend finden Sie den Quellcode einer HTML Seite mit Inline Frame. 

<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv=”Content-Type” content=”text/html; charset=utf-8″>
<title>Unbenanntes Dokument</title>
</head>

<body>
<h2>Inline Frame mit dem Dreamweaver nutzen</h2>

<p><iframe src=”http://www.arina.mobi” name=”framebereich” width=”600″ height=”400″ marginwidth=”600″ marginheight=”400″ align=”left” scrolling=”auto” frameborder=”0″>Der Browser stellt keine Inline Frames dar.</iframe>&nbsp;</p>
</body>
</html>

 

 

Übersicht zur Erstellung von HTML Webseiten

Hier noch die Übersicht der Beiträge, die für die Erstellung von Webseiten notwendig sind. Mit Hilfe dieser Basisinformation lassen sich die ersten, einfachen Webseiten erstellen.

Übersicht für die Erstellung von HTML Webseiten

 

Tabellen in Webseiten nutzen

Heute wird für das Webdesign meist Cascading Style Sheets verwendet. Trotzdem ist es für Einsteiger interessant, die Möglichkeiten von Tabellen im Webdesign kennenzulernen. Zudem können Daten tabellarisch dargestellt werden. Fangen wir mit der Darstellung von tabellarischen Daten an.

Tabellen werden mit dem Tag <table border=“1“ > … </table> definiert. Die Tabelle wird nun als Zeile betrachtet. In der Zeile gibt es jeweils eine festgelegte Menge an Zellen.

Tabelle <table>

Zeile 1 <tr>

 

Zelle 1 <th>

Zelle 2 <th>

Zelle 3 <th>

 

Zeile 2 <tr>

 

Zelle 1 <td>

Zelle 2 <td>

Zelle 3 <td>

 

Die oben gezeigte Tabelle hat den Quellcode:

<body>
 <h1>Tabellarische Daten</h1>
 
 <table border="1"> <!-- Tabelle -->
 <tr><!-- Zeile 1 -->
 <th>Zelle 1</th>
 <th>Zelle 2</th>
 <th>Zelle 3</th>
 </tr>
 <tr><!-- Zeile 2 -->
 <td>Zelle 1</td>
 <td>Zelle 2</td>
 <td>Zelle 3</td>
 </tr>
 </table>
</body>

 

Bei dem Tag <table> können Attribute eingesetzt werden

Attribut

Beschreibung

align

Ausrichtung der Tabelle: left, center, right

border

Rahmenstärke: in Pixel

cellpadding

Innenabstand des Textes: in Pixel

cellspacing

Abstand der Zellen zueinander: in Pixel

width

Breite der Tabelle: in Prozent oder Pixel

height

Höhe der Tabelle: in Prozent oder Pixel

bgcolor

Tabellenweite Hintergrundfarbe: #RRGGBB

 

Ein Hintergrundbild lässt sich mit Hilfe von CSS einbinden

Der Tag lautet dann

<table border=“0“ style=”background-image:url(background.jpg)”> … </table>

Tabelle mit Hintergrundbild

Tabelle mit Hintergrundbild

Natürlich lässt sich das oben gezeigte Attribut für Hintergrundbilder auch in einer Tabellenzelle einsetzen.

 

Bei den Tabellenzellen gibt es weitere Attribute

Attribut

Beschreibung

align

Ausrichtung der Zelle: left, center, right

bgcolor

Tabellenweite Hintergrundfarbe: #RRGGBB

width

Breite der Zelle: in Prozent oder Pixel

height

Höhe der Zelle: in Prozent oder Pixel

nowrap

Kein Zeilenumbruch

colspan

Zellen zeilenweise verbinden

rowspan

Zellen spaltenweise verbinden

 

Tabellen als Design Vorlage für Webseiten

Viel häufiger als zur Darstellung tabellarischer Daten werden Tabellen für Vorlagen in HTML Webseiten eingesetzt. Sie haben den Vorteil, dass mit Grundkenntnissen schöne Designs erstellt werden können. Wir werden jetzt ein Beispiel erarbeiten.

Die Webseite wird in Bereiche aufgeteilt

Webdesign mit Tabelle

Webdesign mit Tabelle

1. Schritt:

Wir beginnen mit unserer Basis Webseite und stellen die Ränder der Webseite auf 0 Pixel ein. Hier sind die Attribute beim Internet Explorer und dem Browser Firefox unterschiedlich.

 

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
 "http://www.w3.org/TR/html4/loose.dtd">
<html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
 <title>Design Vorlage</title>
 </head>
 <body marginheight="0" marginwidth="0" leftmargin="0" topmargin="0">
 
 </body>
</html>

2. Schritt:

Als nächstes fügen wir die Tabelle für das Grundgerüst ein. Die Rahmenstärke wird mit 1 Pixel definiert und sichtbar. Damit die Zellen sichtbar werden, schreiben wir einen Buchstaben hinein. Bei der ersten Zeile verbinden wir mit colspan die drei Tabellenzellen zu einer Zelle.

Bei der zweiten Zeile fügen wir bei den Zellenattributen mit width die Breite der jeweiligen Spalte ein.

...
<table border="1" cellspacing="0" cellpadding="0" width="100%">
 <tr>
 <td colspan="3">a</td><!-- 3 Zellen verbinden -->
 </tr>
 <tr>
 <td width="200">a</td>
 <td width="*">a</td>
 <td width="3%">a</td>
 </tr>
</table>
...

3. Schritt:

Jetzt bringen wir Hintergrundbilder in die Tabellenzellen ein. Wir setzen den Beginn des Textes nach oben ( vspace=“top“ ) in den Bereichen Menu und Text.

...
<table border="1" cellspacing="0" cellpadding="0" width="100%">
 <tr>
 <td colspan="3" style="background-image:url(images/hawaii_titel.jpg)">a
 <br />
 <br />
 <br />
 <br />
 <br />
 </td><!-- 3 Zellen verbinden -->
 </tr>
 <tr>
 <td width="200" style="background-image:url(images/strand.jpg)">a
 <br />
 <br />
 <br />
 <br />
 <br />
 </td>
 <td width="*">a</td>
 <td width="3%">a</td>
 </tr>
</table>
... 

Ergebnis:

Webseiten Vorlage mit Tabelle

Webseiten Vorlage mit Tabelle

Manche einfache, mobile Geräte unterstützen Cascading Style Sheets nur teilweise. Hier hilft das Tabellen Design weiter.

 

zur Übersicht

 

Mit Hyperlinks die Webseiten verbinden

Mit Hyperlinks werden die Informationen auf Webseiten verbunden. Zudem wird der Nutzer in den Webseiten geführt. Daher sollte genau überlegt werden, was der Nutzer jeweils betrachten kann. Es gibt zwei verschiedene Grundtypen der Verlinkung.

 

Parallele Verlinkung

Die parallele Verlinkung hat den Vorteil, dass die nachfolgenden Ebene von Webseiten direkt ausgewählt werden können.

Webseite parallel verlinkt

Webseite parallel verlinkt

Der Hyperlink führt von der aktuellen Webseite zu weiteren Seiten. Es gibt die Möglichkeit den Hyperlink nur in eine Richtung zuzulassen oder auch einen Rücksprung zu erlauben. Der Rücksprung wird durch einen Hyperlink in der Zielseite realisiert.

 

Serielle Verlinkung

Bei der seriellen Verlinkung kann der Nutzer nur in eine Richtung wechseln oder auch zurück. Wenn der Webseitenwechsel nur in eine Richtung möglich ist, dann spricht man von einem Tunnel. Der Nutzer muss bis zum Ende gehen, damit weitere Webseiten angesehen werden können.

Webseite seriell verlinkt

Webseite seriell verlinkt

In der Praxis werden beide beschriebenen Typen verwendet.

Es gibt zwei verschiedene Möglichkeiten den eine Datei im Dateisystem der Festplatte zu finden.

 

Die absolute Angabe des Pfads

Dies geschieht zum Beispiel bei Microsoft Windows Dateisystemen ausgehend von dem Wurzelverzeichnis c:\.

Beispiel Dateisystem

Beispiel Dateisystem

Wird von der Datei „kontakt.html“ die Grafikdatei „foto2.jpg“ aufgerufen, dann wird folgender Pfad angegeben: „C:\Webseiten\images\foto2.jpg“. Wird nun die Datei foto2 geladen, funktioniert dies auf dem lokalen Computer ohne Fehler.

 

Die relative Angabe des Pfads

Sobald aber die Dateien aus dem Ordner „Webseiten“ und die darin enthaltenen Verzeichnisse auf einen Webserver im Internet geladen werden, liegen die Daten an einem anderen Platz. Dadurch funktionieren Hyperlinks nicht mehr und Grafikdateien werden nicht angezeigt! Daher muss in Webseiten ein relativer Pfad angegeben werden.

Hier wird von dem Verzeichnis ausgegangen, in dem sich die Webseite „kontakt.html“ befindet. Nun sehen wir in der Grafik mit dem Beispiel des Dateisystems, dass sich die Bilddatei „foto2.jpg“ in dem Subverzeichnis „images“ befindet. Somit wird der Pfad „images/foto2.jpg“ angegeben.

Damit Hyperlinks auf dem Webserver funktionieren, muss bei Bildern, Links und Dateien der relative Pfad angegeben werden.

Zum Verlinken wird der Tag <a href=“ziel.htm“>Text</a> verwendet. Wir verwenden unsere Vorlage und verlinken die Menüpunkte.

 

Beispiel:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
 "http://www.w3.org/TR/html4/loose.dtd">
<html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
 <title>Design Vorlage</title>
 </head>
 <body marginheight="0" marginwidth="0" leftmargin="0" topmargin="0">
 <table border="0" cellspacing="0" cellpadding="4" width="100%">
 <tr>
 <td colspan="3" style="background-image:url(images/hawaii_titel.jpg)"
><div align="center"><h1>Hawaii</h1></div>
 <br />
 </td><!-- 3 Zellen verbinden -->
 </tr>
 <tr>
 <td width="200" style="background-image:url(images/strand.jpg)" valign="top">
 <a href="index.html">Startseite</a>
 <br />
 <a href="sonnenuntergang.html">Sonnenuntergang</a>
 <br />
 <a href="straende.html">Strände</a>
 <br />
 <a href="vulkan.html">Vulkan</a>
 <br />
 <a href="kontakt.html">Kontakt</a>
 <br />
 </td>
 <td width="*" valign="top">Text</td>
 <td width="3%">&nbsp;</td>
 </tr>
 </table>
 </body>
</html>

Mit wenigen Zeilen Quellcode ist die Vorlage inklusive der Hyperlinks fertiggestellt.

 

Hyperlinks innerhalb einer Webseite

Zusätzlich gibt es die Möglichkeit mit Hilfe von Ankern innerhalb einer Webseite zu springen. Dazu muss im ersten Schritt ein Anker <a name=“Name des Ankers“></a> gesetzt werden.

Im zweiten Schritt wird der Hyperlink <a href=“#Name des Ankers“>Text</a> eingebunden.

 

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
 "http://www.w3.org/TR/html4/strict.dtd">
<html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
 <title>Langer Text mit Anker</title>
 </head>
 <body>
 <h1>
 <a name="Textbeginn">Hyperlinks mit Anker</a><!-- Anker -->
 </h1>
 
 <div align="center">
 <a href="#Textende">Textende</a><!-- Hyperlink zum Anker -->
 - 
 <a href="#Textbeginn">Textbeginn</a><!-- Hyperlink zum Anker -->
 </div>
 <!-- Hyperlink zum Anker -->
 <br /><br />
 Lorem ipsum dolor sit amet consectetuer Curabitur commodo est wisi volutpat.
 Convallis quis Quisque lacus tincidunt tincidunt nec elit laoreet aliquam
metus. Dignissim Nullam Nulla pellentesque Nam wisi pretium quis tempus 
. Eget sed Sed Sed leo vel Aliquam.
<a name="Textende"></a>
<br /><br />
<div align="center">
 <a href="#Textende">Textende</a><!-- Hyperlink zum Anker -->
 - 
 <a href="#Textbeginn">Textbeginn</a><!-- Hyperlink zum Anker -->
 </div>
 </body>
</html>

 

Hyperlink zu externen Webseiten

Manchmal sollen externe Webseiten verlinkt werden. Dazu wird der Tag <a href=“http://www.html-lernen.de“>Text</a> verwendet. Meist ist es sinnvoll das verlinkte Ziel in einem weiteren Fenster zu öffnen. Dies wird durch das Attribut <a href=“http://www.html-lernen.de“ target=“_blank“>Text</a> ermöglicht.

Hyperlinks zu Email

Praktisch ist der Aufruf eines Email Fensters. Dort ist die Email Adresse eingetragen. Dazu verwenden wir den Tag

<a href=“mailto:email@adresse.de“>Text</a>

Mit subject kann ein Betreff angegeben werden

<a href=“mailto:email@adresse.de?subject=Ein%20Betreff“>Text</a>

Hyperlinks zu Dateien

Mit einem Link können beliebige Dateien gestartet werden. Der dazu notwendige Tag sieht so aus:

<a href=“pfad/dateiname.exe“>Text</a>

 

zur Übersicht

 

HTML5 bietet erweiterte Sicherheit beim iframe Tag

Der HTML Befehl iframe wird häufig genutzt, um eine weitere Webseite innerhalb der aufgerufenen Webseite darzustellen. Allerdings kann dieser Bereich unter Umständen gehackt werden. Aus diesem Grund wird bei HTML5 eine neue Sicherheitsfunktion durch das Attribut sandbox zur Verfügung gestellt.

Mit dem Attribut sandbox können im iframe Einschränkungen gemacht werden

<iframe sandbox=”allow-same-origin">...</iframe>

  1. Obwohl Scripting auf der Webseite erlaubt ist, gilt dies nicht für den Bereich der Sandbox. Die mit dem iframe eingebundene Webseite mit dem Attribut sandbox wird aber im DOM berücksichtigt.
  2. Die eingebundene Webseite von einer anderen URL eingebunden werden, denn es werden sich keine Popup-Fenster öffnen. Eine Kommunikation der fremden Webseite über Datenbank APIs zum Speichern von Daten oder ähnlichen Funktionen ist möglich.

<iframe sandbox=”allow-top-navigation">...</iframe>

Bei dieser Einschränkung kann in den Webseiten innerhalb des iframes Bereichs navigiert werden. Eine Ausweitung der Navigation auf die übergeordnete Webseite ist nicht möglich.

<iframe sandbox=”allow-forms">...</iframe>

Dieses Attribut erlaubt keine Übertragung von Formulardaten innerhalb des Sandbox Bereichs.

<iframe sandbox=”allow-scripts">...</iframe>

Bei diesem Attribut wird im Sandbox Bereich das Scripting nicht erlaubt, wenn eine der nachfolgenden Bedingungen nicht erfüllt ist.

  1. Der User-agent unterstützt Scripting.
  2. Der Nutzer hat für diese Webseite das Scripting zugelassen
  3. Für die Webseite hat kein Flag für Scripting in der Sandbox. Diese Bedingung gilt für den Moment, in dem die Webseite im Browser aufgebaut wird.

Fazit:

Das Attribut sandbox bietet bei eingebundenen Webseiten eine höhere Sicherheit. Bis aber diese Funktionen in den Browsern genutzt werden kann, wird teilweise noch einige Zeit verstreichen. Denn die komplette Implementierung von HTML5 und CSS3 in die Browser dauert nach meiner Erfahrung mehrere Jahre. Bis dahin müssen Entwickler genau prüfen, welche Webseiten mit Hilfe des Tag <iframe> verbunden werden!

 

Browser Vergleich mit neu spezifizierten Formularfeldern von HTML5

HTML5 wird von den Entwicklern der Browser immer mehr implementiert. Dazu habe ich bei heute produktiv nutzbaren Browsern die Unterstützung der in HTML5 neu definierten Formularfelder geprüft.

Liste der Browser zum HTML5 Formulartest

  • Opera 11
  • Chromium 8
  • Firefox 3.6.13
  • Internet Explorer 8

Getestete HTML5 Formularfelder

  • Zahlenauswahl
  • Schieberegler
  • Datumseingabe
  • Zeitauswahl
  • Farbauswahl
  • Sucheingabe
  • Telefonnummer
  • E-mail Adresse
  • URL Eingabe

Wenn die Darstellung der neuen Formularfelder nicht möglich ist, dann sagt die Spezifikation aus, dass ein Standard Formularfeld angezeigt wird.

Die zum Test verwendete HTML5 Webseite kann auch von Ihnen genutzt werden.

HTML5 Testseite fuer Formularfelder

Testergebnisse der unterschiedlichen Browser

Opera 11

Die Formular Unterstützung des Opera 11 ist am weitesten fortgeschritten, wie Sie in den nachfolgenden Bildern entnehmen können.

Opera Formularfeld Zahlenauswahl

Opera Formularfeld Zahlenauswahl

Opera Formularfeld Schieberegler

Opera Formularfeld Schieberegler

Opera Formularfeld Kalendereingabe

Opera Formularfeld Kalendereingabe

Opera Formularfeld Farbauswahl einfach

Opera Formularfeld Farbauswahl einfach

Opera Formularfeld Farbauswahl2

Opera Formularfeld Farbauswahl2

Opera Formularfeld Zeitauswahl

Opera Formularfeld Zeitauswahl

Google Chromium 8

Beim Google Browser Chromium 8 wurde mit der Implementierung der HTML5 Formularfelder begonnen, wie sie den Grafiken entnehmen können.

Chrome Formular Zahlenauswahl

Chrome Formular Zahlenauswahl

Chrome Formular Schieberegler

Chrome Formular Schieberegler

Alle weiteren Formularfelder werden noch nicht unterstützt.

Mozilla Firefox 3.6.13

Der Browser Firefox 3.6.13 von Mozilla unterstützt noch keine Formular Felder von HTML 5. Der Nachfolger Mozilla Firefox 4 ist noch zu testen, wenn er produktiv freigegeben wird.

Firefox 3.6 Formular Zahlenauswahl

Firefox 3.6 Formular Zahlenauswahl

Firefox 3.6 Formular Schieberegler

Firefox 3.6 Formular Schieberegler

Testergebnis Internet Explorer 8

Der Microsoft Internet Explorer 8  kann keines der neuen Formularfelder darstellen. Auch hier ist ein Nachfolger, der Internet Explorer 9 im Beta Test. Allerdings wird der neue Browser nicht für Windows XP zur Verfügung stehen.

Internet Explorer 8 Formularfeld Zahlenauswahl

Internet Explorer 8 Formularfeld Zahlenauswahl

Fazit:

Bei der Implementierung der neuen HTML5 Formularfelder ist von den Herstellern der Browser noch einiges zu tun. Gerade Formularfelder werden im Business Bereich und bei Web 2.0 oft benötigt. Als Ausweichmöglichkeit bleibt das Programmieren der fehlenden Funktionen mit Javascript, PHP oder anderen Scriptsprachen. Dies ist auch zur Unterstützung der älteren Browser Versionen notwendig.

 

Microsoft bietet HTML5 Labs

Microsoft hat sich sich zum Ziel gesetzt HTML5 zu unterstützen. Dazu wird seit kurzem die neue Webseite HTML5Labs angeboten. Dort werden experimentelle und noch nicht produktiv freigegebene Prototypen angeboten, die sich zum Beispiel an den W3C Working Drafts orientieren.

Verfügbare Prototypen auf Microsoft HTML5 Labs

  • IndexedDB
    Hier werden Experimente mit der Speicherung von größeren, strukturierten Daten angeboten
  • WebSockets
    Mit Hilfe dieser Spezifikation wird die Kommunikation über den TCP Socket vereinfacht.