L O U R I 1 0 1 S t e p h a n B e r g m a n n - - PowerPoint PPT Presentation
L O U R I 1 0 1 S t e p h a n B e r g m a n n - - PowerPoint PPT Presentation
L O U R I 1 0 1 S t e p h a n B e r g m a n n F O S D E M , F e b r u a r y 2 0 1 8 A n a t o m y o f a U R I U R I r e f e r e n c e U R I s c h e m e : / / u s e r
I N S E R T D E S I G N A T O R , I F N E E D E D 2
A n a t
- m
y
- f
a U R I
s c h e m e : / / u s e r i n f
- @
h
- s
t : p
- r
t / p a t h ? q u e r y # f r a g m e n t U R I r e f e r e n c e U R I a u t h
- r
i t y p e r c e n t e n c
- d
i n g : % x x R F C 3 9 8 6 “ U n i f
- r
m R e s
- u
r c e I d e n t i fi e r ( U R I ) : G e n e r i c S y n t a x ”
I N S E R T D E S I G N A T O R , I F N E E D E D 3
A n a t
- m
y
- f
a n I N e t U R L O b j e c t
- B
a c k t
- t
h e m i d ‘ 9 s . . .
- I
n v e n t e d i t s
- w
n j a r g
- n
- G
e t P r
- t
- c
- l
( ) , G e t P a r a m ( ) , G e t M a r k ( )
- p
a r t l y fi x e d ; e v e n m
- r
e c
- n
f u s i n g ( s e t Q u e r y ( ) , s e t F r a g m e n t ( ) )
- O
r i g i n a l l y
- n
l y a c c e p t e d U R L s
- f
a fi x e d s e t
- f
s c h e m e s
- A
l w a y s n
- r
m a l i z e s c
- n
t e n t
- i
f b r
- k
e n w e b s e r v e r n e e d s < h t t p : / / k a p u t t / f
- %2
1 b a r > , I N e t U R L O b j e c t s t i l l g i v e s i t < h t t p : / / k a p u t t / f
- !
b a r >
- S
t i l l i n s i s t s t h a t fi l e U R L s r e q u i r e a n a u t h
- r
i t y c
- m
p
- n
e n t
- <
fi l e : / / / f
- /
b a r > , n
- t
< fi l e : / f
- /
b a r >
I N S E R T D E S I G N A T O R , I F N E E D E D 4
A n a t
- m
y
- f
a U R I ’ s p a y l
- a
d
- <
d a t a : , A %4 2 C %2 >
- A
- >
- c
t e t x 4 1
- %4
2
- >
- c
t e t x 4 2
- C
- >
- c
t e t x 4 3
- %2
- >
- c
t e t x 2
- <
fi l e : / / / f
- /
b a r / b a z . t x t >
- c
- r
r e s p
- n
d s t
- p
a t h n a m e / f
- /
b a r / b a z . t x t
- W
h a t U R L c
- r
r e s p
- n
d s t
- p
a t h n a m e / f
- /
b a r / h ä h . t x t
- <
fi l e : / / / f
- /
b a r / h %C 3 %A 4 h . t x t > ?
I N S E R T D E S I G N A T O R , I F N E E D E D 5
S t a r O f fi c e l e a r n s U n i c
- d
e
- B
e f
- r
e :
- O
n e 8
- b
i t S t r i n g c l a s s
- U
R L s w r i t t e n a s S t r i n g s , p a y l
- a
d m a n i p u l a t e d a s S t r i n g
- A
f t e r :
- T
w
- s
t r i n g c l a s s e s , 8
- b
i t S t r i n g a n d 1 6
- b
i t U n i S t r i n g
- U
R L s w r i t t e n a s e i t h e r , p a y l
- a
d m a n i p u l a t e d a s e i t h e r
- B
u t w h a t i s U n i S t r i n g G e t U R L P a t h ( " fi l e : / / / f
- /
b a r / h %C 3 %A 4 h . t x t " )
- "
/ f
- /
b a r / h ä h . t x t "
- "
/ f
- /
b a r / h à ¤ h . t x t "
I N S E R T D E S I G N A T O R , I F N E E D E D 6
T
- c
- v
e r m y a s s . . .
- E
v e r y I N e t U R L O b j e c t f u n c t i
- n
j u s t g
- t
m
- r
e p a r a m e t e r s
- (
D e f a u l t e d
- n
e s , e v e n w h e r e t h a t m a d e l i t t l e s e n s e )
- E
n c
- d
e M e c h a n i s m :
- A
l l , W a s E n c
- d
e d , N
- t
C a n
- n
i c a l
- D
e c
- d
e M e c h a n i s m :
- N
O N E , T
- I
U r i , W i t h C h a r s e t , U n a m b i g u
- u
s
- r
t l _ T e x t E n c
- d
i n g e C h a r s e t = R T L _ T E X T E N C O D I N G _ U T F 8
- I
N e t U R L O b j e c t ( " fi l e : / / / 1 %2 5 2 $ " ) . G e t M a i n U R L ( W i t h C h a r s e t )
- "
fi l e : / / / 1 %2 $ " ( i . e . , “ 1 $ ” , n
- t
“ 1 %2 $ ” )
I N S E R T D E S I G N A T O R , I F N E E D E D 7
S
- m
e c r e a t i v e i n v e n t i
- n
s
- <
v n d . s u n . s t a r . e x p a n d : $ F O O / b a r / b a z >
- d
e p e n d i n g
- n
F O O , e x p a n d s t
- <
fi l e : / / / s
- m
e / p a t h / b a r / b a z >
- <
v n d . s u n . s t a r . p k g : / / fi l e : %2 F %2 F %2 F f
- %2
F b a r .
- d
t / p a t h / w i t h i n /
- d
t >
- a
u t h
- r
i t y e n c
- d
e s < fi l e : / / / f
- /
b a r .
- d
t >
- a
s s e m b l i n g a n d d i s a s s e m b l i n g s u c h U R L s p r
- v
e d e r r
- r
- p
r
- n
e :
- /
f
- /
b a r b a z .
- d
t < fi l e : / / / f
- /
b a r %2 b a z .
- d
t > < v n d . s u n . s t a r . p k g : / / fi l e %2 F %2 F %2 F f
- %2
F b a r %2 5 2 b a z .
- d
t / . . . >
I N S E R T D E S I G N A T O R , I F N E E D E D 8
U N O t
- t
h e r e s c u e !
- U
N O s e r v i c e s t
- h
a n d l e s u c h U R L s
- c
s s : : u r i : : U r i R e f e r e n c e F a c t
- r
y
- X
U r i R e f e r e n c e p a r s e ( [ i n ] s t r i n g u r i R e f e r e n c e ) ;
- c
s s : : u r i : : V n d S u n S t a r P k g U r l R e f e r e n c e F a c t
- r
y
- X
U r i R e f e r e n c e c r e a t e V n d S u n S t a r P k g U r l R e f e r e n c e ( [ i n ] X U r i R e f e r e n c e a u t h
- r
i t y ) ;
- P
l u s s
- m
e C / C + + s t u f f i n r t l / u r i . h x x
I N S E R T D E S I G N A T O R , I F N E E D E D 9
U N O t
- t
h e r e s c u e !
- U
N O s e r v i c e s t
- h
a n d l e s u c h U R L s
- c
s s : : u r i : : U r i R e f e r e n c e F a c t
- r
y
- X
U r i R e f e r e n c e p a r s e ( [ i n ] s t r i n g u r i R e f e r e n c e ) ;
- c
s s : : u r i : : V n d S u n S t a r P k g U r l R e f e r e n c e F a c t
- r
y
- X
U r i R e f e r e n c e c r e a t e V n d S u n S t a r P k g U r l R e f e r e n c e ( [ i n ] X U r i R e f e r e n c e a u t h
- r
i t y ) ;
- P
l u s s
- m
e C / C + + s t u f f i n r t l / u r i . h x x
- U
N O t
- t
h e r e s c u e ? ! ?
H e s a i d , “ H
- w
m a n y s
- n
g s d i d y
- u
w r i t e ? ” I ’ d w r i t t e n z e r
- ,
I l i e d a n d s a i d , “ T e n . ” “ Y
- u
w
- n
’ t b e y
- u
n g f
- r
e v e r Y
- u
s h
- u
l d h a v e w r i t t e n fi f t e e n . ” ― R e e d / C a l e , W
- r