Autor: | Volker Grabsch |
---|
What makes a cool URI? A cool URI is one which does not change. What sorts of URI change? URIs don't change: people change them.
Typische Gründe:
- Wir mussten die Webseite reorganisieren.
- Ein anderer User verwaltet die Dateien.
- Früher war es ein Perl-Script, jetzt sind es statische Seiten / PHP-Scripte / ...
- Wir würden gern, aber uns fehlen die richtigen Werkzeuge.
Wege zur Besserung:
- URL-Design praktizieren
- URLs müssen langlebig sein
- URLs sollten kurz und leicht zu merken sein
Wie geht das?
URLs müssen die Struktur der Inhalte widerspiegeln
URLs müssen so wenige Informationen wie möglich enthalten:
- keine Autor-Namen
- keine Überschriften
- keine Status-Information ("alt", "Entwurf", ...)
- keine Zugangs-Informationen ("öffentlich", "Mitglieder", ...)
- keine Datei-Endungen
- kein Hinweis auf die benutzte Software (/cgi-bin/, .php, ...)
Life-Präsentation:
- CGI-Parameter
- RewriteRules im VirtualHost
- RewriteRules in .htaccess
- KISS: ScriptAlias
- Optimiertes KISS: ScriptAlias + Alias
from django.conf.urls.defaults import patterns urlpatterns = patterns('', (r'^articles/2003/$', 'news.views.special_case_2003'), (r'^articles/(\d{4})/$', 'news.views.year_archive'), (r'^articles/(\d{4})/(\d{2})/$', 'news.views.month_archive'), (r'^articles/(\d{4})/(\d{2})/(\d+)/$', 'news.views.article_detail'), )
Auflösung von /articles/2005/03/:
news.views.month_archive(request, '2005', '03')
from django.conf.urls.defaults import patterns urlpatterns = patterns('', (r'^articles/2003/$', 'news.views.special_case_2003'), (r'^articles/(?P<year>\d{4})/$', 'news.views.year_archive'), (r'^articles/(?P<year>\d{4})/(?P<month>\d{2})/$', 'news.views.month_archive'), (r'^articles/(?P<year>\d{4})/(?P<month>\d{2})/(?P<day>\d+)/$', 'news.views.article_detail'), )
Auflösung von /articles/2005/03/:
news.views.month_archive(request, year='2005', month='03')