Webtechnologien Wintersemester 2024

URI

Uniform Resource Identifier

Bedeutung

  • Identifizierung einer abstrakten oder physischen Ressource durch einen einheitlichen Bezeichner
Name Abk. Identifizierung durch
Uniform Resource Name URN den Inhalt der Ressource
Uniform Resource Locator URL den Ort der Ressource
  • URI: Satz von Regeln: Keine Leerzeichen oder 16 Zeichen, Anfang Buchstabe, danach Buchstabe oder Zahl, vier Triplets getrennt durch Bindestrich
  • URN: Beispiel ISBN (ein Buch, viele Exemplare), MD5, Personalausweisnummer
  • URL:
    • ID durch Ort, unabhängig vom Inhalt, (Bsp. Liste der Übungen)
    • werden benutzt, um Querverweise zu realisieren; erst dadurch entsteht ein Netz, ein Web.
    • Objekte können sein: Web-Seiten, Bilder, Audio-, Video-Dateien oder andere Dokumente
    • Weitere Beispiele: E-Mail-Adresse, Telefonnummer
  • Kann auch beides sein.

Syntax

scheme ":" hierarchical-part [ "?" query ] [ "#" fragment ]
Bezeichner Bedeutung Beispiel
scheme Schema / Protokoll http, https, ftp
authority Anbieter / Server beier.f4.htw-berlin.de:8080
path Pfad /wiki/git/index.html
query Abfrage ?tier=Katze&name=Tom
fragment Teil #Installation
  • hierarchical-part = optionale authority + path
  • Scheme: name + :
  • Authority
    • Instanz, die Namen in diesem Raum (DNS) verwalten kann (z.B. NICs)
    • alles zwischen // und (/ oder ? oder # oder Ende)
  • Query
    • beinhaltet Daten zur Identifizierung von Ressourcen, die nur durch Path nicht genau verortet werden können
    • meist Key-Value, muss aber nicht
    • Reihenfolge egal (nicht hierarchisch)
    • muss URL-kodiert sein
  • Fragment: referenziert eine Stelle innerhalb einer Ressource

Beispiel

URL

  • Benutzerinformation + Host + Port
  • Benutzerinformation veraltet (da als Teil der URL oft als Klartext übertragen / protokolliert)
  • Case ignored: Scheme, Domain
  • Case matters: Path (kann ignoriert werden, vor allem auf Windows – sonst 404)

  • zwei Probleme
    1. Host von klein nach groß, Pfad von groß nach klein
    2. können für Menschen unlesbar sein (nächste Folie)

Wenn es nur so einfach wäre …

http://http://@http://http:// ist eine valide URL

  • User: http
  • Password: //
  • Domain: http
  • (kein Port)
  • Path: //http://

Wohin zeigt https://www.google.com:443+q=elon@tesla.com ?

Quelle

  • URLs sollen menschenlesbar sein, sind sie häufig auch, außer an den Rändern
  • für normale Menschen nicht erlernbar, selbst für Profis manchmal schwer
  • dadurch Phishing leichter
  • und auch für Parser schwierig, siehe SSRF

Varianten

<a href="???">Link</a>

Absolut https://de.wikipedia.org
Absolut (Host) /aufgaben/git-http/
Absolut (Netz) //de.wikipedia.org/styles.css
Relativ ../images/image.png
Relativ (Dokument) #inhaltsverzeichnis

Schemata

crid Fernsehsendungen
data Data-URL: direkt eingebettete Daten
file Dateien im lokalen Dateisystem
ftp File Transfer Protocol
http Hypertext Transfer Protocol
https Hypertext Transfer Protocol Secure
mailto E-Mail-Adresse
sip SIP-gestützter Sitzungsaufbau, z. B. für IP-Telefonie
tel Telefonnummer

URL-Encoding

  • Frei benutzbare Zeichen: A-Z a-z 0-9 - _ . ~
  • Reservierte Zeichen: ! # $ % & ' ( ) * + , / : ; = ? @ [ ]
  • gilt auch für Nicht-ASCII-Zeichen
  • MIME-Type: application/x-www-form-urlencoded
  • Prozent-Kodierung

timon/pumba & simba.mp4timon%2Fpumba%20%26%20simba.mp4

Online-URL-Enkodierer: www.urlencoder.org

  • wie immer, wenn bestimmte Zeichen eine besondere Bedeutung haben, muss es eine Kodierung für diese Zeichen geben (und die Zeichen, durch die man die Kodierung erkennt)
  • Nur bedingt umkehrbar
  • Moderne Browser lösen Kodierung in der Adressleiste auf (Nutzerfreundlichkeit)
  • MIME-Type muss bei POST-Requests gesetzt werden

✨ Neu ✨ Text-Fragments

beispiel.html#:~:text=Eine einzigartiger Ausschnitt im Text
beispiel.html#:~:text=Anfang,Ende
  • bisher war die kleinste linkbare einheit das Fragment
  • neuerdings können auch text-stellen verlinkt werden
  • bei mehreren treffern wird erste benutzt
  • nur Chrome, aber schon in Google-Suchergebnisse integriert