Modifikator veb adresa

Modifikator veb adresa (engl. Rewrite engine) je softver koji se nalazi u Web application framework serveru i služi da modifikuje izgled veb adrese. Ta modifikacija se zove prepravljanje veb adrese (URL-a). Prepravljene veb adrese se koriste da prikažu kraće i kompaktnije veze veb stranica. Ta tehnika dodaje abstraktni sloj između datoteka koje generišu veb stranicu i veb adrese koja se prikazuje.

Namena

Veb sajt sa dinamičnim veb stranicama koriste veb adrese (ili URL) koje generišu stranice sa servera koristeći parametre niske upita. Te veb adrese su obično prepravljene tako da liče na URL statičnih veb stranica sajtova sa hijerarhijom poddirektorijuma. Npr. veb adresa neke viki stranice može da bude:

http://example.com/wiki/index.php?title=Page_title

a da se prepravi da izgleda ovako:

http://example.com/wiki/Page_title 

Neki blog može da ima URL koji šifruje (engl. encode) datume svakog unosa teksta:

http://www.example.com/Blog/Posts.php?Year=2006&Month=12&Day=19

a može da se izmedi da izgleda ovako:

http://www.example.com/Blog/2006/12/19/

što takođe dozvoljava korisniku da izmeni URL da bi video svaki unos u decembru tako što izbaci tekst koji šifruje 19. dan u mesecu što simulira navigaciju u naddirektorijum:

 http://www.example.com/Blog/2006/12/ 

Veb sajt može da prihvati i specijalne izraze preko URL-a u veb pretraživaču (Engl. search engine) kao izraz za pretragu. To dozvoljava korisnicima da pretražuju direktno preko svojih veb pregledača (Engl. browser). Na primer, ovako unešen URL:

 http://example.com/search_term 

će veb pregledač šifrovati pre nego što uputi http zahtev. Server bi mogao to da izmeni u:

http://example.com/search.php?q=search%20term

Mane i prednosti

Postoje prednosti koje dolaze korišćenjem modifikatora veb adresa. Mnoge od njih mogu da važe samo za HTTP servere čije je uobičajno ponašanje da mapira veb adrese u sistem datoteka.

  • Veze su "čistije" i opisnije što poboljšava lakšu upotrebu i za korisnike i sa veb pretraživače.
  • Sprečavaju nepoželjne "inline veze" koje mogu bespotrebno da ometaju protok podataka.
  • Skrivaju unutrašnji rad adresa veb sajtova od posetilaca što ih sprečava da otkriju upite niski koje mogu da ugroze sam veb sajt.
  • Veb sajt može da nastavi sa korišćenjem iste veb adrese čak iako se tehnologija promenila.

Ali korišćenje modifikatora veb adresa može da ima i mane. Ako korisnik, na primer želi da promeni URL kako bi povratio nove podatke, modifikator veb adresa može da sakrije konstrukciju novih upita zbog nedostatka deklarisanih promenljivih. Teško je, na primer odrediti datum u ovako upotrebljenom formatu:

http://www.example.com/Blog/06/04/02/

U ovakvom slučaju, originalni upit je bio od daleko veće koristi jer promenljive ukazuju na dan i mesec:

http://www.example.com/Blog/Posts.php?Year=2006&Month=04&Day=02

Veb okvir

Mnogi veb okviri (Engl. web frameworks) sadrže neki oblik URL modifikatora, ili direktno, ili preko raznih ekstenzionih modula.

  • Apache HTTP Server prepravlja URL preko mod_rewrite modula.[1]
  • URL Rewrite je dostupan kao ekstenzija za Microsoft ISS.[2]
  • Ruby on Rails ima ugrađeni URL modifikator preko Routes[3]
  • Java, a Servlet/Java EE preko OCPsoft URLRewriteFilter and Tuckey UrlRewriteFilter.
  • Java Server Faces, Java EE i Servlet imaju uprošćeni URL modifikator preko PrettyFaces: URLRewriteFilter.
  • Django koristi sistem regularnih izraza.[4]
  • Java Stripes Framework ima integrisanu funkcionalnost URL modifikacije od verzije programa 1.5.[5]
  • Mnogi Perl okviri kao što su Mojolicious i Catalyst imaju tu funkcionalnost.[6]
  • Codeigniter.
  • lighttpd prepravlja URL preko mod_rewrite modula.[7]
  • nginx poseduje modul za URL prepravljanje.[8]
  • Hiawatha HTTP server ima URL alatke (Engl. Toolkit) koji podržavaju URL modifikaciju.[9]
  • Cherokee HTTP server podržava regularne izraze za URL prepravljanje.

Reference

  1. ^ mod_rewrite documentation
  2. ^ URL Rewrite extension for Microsoft IIS
  3. ^ Routes Архивирано на сајту Wayback Machine (9. мај 2008).
  4. ^ Django URLconf
  5. ^ clean urls in Stripes 1.5
  6. ^ Mojolicious::Guides - Mojolicious guide to the galaxy
  7. ^ Docs ModRewrite - Lighttpd - lighty labs
  8. ^ HttpRewriteModule
  9. ^ „URL TOOLKIT part of Hiawatha webserver's manual”. Архивирано из оригинала 22. 03. 2016. г. Приступљено 30. 05. 2013. 

Vidi još

  • .htaccess
  • Apache HTTP Server
  • Content negotiation
  • HTTP
  • Internet Information Server
  • Permalink
  • Zeus Web Server
  • Clean URL

Spoljašnje veze

  • Apache mod_rewrite
  • mod_alias Prostiji Apache modul koji dozvoljava kontrolu i manipulaciju URL-a.
  • Rewrite rule tester Ovaj alat vam dozvoljava da pišete i prepravljate pravila za Apache mod_rewrite.
  • Arithmetic fun with mod_rewrite Objašnjava kako proširiti funkcionalnost mod_rewrite modula.