En URLs anatomi
A URL's anatomy
En URL
(Universal Resource Locator) används för att peka ut resurser på webben.
Det finns mycket spännande att utforska och utnyttja med URL:er i testsammanhang.
https
Protokoll-information för överföringsmetod. Brukar bestå av t.ex:
- http
- https
- file
- ftp
- o.s.v.
Om denna utelämnas fyller en webbläsare på med http
, som sedan ofta redirectas till https
av webbservern.
://
hostname.
Valfritt, men nästan alltid förekommande host-namn. Detta är egentligen ett datornamn men många gånger mappar man namn på tjänster som om det vore egna datorer.
Om hostnamn utelämnas används information från webbserverns inställningar eller från .htaccess-filen i katalogen den efterfrågade resursen hämtas från på webbservern (eller närmsta sådana fil uppåt i katalogträdet om sådan saknas).
myorganization.com
Obligatoriskt domän-namn. Detta består av två delar där det avslutande domän-suffixet utgörs av standardiserade 2-4 bokstäver långa landsbeteckningar eller andra reserverade strängar.
/path/to/my/resource/
Sökvägem till efterfrågad resurs håller oftast en logisk struktur och utgör information till webbservern var den kan hitta efterfrågad resurs.
Om resursen är en fil som hämtas med file:// som protokoll kan det i vissa webbläsare accepteras att ha \ istället för / för sökvägar i Microsoft Windows.
Om path utelämnas styr webbserverinställningar eller närmsta .htaccess-filen vilken path man dirigeras till.
Potentiella felkällor
-
Hela URL:en har en egen teckenkodning (URL encoding). Ett mellanrum blir t.ex.
%20
vilket man ser ibland. Det är sällan något bekymmer för själva domännamnet eller host-namn, men det betyder att användarnamn, lösenord och parametrar eventuellt behöver kodas om så att tecken som inte får förekomma i en URL har URL encoding. - För lång URL. Om man har lång sökväg (path) och många parametrar kan sökvägen bli för lång och trunkeras då. Detta sker t.ex. om man har sessions-id:n i URL (vilket ska undvikas eftersom URL kan läsas av alla)-
Trix med URL:er
- Undvik webbcachar: Webbservrar läser vanligen bara de parametrar de är intresserade av, så du kan oftast lägga till egna, t.ex.
minkoll=abc123
eller kanskev=2
innan andra parametrar för att undvika träffar från cache då cache jämför URL för att veta om den har ett svar sparat. - Operativsystemen på datorer har många inbyggda hjälpmedel för att felsöka kommunikationsproblem. I terminalfönster brukar man kunna skriva t.ex.
tracert
,ping
,telnet
,ipconfig
/ifconfig
och mycket mer.