lomitka "/" a "\" v url

Petr Baudis pasky na pasky.ji.cz
Čtvrtek Září 27 16:53:02 CEST 2001


> >Co hur, kdyz chcete po IE ukazat zdrojak takove stranky, tak AFAIK
> >bezostysne tvrdi, ze je tam normalni lomitko.
> No, a jak má obyčejný člověk poznat, že má chybu ve zdrojáku?
Tak, ze mu to IE bezostysne nesezere a pak jeste netvrdi, ze to je spravne? ;)
 
> V zásadě se interpretuje pouze ./ a ../ a samozřejmě libovolné opakování
> těchto sekvencí.
Interpretuje se minimalne toto:
1. pokud se vyskytuje /^.*?:/ (neboli jmeno protokolu):
  a) kontroluje se, jestli je po jmene protokolu '//', pokud to protokol
     vyzaduje (http, ftp, ale ne mailto, telnet, nebo javascript [i kdyz
     to neni protokol ;])
  b) pote se hleda dalsi nejblizsi '/', a vse az k nemu se bere jako jmeno
     serveru, pripadne port. Pokud jiz zadne neni, bere se cely zbytek URL
     jako jmeno serveru.
v opacnem pripade
  a) pred URL se vlozi jmeno protokolu a serveru z base URL (obvykle URL
     aktualniho dokumentu)
  b) pokud puvodni URL nezacina znakem '/', vlozi se pred URL i cesta
     z base URL, tedy vse az do posledniho znaku '/' v URL
pricemz browser navic _muze_ stripnout z vysledne URL /\.\// a /\/.*?\/..\//,
principielne to ovsem muze serveru podstrcit i takhle..

Jak vidno, pritomnost '/' se v URL testuje pomerne hojne.

-- 

				Petr "Pasky" Baudis
.                                                                       .
        n = ((n >>  1) & 0x55555555) | ((n <<  1) & 0xaaaaaaaa);
        n = ((n >>  2) & 0x33333333) | ((n <<  2) & 0xcccccccc);
        n = ((n >>  4) & 0x0f0f0f0f) | ((n <<  4) & 0xf0f0f0f0);
        n = ((n >>  8) & 0x00ff00ff) | ((n <<  8) & 0xff00ff00);
        n = ((n >> 16) & 0x0000ffff) | ((n << 16) & 0xffff0000);
                -- C code which reverses the bits in a word.
.                                                                       .
My public PGP key is on: http://pasky.ji.cz/~pasky/pubkey.txt
-----BEGIN GEEK CODE BLOCK-----
Version: 3.12
GCS d- s++:++ a--- C+++ UL++++$ P+ L+++ E--- W+ N !o K- w-- !O M-
!V PS+ !PE Y+ PGP+>++ t+ 5 X(+) R++ tv- b+ DI(+) D+ G e-> h! r% y?
------END GEEK CODE BLOCK------


Další informace o konferenci Linux