URL Encoding
Version 2.0
Dokument:
URL Encoding
Version:
2.0
Dokumentnamn:
URL_Encoding_sv.pdf
Datum:
2008-08-21
Schenker AB, Stab IT
Sida 2 av 4
Revisionshistorik
Lägg senaste ändringen först!
Datum
Version
Revision
2008-08-21
2.0
Dokumentet uppdaterades.
1999-11-01
1.0
Detta är första gången denna
dokumentation skrivs varför någon
tidigare revisionshistorik ej finns.
Innehållsförteckning
REVISIONSHISTORIK............................................................................................................. 2
1.
BAKGRUND..................................................................................................................... 3
2.
GENERELLT .................................................................................................................... 3
2.1 URLEncode .................................................................................................................... 3
2.2 Teckenset ....................................................................................................................... 3
2.3 MIME-Type ..................................................................................................................... 3
2.4 Tillåtna tecken ................................................................................................................ 3
2.5 Hexadecimal konvertering .............................................................................................. 3
2.6 Containers ...................................................................................................................... 3
3.
LÄS MER ......................................................................................................................... 4
Dokument:
URL Encoding
Version:
2.0
Dokumentnamn:
URL_Encoding_sv.pdf
Datum:
2008-08-21
Schenker AB, Stab IT
Sida 3 av 4
1. Bakgrund
I DB Schenkers WEB Development Rules (WDR) beskrivs kommunikation med Containers. När dessa
används mellan två applikationer som kommunicerar med varandra med HTTP, behöver
serialiseringen konverteras från 8-bitar till ett 7-bits-protokoll. Detta protokoll kallas URLencode. Det
används idag främst för kommunikation mellan en webbläsare och en webbserver.
Alla plattformar har (kan ha) olika teckenset som grund i sina system. För att två system skall kunna
utbyta information mellan sig måste de vara överens om vilket teckenset som gäller.
I WDR är det gemensamma teckensetet bestämt att vara ISO 8859-1, också benämt Latin-1. Detta
teckenset stöds på de flesta plattformar, det är standard i Unix och Windows-världen. Det stora
teckensetet Unicode använder Latin-1 som bas för sina två första block. Någon enstaka tjänst är
justerad till UTF-8.
2. Generellt
URLencode är en 7-bits kod för kommunikation med HTTP. Bortsett tillåtna tecken så ersätts alla
andra med det hexadecimala värdet för tecknet med ett '%' /procent) som prefix. Undantag från denna
regel är ' ' (blanktecken) som ersätts med ett '+' (plus).
OBS !!!! Det är endast datamängden i ett serialiserat meddelande som skall URLencodas. De
delimiters som ingår i meddelandet skall inte konverteras, dvs '=' (lika med) och '&' (Ampersand).
2.1 URLEncode
Baseras på standarden RFC 1738.
2.2 Teckenset
Kommunikationen baserar sig på ISO 8859-1 (Latin-1).
2.3 MIME-Type
Application/x-www-form-urlencode
2.4 Tillåtna tecken
Tillåtna tecken är 'A' till 'Z', 'a' till 'z', '0' till '9'. Dessa tecken behöver inte konverteras. Blanktecken
skall konverteras till ett '+' (plus). Alla andra tecken skall konverteras.
2.5 Hexadecimal konvertering
Alla tecken som skall konverteras skall göra det till tecknets hexadecimala värde (2-ställigt) med ett '%'
(procent) som prefix. De hexadecimala tecknen 'A' - 'F' kan vara antingen gemena eller versala.
Exempel:
Utropstecken ('!') har i ISO 8859-1 det decimala värdet '31' och hexadecimala värdet '21'. Konverterat
får det värdet '%21'.
2.6 Containers
Containers består av en vektor där varje rad i vektorn består av två delar, dels ett namn på en nyckel,
dels dess värde. Serialiserat har det formen Nyckel=Värde&.
OBS !!! Det är endast namnet på nyckeln och dess värde som skall konverteras, inte de två
skiljetecknen '=' och '&'
Exempel:
Dokument:
URL Encoding
Version:
2.0
Dokumentnamn:
URL_Encoding_sv.pdf
Datum:
2008-08-21
Schenker AB, Stab IT
Sida 4 av 4
Om Du skall sända fältet "email" med värdet [email protected] och fältet "code" med värdet
“k%9S2!” till en tjänst, Du kommer då att sända strängen
“email=info%40schenker%2Ecom&code=k%259S2%21&”.
3. Läs mer
Character entity references in HTML 4.0, 24.2 ISO 8859-1
http://www.w3.org/TR/REC-html40/sgml/entities.html
Specification of URL, RFC 1738
http://www.faqs.org/rfcs/rfc1738.html