Februar 2008 Archive

Die meisten meiner Webanwendungen haben, zumindest sofern sie mit HTTP GET arbeiten relativ kryptische URLs, die sich letztlich auf Datenbankschlüssel, Suchparameter und ähnliches zurückführen lassen. Das sieht zwar nicht unbedingt schön aus, hat aber bisher ganz gut funktioniert. Leider scheinen da gegen nicht nur einige Benutzer sondern auch ne ganze Menge Internet Suchmaschineen eine Abneigung zu haben, so dass ich versucht habe das zu ändern, möglichst ohne komplette Anwendungen neu zu schreiben. Die Standardlösung für mich ist mod_rewrite in einen vorgeschalteten Apache einzubinden und zu konfigurieren. Das funktioniert, erfordert aber das ich vor meinen lokalen Tomcat nen Apache httpd schalte, wo mir erst mal der Aufwand zu hoch war. Also habe ich nach einer reinen Java Lösung gesucht und bin fündig geworden. Der UrlRewriteFilter liefert als Servlet Filter sowohl die Möglichkeit ausgehende URLs nach einem bestimmten Muster (auf Basis von Regulären Ausdrücken) zu parsen, als auch eingehen URLs entsprechend einer Konfigurationsdatei umzuändern. Positiver Nebeneffekt der reinen Java Lösung, ist dass Servlet Filter natürlich nicht nur Zugriff auf URLs und Parameter sondern auch auf den ServletContext und die HTTP Session haben. Dadurch kann man sehr schön jedem Link bestimmte Session Parameter (z.B. die aktuelle Sprache oder andere Einstellungen übergeben). Die so erzeugten Links sind dann mehr oder minder Stateless und können problemlos gebookmarkt oder auch weitergegeben werden.
So langsam kommt es mir ja vor als würde dieses Blog ein reines Google Blog werden, aber zur Zeit ist in dem Laden eine gewaltige Innovationsrkaft, was nicht zu letzt an der entsprechenden Finanzkraft die dahinter steht liegen dürfte. Letztes Wochenende bin ich auf die Google Chart API gestoßen. Die Idee ist einfach, die Wirkung aber ziemlich genial. Google bietet einen Dienst an, mit dem man Online durch aufruf einer URL die verschiedensten Charts generieren lassen kann. Sowohl die Parameter zur Darstellung als auch die eigentlichen (Nutz)Daten werden dabei in der URL übergeben. Auf diese Art und Weise habe ich mal eben die Sitzverteilung im Niedersächsischen Landtag dargestellt, ohne Excel, ein Grafikprogramm oder irgendetwas anderes zu bemühen, schlicht durch einbinden des folgenden HTML Codes: Sample chart
<img src=\"http://chart.apis.google.com/chart?
chs=250x150
&amp;chd=t:68,48,12,13,11|0
&amp;cht=p
&amp;chxt=x,y
&amp;chco=000000,AA0000,00AA00,FFFF00,0000AA
&amp;chxl=0:|CDU|SPD|Gr%C3%BCne|FDP|Linke|\"
alt=\"Sample chart\" />
Unfreiwillig habe ich in den letzten Tagen einen Test gemacht, wie sehr Google fehler im HTML Quelltext einer Seite toleriert. Normelerweise ist dieses Blog XHTML komform, zumindest unregelmäßig überprüfe ich das auch beim W3C, wenn ich wollte dürfte ich dann also glatt dieses schöne Logo einbauen:

Valid XHTML 1.0 Transitional

Ich verkneife mir das aber mal, an ein Buch schreibt ja auch niemand drann das es frei von Rechtschreibfehler ist. Durch einen Cut und Paste Fehler hatte ich nun aber versehentlich einen Umbruch mitten in einen Link (<br>) in den Quelltext eingebaut wodurch das XHTML nicht mehr gültig war. Erst fiel es mir nicht auf, sowohl IE als auch Firefox renderten wie erwartet, nur bei Google war die Seite praktisch weg. Der Googlebot scheint nur bis zum ersten Fehler zu analysieren und es dann schlichtweg aufzugeben. Nun ist so ein einmaliges Ergebnis sicherlich nicht repäsentativ aber ein Argument mehr valides (X)HTML auszuliefern.
Eigentlich ist Google ja mit seiner schlichten Startseite berühmt geworden, aber ein paar Auswahlmöglichkeiten gibt es dann ja doch. Sobald man die deutsche Google Startseite aufruft, gibts neben dem Suchfeld noch die Möglichkeit "Seiten in Deutsch" und "Seiten aus Deutschland" zu suchen. Aber wo ist eigentlich Deutschland? Woran erkennt Google, wann eine Seite aus Deutschland kommt. Nach einiger Suche bin ich dabei auf zwei Interessante Post gefunden, offensichtlich scheint für Google sowohl die IP Adresse des Servers als auch die Domain Endung von Bedeutung zu sein. In our understanding of web content, Google considers both the IP address and the top-level domain (e.g. .com, .co.uk). Because we attempt to serve geographically relevant content, we factor domains that have a regional significance. For example, ".co.uk " domains are likely very relevant for user queries originating from the UK. In the absence of a significant top-level domain, we often use the web server's IP address as an added hint in our understanding of content. Noch spannender man kann Google sogar erzählen wo man gerne gefunden werden möchte.

Über dieses Archiv

Diese Seite enthält alle Einträge von Java Blog von neu nach alt.

Januar 2008 ist das vorherige Archiv.

März 2008 ist das nächste Archiv.

Aktuelle Einträge finden Sie auf der Startseite, alle Einträge in den Archiven.