Добре, конкретен въпрос. По какво се отличава хоста от пътя?
Ясно, че ако има порт, то това преди него е хост. А ако няма изрично споменат порт?
Ето и списък на компонентите:
struct URLparts
.scheme dd ?
.user dd ?
.password dd ?
.host dd ?
.port dd ?
.path dd ?
.query dd ?
.fragment dd ?
ends
Примери:
/path/path/file.txt просто абсолютен път на текущия хост (от рута)
path/path/file.txt относителен път на текущия хост, спрямо текущия път.
host/path/file.txt абсолютен път на хоста "host"
https://host/path/file.txt първото след схемата е хоста? Или след двойния слеш?
user@host/path/file.txt първото след юзера е хоста? Или не?
google.com?q=something@myhost/path/ тук хоста е myhost, а не google.com
Реално в момента ми е трудно да предположа как да се различи вторият от третият пример? Или да се промени начина на запис, така че да са различими...
Някакви идеи-коментари?