Archive for the ‘Webdesign’ Category

Die HTTP Protokoll Methode HEAD

Mit der HEAD Methode lassen sich Header Informationen abrufen. Diese Methode funktioniert ähnlich wie die GET Methode. In der Antwort des Server wird der Header an den Client (Browser) zurückgesandt. Mit HEAD wird meist geprüft, ob ein Dokument auf dem Webserver zur Verfügung steht. Für die Nutzung der HEAD Methode gibt es noch weitere Gründe. Die Dokumentengröße oder der Dokumententyp wird benötigt. Außerdem kann noch geprüft werden, ob das Dokument neu geladen werden muß.

HEAD Request zum Webserver senden

HEAD / HTTP/1.1
Accept-Encoding: gzip
Accept-Language: de
Accept: image/jpeg, image/gif, */*
Host: test-url.de
User-Agent: Mozilla/5.0 (Windows NT 5.1; rv:9.0.1) Gecko/20100101 Firefox/9.0.1
Connectiion: Keep-Alive

Antwort des Webservers auf den HTTP Request

HTTP/1.1 200 OK
Date: Fri, 30 Dec 2011 19:38:01 GMT
Server: gws
Last-Modified: Fri, 30 Dec 2011 19:37:50 GMT
Content-length: 1267
Accept-Rages: bytes
Connection: close
Content-Type: text/html


Zurück zu den Client Methoden beim HTTP Request

Zurück zur Übersicht >> Einstieg ins HTTP Protokoll

 

Die HTTP Protokoll Methode POST

Mit Hilfe der POST Methode stellt der Browser (oder Client) Daten für den Webserver bereit. Meist sind dies Formulardaten. Die POST Methode wird nicht nur vom Browser eingesetzt, sondern von vielen weiteren Programmen.

Anwendungen die die POST Methode nutzen

  • Datenbankoperationen, wie zum Beispiel Datensatz anlegen, ändern oder löschen
  • CGI-Programme
  • Kommandozeilen nutzende Schnittstellen Programme
  • Gateways die mit Netzwerkdiensten zusammenarbeiten

Meist werden CGI-Programme die POST Methode benutzen und bilden eine Schnittstelle zu weiteren Ressourcen. Die an den Webserver zu übertragenen Daten befinden sich im Body des Dokuments. Die POST Requests beinhalten im Regelfall einen Content-type Header. Dieser beschreibt die Kodierung der URL.

POST Methode am Beispiel eines HTML Formulars

—————HTML Formular——————-

<!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>Beispiel der POST Methode</title>
</head>

<body>
<h2>Formular mit CGI Script übermittelt</h2>

<form name=”form1″ method=”post” action=”/cgi-bin/login.pl”>
<p>Name 
<label>
<input type=”text” name=”benutzer” id=”benutzer”>
</label>
</p>
<p>Passwort 
<label>
<input type=”text” name=”passwort” id=”passwort”>
</label>
</p>
<p>
<label>
<input type=”submit” name=”submit” id=”submit” value=”Senden”>
</label>
<label>
<input type=”reset” name=”Zurücksetzen” id=”Zurücksetzen” value=”reset”>
</label>
</p>
</form>

</body>
</html>

 ————Ende des HTML Formulars—————-

 

POST /cgi-bin/login.pl HTTP/1.1
Host: muster.de
Referer: http://www.muster.de/loginpage.html 
Accept-Encoding: gzip
Accept-Language: de
Accept: image/jpeg, image/gif, */*
Content-type: application/x-www-form-urlencoded
Content-length: 27

benutzer=demo&passwort=neu

Die Antwort des Webservers auf den HTTP Request

HTTP/1.1 200 OK
Date: Fri, 30 Dec 2011 19:38:01 GMT
Server: gws
Last-Modified: Fri, 30 Dec 2011 19:37:50 GMT
MIME-version: 1.0
Content-type: text/html
Content-length: 1234

