Verfasst von: tekfu | 28.12.2009

HTTP header via Perl

Eigentlich „basics“:

print „Content-type: text/html\n\n“;

aber trotzdem gibt es ein paar interessante Dinge zu beachten:

  1. „Field names are case-insensitive.“
  2. „The order in which header fields with differing field names are received is not significant.“

Siehe: http://www.w3.org/Protocols/rfc2616/rfc2616-sec4.html

Daraus ergeben sich ein paar spannende Möglichkeiten Header in einem Perl-MVC-Framework zu erzeugen.

  1. man nehme einen Hash, der ggf. in einem Singleton Pattern (oder was man sonst so zur Hand hat) lebt, um message-header zu speichern
  2. field-name wird als Hash-Key verwendet und zuvor mittel lc bearbeitet (HTTP header sind ja case-insensitive), damit es keine doppelten Header gibt, falls jemand Content-Type statt Content-type verwendet
  3. field-value ist der Hash-Value
  4. bevor man mit der Ausgabe der Inhalte startet, haut man nun einfach den Hash in beliebiger Reihenfolge via print an STDOUT
  5. print $key .‘:‘. $value .“\n“;
  6. der letzte print sollte „\n\n“ enhalten
  7. fertig ist der HTTP header via Perl

Fu

Advertisements

Kommentar verfassen

Trage deine Daten unten ein oder klicke ein Icon um dich einzuloggen:

WordPress.com-Logo

Du kommentierst mit Deinem WordPress.com-Konto. Abmelden /  Ändern )

Google+ Foto

Du kommentierst mit Deinem Google+-Konto. Abmelden /  Ändern )

Twitter-Bild

Du kommentierst mit Deinem Twitter-Konto. Abmelden /  Ändern )

Facebook-Foto

Du kommentierst mit Deinem Facebook-Konto. Abmelden /  Ändern )

Verbinde mit %s

Kategorien

%d Bloggern gefällt das: