SebastianJu: Aufsplitten einer URL

Beitrag lesen

Also von vorn angefangen kommt das Protokoll wenn angegeben. Identifizierbar durch das Vorkommen von "://" in der URL. Diese Kombination wird wohl nur einmal vorkommen können. Alles davor ist Protokollname.

Ein schema ist bestehend aus [a-z]+:

// leitet bereits den Authority-Part ein, der aber ja nach schema gestaltet ist.
Du musst also expliziter werden welche schema URIs du erfassen willst.

An Protokollen kann eigentlich viel vorkommen. ftp, http, https usw. Eigentlich nur Protokolle die mit dem Browser direkt benutzt werden können ohne Anpassungen. Bzw Protokolle die Suchmaschinen liefern könnten. Zumindest die drei genannten. Und deren Schema dürfte, wenn ich mich nicht irre, relativ ähnlich sein.

Kommt danach ein "?" gibt es GET-Parameter die immer getrennt sind durch "&". Und Variable und Wert sind getrennt durch "=".

Ein ? leitet den Query-String ein. Dessen interne Struktur braucht dich nicht zu interessieren.

In meinem Fall interessiert es nicht wirklich. Aber wenn man wirklich alle Teile einer URL abspeichern will dann könnte das schon dazugehören.

Es kann aber auch sein dass nach dem Dateinamen noch ein "/" kommt und irgendwelche Zeichen.

Der schluss auf eine Datei in einer URI ist gewagt. Welcher Teil einer URI auf eine Ressource zutrifft, weiss nur der behandelnde Server.

Wenn keine Datei angegeben ist dann müsste doch das letzte "/" ein Verzeichnis abschließen in welchem eine Standarddatei liegt wie index.php oder ähnlich die bei Nichtangabe einer Datei dann aufgerufen wird.
Es kann auch ohne "/" am Ende sein aber dann gibt es keine Get-Parameter die mit "?" anfangen dahinter oder würde das hier funktionieren wenn im Verzeichnis dir2 eine index.php liegt? selfhtml.org/dir1/dir2?id=1

Die Frage ist eher, warum du einen URI zerlegen musst.

Ich will in einem Programm URLs sortieren nach meinen Maßgaben. ZB erst der Domainname, dann die Subdomains in umgekehrter Reihenfolge usw.

Grüße!
Sebastian