Das übermittelte Antwortdokument …

 

Zurück zu den Client Methoden beim HTTP Request

Zurück zur Übersicht >> Einstieg ins HTTP Protokoll

 

Die HTTP Protokoll Methode GET

Die GET Methode des HTTP Protokolls ist der am meisten genutzte Request eines Browsers (oder Clients) zum Herunterladen eines Dokuments.

Antworten des Webservers auf einen GET Request

  • Der Webserver stellt eine Datei  zur Verfügung.
  • Das Ergebnis einer Server Transaktion wird zur Verfügung gestellt.
  • Daten eines Hardware Devices, wie zum Beispiel ein Mikrofon, werden übermittelt.
  • Das Ergebnis einer Server Erweiterung, wie Java Server Pages oder eines CGI Skripts, werden zur Verfügung gestellt.

Beispiel eines HTTP Requests mit der GET Methode

GET / HTTP/1.1
Accept-Encoding: gzip
Accept-Language: de
Accept: image/jpeg, image/gif, */*
Host: html-lernen.de
User-Agent: Mozilla/5.0 (Windows NT 5.1; rv:9.0.1) Gecko/20100101 Firefox/9.0.1
Connectiion: Keep-Alive

Antwort des Webservers auf den HTTP Request

HTTP/1.1 200 OK
Date: Fri, 30 Dec 2011 19:38:01 GMT
Server: gws
Last-Modified: Fri, 30 Dec 2011 19:37:50 GMT
Content-length: 1267
Accept-Rages: bytes
Connection: close
Content-Type: text/html

Das übermittelte Dokument …

 

Zurück zu den Client Methoden beim HTTP Request

Zurück zur Übersicht >> Einstieg ins HTTP Protokoll

 

Die Client Methoden beim HTTP Request

Der Browser kann mit Hilfe des HTTP Protokolls Befehle an den Webserver senden. Dazu setzt der Browser (oder auch Webclient genannt) verschiedene Methoden zur Kommunikation ein.

Übersicht der Browser Methoden für HTTP Requests

Die Methoden werden in weiteren Posts beschrieben und mit dieser Webseite verlinkt. Das Glossar bietet eine Übersicht der benutzten Begriffe.

Zurück zur Übersicht >> Einstieg ins HTTP Protokoll

 

Einstieg ins HTTP Protokoll

Kenntnisse des HTTP Protokolls werden von Systemadministratoren und Internet Entwicklern benötigt. Webdesigner können mit diesen Kenntnissen Interaktionen optimieren. Daher werde mit diesem Post eine Artikelserie zum HTTP Protokoll beginnen.

Auf dem HTTP Protokoll basiert das World Wide Web. Es ist das Protokoll für das Handling und den Transport von Webdokumenten und Grafiken verwendet wird.

  • Mit Kenntnisse über das HTTP Protokoll können Sie die Kommunikation zwischen den Clients und den Webservern verstehen.
  • Zudem lassen sich Protokolle optimieren und dadurch Webdienste verbessern.

Die Entwicklung des HTTP Protokolls

Das HTTP Protokoll  zusammen mit HTML und dem URL Konzept von Tim Berners-Lee und Roy Fielding entwickelt. Die Entwicklung startete 1989 am CERN Institut. Im Jahr 1991 wurde die Version 0.9 des HTTP Protokolls fertiggestellt.  Der RFC 1945 enthielt die Anforderungen des HTTP/1.0 und wurde im Mai 1996  veröffentlicht. Eine Ergänzung gab es 1999 mit dem RFC 2616. Dieser entheilt die Spezifikation für das Protokoll HTTP/1.1.

Funktion der HTTP Transaktionen

Die Kommunikation von Webclient (Browser) und der Webserver werden mit Hilfe des HTTP Protokolls geführt. Hier ein Beispiel zu einer einfachen Transaktion.

einfache HTTP Kommunikation

einfache HTTP Kommunikation

 

1 – Webclient sendet Request an den Webserver

(Request-Zeile)GET / HTTP/1.1
Hostwww.google.de
User-AgentMozilla/5.0 (Windows NT 5.1; rv:9.0.1) Gecko/20100101 Firefox/9.0.1
Accepttext/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Languagede,en;q=0.8,ru;q=0.5,ja;q=0.3
Accept-Encodinggzip, deflate
Accept-CharsetISO-8859-1,utf-8;q=0.7,*;q=0.7
Connectionkeep-alive
Cache-Controlmax-age=0

Zeilennummer.     Beschreibung

  1. Die Request-Zeile fordert vom Webserver ein Dokument aus dem Root Pfad “/” an und verwendet die Version 1.1 des HTTP Protokolls.
  2. Hier wird dem Webserver mitgeteilt, wie der Hostname des Clients lautet. Bei HTTP1.1 ist dies eine Mußangabe. Der Webserver kann dadurch den Dokumenten-Pfad zu bestimmen.
  3. Der Webclient (Browser) gibt seine Versionsbezeichnung bekannt. In unserem Fall ist dies Mozilla Firefox V 9.01 auf Windows XP.
  4. In dieser Zeile wird mitgeteilt, welche Dokument Typen akzeptiert werden.
  5. Es werden die akzeptierten Sprachen bekanntgegeben. Dies können, wie in unserem Fall, auch mehrere Sprachen (de=Deutsch; en=Englisch; ru=Russisch; ja=Japanisch) sein.
  6. In dieser Zeile wird bekanntgegeben, dass der Webclient mit gzip und deflate umgehen kann.
  7. Mit Accept-Charset wird dem Server die vom Webclient akzeptierten Zeichensätze bekanntgegeben.
  8. Hier wird dem Webserver mitgeteilt, dass die Verbindung offen zu halten ist. Bei HTTP 1.1 ist dies die Standard Einstellung.
  9. Es wird mitgeteilt, nach wie vielen Sekunden seit dem Abruf das Dokument als veraltet zu betrachten ist.

2 – Response vom Webserver zum Webclient

(Status-Zeile)HTTP/1.1 200 OK
DateFri, 30 Dec 2011 19:38:01 GMT
Expires-1
Cache-Controlprivate, max-age=0
Content-Typetext/html; charset=UTF-8
Content-Encodinggzip
Servergws
Content-Length17133
X-XSS-Protection1; mode=block
X-Frame-OptionsSAMEORIGIN

 Zeilennummer.     Beschreibung

  1. Die Status-Zeile sagt dem Webclient dass die Version 1.1 des HTTP Protokolls verwendet wird. Dann folgt der Statuscode “200“.  Dieser sagt aus, dass das Dokument gefunden wurde und in dem Response enthalten ist.
  2. Die nächste Zeile zeigt das Server Datum und die aktuelle Uhrzeit an. Die Uhrzeit wird immer als Greenwich Mean Time (GMT) angegeben.
  3. Das Expires zeigt an, wie lange sich der Inhalt sich nicht ändern wird. In unserem Fall kann sich der Inhalt jederzeit ändern.
  4. Es wird mitgeteilt, nach wie vielen Sekunden seit dem Abruf das Dokument als veraltet zu betrachten ist.
  5. Der Content-Type gibt den Typ des gesendeten Dokuments an. In unserem Fall ist dies der Quelltext einer Webseite. Dieser Quelltext wird vom Browser in eine Webseite umgewandelt.
  6. In dieser Zeile wird bekanntgegeben, dass der Webserver das Dokument mit mit gzip gepackt hat.
  7. Der Server Typ ist “gws” (Google Webserver).
  8. Die Textlänge des Dokuments ist 17133 Zeichen.
  9. Hier wird durch “1” angezeigt, dass der Cross Side Scripting Filter eingeschaltet ist und der Modus auf blockieren eingestellt ist.
  10. Mit “X-Frame-Options” wird der Clickjacking Schutz gesteuert. Durch die Einstellung “SAMEORIGIN” wird die Webseite angezeigt, wenn keine Überlagerung der originalen Webseite mit einer weiteren Ebene stattfindet.

 

Weiter geht es mit den Client Methoden beim HTTP Request

 

 

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.

 

CSS 2.1 und CSS3 – Hintergrund Eigenschaften

Mit Cascading Style Sheets werden Inhalte von dem Design getrennt. Dadurch lassen sich leicht Designänderungen vornehmen, ohne dass Texte und Bilder einer Webseite neu erstellt werden. Wir betrachten hier auch die Möglichkeiten von Cascading Style Sheet Version 3 ( CSS3 ). CSS3 befindet sich zur Zeit in der Entwicklung und wird teilweise von den aktuellen Browsern unterstützt.

Wir beginnen mit den Hintergrundeigenschaften, die sich mit CSS bieten. Als Voreinstellung ist der Hintergrund transparent. Er kann aber auch mit einer Hintergrundfarbe gefärbt werden.

Hintergrundfarbe mit CSS

Beispiel mit HTML Tag body:

body { background-color:#E0E0E0; }

Die Webseite erhält mit Hilfe des Tags “body“  mit background-color einen hellgrauen Hintergrund.

Beispiel mit externer CSS Datei:

HTML Webseite:

<!DOCTYPE HTML>
<html>
  <head>
  <meta http-equiv=”content-type” content=”text/html; charset=utf-8″>
  <title>Hintergrundfarbe mit CSS</title>
 
  <!– Mit Hilfe der externen CSS Datei “background.css” –>
  <link rel=”stylesheet” href=”Default.css” type=”text/css”>
 
  </head>
  <body>
     Die Webseite mit eingef&auml;rbten Hintergrund …
  </body>
</html>

 

 CSS Datei:

/* CSS Document */

