URL-osoitteen normalisointi
URL-osoitteen normalisointi on prosessi, jolla URL-osoite saatetaan yhtenäiseen muotoon. Normalisointiprosessin tarkoituksena on muuttaa URL-osoite normalisoituun muotoon kahden syntaktisesti erilaisen URL-osoitteen vastaavuuden määrittämiseksi. [yksi]
Hakukoneet käyttävät URL-osoitteen normalisointia vähentääkseen päällekkäisten sivujen indeksointia ja asettaakseen sivut tärkeysjärjestykseen. Hakurobotit suorittavat URL-osoitteen normalisoinnin välttääkseen resurssin uudelleenindeksoinnin. Selaimet voivat suorittaa normalisoinnin määrittääkseen, onko käynti tapahtunut vai onko sivu välimuistissa.
URL-osoitteeseen voidaan soveltaa useita normalisointityyppejä: jotkut säilyttävät alkuperäisen osoitteen , toiset eivät .
Normalisointiprosessi
Normalisoinnit, jotka säilyttävät alkuperäisen oikeinkirjoituksen
Alla luetellut normalisointimenetelmät on kuvattu standardissa RFC 3986 [2] ja ne johtavat vastaaviin URL-osoitteisiin.
- Muunna pieniin kirjaimiin. Kaava ja isäntäkomponentit eivät erota isot ja pienet kirjaimet, ja useimmat normalisoijat muuntavat URL-osoitteet pieniksi kirjaimiksi. Esimerkiksi:
HTTP://www.Example.com/→http://www.example.com/
- Ohjausrakenteiden muuntaminen isoiksi Kaikki merkit, joissa on prosenttiosuus (kuten "%3A"), ovat isoja ja pieniä kirjaimia eroteltuja, ja ne on muutettava isoiksi. Esimerkiksi:
http://www.example.com/a%c2%b1b→http://www.example.com/a%C2%B1b
- Ohjausrakenteiden koodaus eksplisiittisiksi symboleiksi. Prosenttirakenteet käännetään ystävällisiksi merkeiksi liitettävyyttä varten ( alfa ( %41- %5Aja %61- %7A), numeerinen ( %30- %39), yhdysmerkki ( %2D), piste ( %2E), alaviiva ( %5F) tai aaltoviiva ( %7E) ei saa luoda URI-palveluntarjoajien toimesta ja kun tällaisia URI:ita prosenttiosuuksia löytyy, ne on muutettava merkeiksi. [3] Esimerkiksi:
http://www.example.com/%7Eusername/→http://www.example.com/~username/
- Poista oletusportti. Oletusportti (portti 80 http-protokollalle) voidaan poistaa URL-osoitteesta. Esimerkiksi:
http://www.example.com:80/bar.html→http://www.example.com/bar.html
Normalisointi alkuperäisen oikeinkirjoituksen osittaisella säilyttämisellä
http- ja https-protokollien osalta seuraavat RFC 3986 -normalisoinnit voivat johtaa vastaaviin URL-osoitteisiin, mutta standardi ei takaa tätä.
- Viimeisen kauttaviivan lisääminen . Näyttää hakemiston, jonka lopussa on vinoviiva URL-osoitteessa. Esimerkiksi:
http://www.example.com/alice→http://www.example.com/alice/
Ei kuitenkaan voida tietää, sisältääkö URL hakemistopolun vai ei.
RFC 3986 sanoo, että jos alkuperäinen URL-osoite uudelleenohjaa normalisoituun URL-osoitteeseen, tämä on merkki vastaavuudesta .
- Pistesegmenttien poistaminen. Segmentit ".." ja "." voidaan poistaa URL-osoitteesta RFC 3986 :ssa (tai vastaavassa) kuvatun algoritmin mukaisesti . Esimerkiksi:
http://www.example.com/../a/b/../c/./d.html→http://www.example.com/a/c/d.html
Normalisoinnit, jotka muuttavat oikeinkirjoitusta
Käytetään seuraavia normalisointimenetelmiä, jotka johtavat samaan resurssiin johtavien URL-osoitteiden eri kirjoitusasuihin:
- Pääindeksin poistaminen. Esimerkiksi:
http://www.example.com/default.asp→http://www.example.com/
http://www.example.com/a/index.html→http://www.example.com/a/
- Fragmenttien poistaminen. URL-osoitteiden fragmenttiei koskaan näy palvelimella ja voidaan poistaa. Esimerkiksi:
http://www.example.com/bar.html#section1→http://www.example.com/bar.html
AJAX -sovellukset käyttävät kuitenkin usein muuttujia tällaisissa fragmenteissa, ja niiden poistaminen voi johtaa uudelleenohjaukseen toiseen resurssiin.
- IP-osoitteen korvaaminen verkkotunnuksella. Tarkistaa, onko IP-osoitteella verkkotunnus. Esimerkiksi:
http://208.77.188.166/→http://www.example.com/
Käänteinen korvaaminen on harvoin turvallista virtuaalisten verkkopalvelimien käytön vuoksi.
- Protokollatunnisteiden lyhenne. Useat sovelluskerroksen protokollat, kuten https, voidaan kääntää http-muotoon. Esimerkiksi:
https://www.example.com/→http://www.example.com/
- Päällekkäisten vinoviivojen poistaminen Polun kaksi vierekkäistä kauttaviivaa voidaan muuntaa yhdeksi. Esimerkiksi:
http://www.example.com/foo//bar.html→http://www.example.com/foo/bar.html
- "www":n poistaminen tai lisääminen ylätason elementiksi. Jotkut sivustot toimivat kahdella Internet-verkkotunnuksella. Esimerkiksi http://example.com/ja http://www.example.com/voi johtaa yhteen resurssiin. Monet verkkosivustot ohjaavat käyttäjän www -osoitteesta ei-www-osoitteeseen tai päinvastoin. Normalisointialgoritmit voivat havaita nämä uudelleenohjaukset ja kääntää URL-osoitteen vastaavasti. Esimerkiksi:
http://www.example.com/→http://example.com/
- Lajittele kyselyparametrit. Jotkut verkkosivut käyttävät URL-osoitteessa useampaa kuin yhtä parametria. Normalisointialgoritmit voivat lajitella parametrit aakkosjärjestykseen (säilyttää niiden arvot) ja luoda URL-osoitteen uudelleen. Esimerkiksi:
http://www.example.com/display?lang=en&article=fred→http://www.example.com/display?article=fred&lang=en
URL-osoitteen parametrien järjestys voi kuitenkin olla merkittävä (standardien määrittelemätön) ja verkkopalvelin voi sallia muuttujien esiintymisen useita kertoja.
[neljä]
- Käyttämättömien muuttujien poistaminen kyselystä. Sivu voi odottaa vain tiettyjä parametreja, ja käyttämättömät parametrit voidaan poistaa. Esimerkiksi:
http://www.example.com/display?id=123&fakefoo=fakebar→http://www.example.com/display?id=123
Parametri ilman arvoa ei tarkoita, että parametria ei käytetä.
- Poista oletuskyselyn parametrit. Kyselymerkkijonon oletusparametriarvot voivat näyttää saman tuloksen, vaikka niitä ei olisi määritetty. Esimerkiksi:
http://www.example.com/display?id=&sort=ascending→http://www.example.com/display
- Poistetaanko "?" tyhjästä pyynnöstä. Kun kysely on tyhjä, "?"-merkkiä ei ehkä tarvita. Esimerkiksi:
http://www.example.com/display?→http://www.example.com/display
Normalisointi URL-luetteloiden perusteella
Joitakin normalisointisääntöjä voidaan kehittää tietyille verkkosivustoille tarkastelemalla lokin tai palvelimen lokien aikaisemmista tarkistuksista saatuja URL-luetteloita. Jos esimerkiksi URL-osoite
http://foo.org/story?id=xyz
näkyy lokissa useita kertoja yhdessä
http://foo.org/story_xyz
voidaan olettaa, että nämä kaksi URL-osoitetta ovat samanarvoisia ja ne voidaan normalisoida jompaankumpaan muotoon.
Sconfeld ym. vuonna 2006 [5] esittelivät DustBuster-heuristisen järjestelmän, joka havaitsee DUST:t (eri URL-osoitteet, joilla on samanlainen teksti), jotka ovat sääntöjä, joita voidaan soveltaa URL-luetteloihin. He osoittivat, että kun oikeat DUST-säännöt löydettiin ja niitä sovellettiin normalisointialgoritmeihin, he pystyivät löytämään jopa 68 % redundanteista URL-osoitteista URL-luetteloista.
Katso myös
Muistiinpanot
- ↑ RFC3986, 2005 , jakso 6, s. 38.
- ↑ RFC3986, 2005 .
- ↑ RFC3986, 2005 , kohta 2.3.
- ↑ Ben, 2009 .
- ↑ DUST2006, 2006 , s. 1015-1016.
Kirjallisuus