/* Beispiel 1 mit Datei “background.html” */
body {
    background: #f0e68c;
}

 

Ergebnis:

Hintergrundfarbe mit CSS Datei

Hintergrundfarbe einer Webseite mit CSS

 

Hintergrundbild mit CSS

Beispiel mit HTML Tag body:

body { background-image: url(pfad/bilddatei.jpg); }

Ähnlich kann mit dem CSS Befehl background-image und der Angabe eines Pfades zu einer Bilddatei ein Hintergrundbild eingeblendet werden.

Beispiel mit externer CSS Datei:

HTML Webseite:

<!DOCTYPE HTML>
<html>
  <head>
  <meta http-equiv=”content-type” content=”text/html; charset=utf-8″>
  <title>Hintergrundbild mit CSS</title>
 
  <!– Mit Hilfe der externen CSS Datei “background-image.css” –>
  <link rel=”stylesheet” href=”background-image.css” type=”text/css”>
 
  </head>
  <body>
     Die Webseite mit Hintergrundbild …
  </body>
</html>

 

 CSS Datei:

/* CSS Document */

/* Beispiel 1 mit Datei “background-image.html” */
body {
    background-image: url(images/auto.jpg);
}

 

Ergebnis:

background-image with CSS

background-image with CSS

 

Mehrere Hintergrundbilder mit CSS3

Beispiel mit CSS Datei:


background-image: url(pfad/hintergrund.jpg), url(pfad/baum.jpg), url(pfad/himmel.jpg);

background-position: center center, 30% 70%, top center;
background-origin: border-box, content-box, border-box;
background-repeat: no-repeat, no-repeat, no-repeat;

 

background-image

Mit background-image werden die drei Bilder für den Hintergrund geladen.

 

background-position

Durch background-position wird die Position der einzelnen Bilder eingestellt. “center center” gilt für das erste Bild, “30% 70%” für das Zweite und “top center” für das dritte Bild.

Dazu gibt es weitere Parameter

  [ top | bottom ]
oder
  [ <percentage> | <length> | left | center | right ]
  [ <percentage> | <length> | top | center | bottom ]
oder
  [ center | [ left | right ] [ <percentage> | <length> ] und
  [ center | [ top | bottom ] [ <percentage> | <length> ]

 

background-origin

Bei Elementen die nur in einer Box erzeugt werden ist der Befehl background-origin nicht notwendig. Unser Beispiel hat aber drei Elemente. Dazu gibt es drei Parameter.

padding-box

Die Position der aktuellen padding-box ist relativ zur letzten padding-box gesetzt.

 border-box

Die Position der aktuellen border-box ist relativ zur letzten border-box gesetzt.

content-box

Die Position der aktuellen content-box ist relativ zur letzten content-box gesetzt.

 

background-repeat

Der Befehl background-repeat bestimmt, wie ein Bild wiederholt wird.

repeat

Das Bild wird so oft wiederholt bis der verfügbare Platz ausgefüllt ist. Es können auch Teile des Bildes sichtbar sein.

space

Das Bild wird so oft wiederholt bis der verfügbare Platz ausgefüllt ist. Es werden nur vollständige Bilder angezeigt.

round

Durch round wird das Bild so oft wiederholt bis der verfügbare Platz ausgefüllt ist. Es werden nur vollständige Bilder angezeigt und gegebenenfalls das Ausgangsbild in der Größe angepasst.

no-repeat

Mit no-repeat wird das Bild in der ausgewählten Richtung (Horizontal oder Vertikal) nur einmal angezeigt.

 

HTML Webseite:

<!DOCTYPE HTML>
<html>
  <head>
  <meta http-equiv=”content-type” content=”text/html; charset=utf-8″>
  <title>Hintergrundbild mit CSS</title>
 
  <!– Mit Hilfe der externen CSS Datei “more-background-images.css” –>
  <link rel=”stylesheet” href=”more-background-images.css” type=”text/css”>
 
  </head>
  <body>
     Die Webseite mit mehreren Hintergrundbildern …
  </body>
</html>

 

 CSS Datei:

/* CSS Document */

/* Beispiel 1 mit Datei “more-background-images.html” */
body {
    background-image: url(images/auto.jpg);
   
  background-image: url(images/auto.jpg), url(images/endy.jpg), url(images/auto.jpg);
  background-position: center center, 30% 70%, top center;
  background-origin: border-box, content-box, border-box;
  background-repeat: no-repeat, no-repeat, no-repeat;
}

 

Ergebnis:

Mehrere Hintergrundbilder mit CSS 3

Mehrere Hintergrundbilder mit CSS 3

 

 

CSS 3 Generator

Cascading Style Sheets bieten vielfältige Möglichkeiten. Der CSS3 Generator von Randy Jensen bietet einige nützliche Funktionen, die das Design von Webseiten erleichtern.

Funktionsumfang des CSS3 Generators

  • BorderRadius
  • Box Shadow
  • Text Shadow
  • RGBA
  • @Font Face
  • Multiple Columns
  • Box Resize
  • Box Sizing
  • Outline
  • Transitions
  • Transform
  • Selectors
  • Gradients

Der CSS Generator ist in mehrere Abschnitte eingeteilt.

CSS3 Generator

CSS3 Generator

 Im Pulldown Menü [A] kann eine der oben angegebenen Funktionen gewählt werden. Wenn der Mauszeiger auf die Icons [B] der Browser geschoben wird, dann wird zusätzlich die unterstützte Browser Version angezeigt. Im Bereich [C] werden die Parameterwerte eingetragen. Im Vorschau Bereich [D] kann das Ergebnis an einem Beispiel betrachtet werden. Wenn alles den Erwartungen entspricht, kann der CSS Quellcode aus dem Abschnitt [E] kopiert werden.

Fazit:

Gerade für Einsteiger ist der CSS3 Generator ein praktisches Werkzeug um die neuen Cascading Style Sheet Funktionen der Version 3 kennenzulernen.