Canonització (informàtica)

En ciències de la computació, la canonització (abreujat com c14n, on 14 representa el nombre de lletres entre la C i la N; també anomenada estandardització o normalització) és un procés per convertir dades que tenen més d'una representació possible en una forma "estàndard", "normal", o canònica. Això es fa per poder comparar si dues representacions diferents són equivalents, per recomptar el nombre d'estructures de dades diferents, per millorar l'eficiència de diversos algorismes tot eliminant càlculs repetits, o per fer possible una ordenació de les dades.

Exemples d'ús

Servidors web

La canonització dels noms d'arxius és important per la seguretat informàtica. Per exemple, un servidor web pot contenir una regla de seguretat que digui "executar només arxius del directori cgi (C:\inetpub\wwwroot\cgi-bin)". Aquesta regla es concreta en comprovar que la ruta comença per "C:\inetpub\wwwroot\cgi-bin\", i si és així, s'executa l'arxiu.

Amb aquesta premissa de seguretat, hom es pot plantejar la pregunta de si s'hauria d'executar l'arxiu "C:\inetpub\wwwroot\cgi-bin\..\..\..\Windows\System32\cmd.exe". Aquesta ruta puja per l'estructura de directoris (a causa de l'indicador de directoris '..'), i no roman al directori cgi-bin. Si el servidor web acceptés aquesta ruta, posaria en perill la seguretat del lloc web. Si es canonitza la representació del directori, s'obté la representació "C:\Windows\System32\cmd.exe", on ja es pot comprovar que no és una ruta acceptable. aquest tipus de debilitats en la seguretat s'anomenen directory traversal.

Unicode

Les codificacions de longitud variable en l'estàndard Unicode, en particular UTF-8, tenen més d'una possible codificació per a la majoria de caràcters.[1] Això fa que la validació de cadenes de caràcters sigui més complicada, perquè hom ha de considerar totes les possibles codificacions de cada cadena. Una solució de programari que no considerés totes les codificacions tindria el risc d'acceptar cadenes que, de fet, són invàlides, la qual cosa podria provocar errors o permetre atacs des de l'exterior. La solució és permetre una única codificació per a cada caràcter. La canonització és, doncs, el procés de traduir cada cadena de caràcters a la seva única codificació permesa. Una alternativa és que el programari determini si una cadena està en forma canònica, i rebutjar-la si no ho està. En aquest cas, en un context client/servidor, la canonització seria responsabilitat de la part client.

Motors de cerca

En les cerques a internet i en optimització per a motors de cerca, la canonització dels URL té a veure amb el contingut web que pot tenir més d'un URL. El fet de tenir múltiples adreces URL pel mateix contingut web pot causar problemes als motors de cerca, sobretot a l'hora de determinar quin URL s'ha de mostrar en els resultats de la cerca.[2]

Per exemple:

Tots aquests URL apunten a la pàgina inicial de Wikipedia, però un motor de cerca només considerarà un d'ells com a forma canònica de l'URL.

XML

La canonització d'un document XML, definida per l'especificació del World Wide Web Consortium, consisteix a eliminar els espais en blanc dintre de les etiquetes, usar codificacions de caràcters determinades, ordenar les referències a espais de noms, eliminar-ne les redundants, eliminar declaracions XML i DOCTYPE, i transformar adreces URI relatives en absolutes.

Vegem un exemple; donades aquestes dues versions del mateix XML:

  • "<node1>Data</node1>    <node2>Dada</node2>"
  • "<node1>Data</node1> <node2>Dada</node2>"

(noteu els espais en blanc) La forma canonitzada podria ser:

  • "<node1>Data</node1><node2>Dada</node2>"

Noteu que s'han eliminat els espais en blanc; això forma part del procés de canonització.

A continuació es presenten alguns aspectes de la canonització d'un document XML:

  • El document està codificat en UTF-8
  • Els salts de línia es normalitzen a #xA, abans de seguir el procés
  • Es normalitzen els valors dels atributs
  • Se substitueixen les referències d'entitat
  • Les seccions CDATA es substitueixen pel seu contingut caràcter
  • S'eliminen la declaració XML i la declaració del tipus de document
  • Els elements buits es converteixen a parells d'etiquetes inici-final
  • Es normalitzen els espais en blanc fora de l'element de document i dins de les etiquetes d'inici i final
  • Es mantenen els espais en blanc dins el contingut caràcter (exclosos els caràcters eliminats durant la normalització dels salts de línia)
  • Els delimitadors pels valors dels atributs es canvien a cometes dobles
  • Els caràcters especials dins els valors dels atributs i contingut caràcter se substitueixen per referències de caràcter
  • S'eliminen de cada element les declaracions supèrflues d'espais de noms
  • S'afegeixen atributs per defecte a cada element
  • Es corregeixen els atributs xml:base
  • S'imposa l'ordre lexicogràfic en les declaracions dels espais de noms i en els atributs de cada element

Referències

  1. [enllaç sense format] http://www.ietf.org/rfc/rfc2279.txt
  2. Cutts, Matt. «SEO advice: url canonicalization» (en anglès). Matt Cutts: Gadgets, Google, and SEO, 04-01-2006. [Consulta: 28 setembre 2013].

Enllaços externs

Read other articles:

Nick MurphyNick Murphy di Rolling Stone Awards pada bulan Januari 2013Informasi latar belakangNama lahirNicholas James MurphyNama lainChet Faker (2011–16)Lahir23 Juni 1988 (umur 35)AsalMelbourne, Victoria, AustraliaGenreElectronicadowntemposoultrip hopPekerjaanPenyanyipenulis laguInstrumenVokalpianokeyboardbas gitarsynthesizerperkusiprogramminggitarTahun aktif2011 (2011)–sekarangLabelOpulentRemote ControlChess ClubDowntownFuture ClassicMapleMusicDetailArtis terkaitBanksFlumeMarc...

 

Iswan Hasjim Wakil Bupati Halmahera SelatanMasa jabatan23 Mei 2016 – 23 Mei 2021PresidenJoko WidodoGubernurAbdul Ghani Kasuba PendahuluRusdan T HarunaPenggantiPetahana Informasi pribadiLahir2 April 1971 (umur 52) Ternate, Maluku UtaraKebangsaan IndonesiaPartai politikHanura (2016–2018)PKS (2018–2019)Golkar (2019–)Suami/istriYeni Amelia, S.Sos., M.M.Sunting kotak info • L • B Iswan Hasjim, S.T., M.T.[1] (lahir 2 April 1971) adalah Wakil Bupati H...

 

Use of color-coded bandanas in gay and BDSM communities An assortment of handkerchiefs displayed in the back pockets of a man's jeans Part of the LGBT seriesLGBT symbols       Symbols Pink triangle Black triangle Labrys Lambda Handkerchief code Pride flags Rainbow Rainbow crossing Lesbian Gay Bisexual Transgender Pansexual Intersex Aromantic Asexual Non-binary Bear Leather vte The handkerchief code (also known as the hanky code, the bandana code, and flagging) ...

Parliamentary constituency in the United Kingdom, 1832–1983 Not to be confused with Paisley (Scottish Parliament constituency). PaisleyFormer Burgh constituencyfor the House of CommonsMajor settlementsPaisley1832–1983SeatsOneCreated fromRenfrewshire[1]Replaced byPaisley NorthPaisley South Paisley was a parliamentary constituency represented in the House of Commons of the Parliament of the United Kingdom from 1832 until 1983, when it was divided into Paisley North and Paisley South...

 

2018 single by Kygo featuring OneRepublicStranger ThingsAlan Walker remix coverSingle by Kygo featuring OneRepublicfrom the album Kids in Love Released24 January 2018 (2018-01-24)Genre Pop tropical house Length3:41Label Sony Ultra Composer(s) Kyrre Gørvell-Dahll Ryan Tedder Casey Smith Lyricist(s)Ryan TedderProducer(s)KygoKygo singles chronology Kids in Love (2017) Stranger Things (2018) Remind Me to Forget (2018) OneRepublic singles chronology Rich Love(2017) Stranger...

 

Magazine about Russian culture This article needs additional citations for verification. Please help improve this article by adding citations to reliable sources. Unsourced material may be challenged and removed.Find sources: Russian Life – news · newspapers · books · scholar · JSTOR (October 2016) (Learn how and when to remove this template message) Russian LifeA 2009 issue of Russian Life magazineEditorPaul E. Richardson and Maria AntonovaFrequencyBi...

Sungai Chicago yang berwarna hijau selama Hari St. Patrick Sungai Chicago (bahasa Inggris: Chicago River) ialah sungai sepanjang 156 mil yang mengalir di kota Chicago. Setiap tahun pada Hari St. Patrick, sungai ini diwarnai hijau. Sejarah Pada akhir tahun 1700-an, Jean Baptiste Point du Sable membangun pertaniannya di bantaran utara sungai dan di awal abad berikutnya, Fort Dearborn dibangun di bantaran barat sungai ini. Pada tahun 1915, Eastland, perahu pesiar yang didok di Jembatan Clark Str...

 

South Pacific Tennis Classic 1979 Sport Tennis Data 9 ottobre – 14 ottobre Edizione 3a Superficie Erba Campioni Singolare Phil Dent Doppio Ross Case / Geoff Masters 1978 1980 Il South Pacific Tennis Classic 1979 è stato un torneo di tennis giocato sull'erba. Il torneo si è giocato a Brisbane in Australia dal 9 al 14 ottobre 1979. Indice 1 Campioni 1.1 Singolare 1.2 Doppio 2 Collegamenti esterni Campioni Singolare Lo stesso argomento in dettaglio: South Pacific Tennis Classic 1979 - Singo...

 

Species of mammal Chinese hare Conservation status Least Concern  (IUCN 3.1)[1] Scientific classification Domain: Eukaryota Kingdom: Animalia Phylum: Chordata Class: Mammalia Order: Lagomorpha Family: Leporidae Genus: Lepus Species: L. sinensis Binomial name Lepus sinensisJ. E. Gray, 1832 Chinese hare range The Chinese hare (Lepus sinensis) is a species of mammal in the family Leporidae.[2] It is found in China, Taiwan and Vietnam.[1] Taxonomy The Chinese har...

Wilayah zelfbestuur di Sulawesi Tengah, termasuk Poso, 1941. Kerajaan Poso (bahasa Inggris: Kingdom of Poso), adalah sebuah kerajaan yang pernah berdiri di wilayah Poso, Sulawesi Tengah, Indonesia. Wilayah pesisir kerajaan ini dikontrol secara langsung oleh Hindia Belanda pada tahun 1899, dan ditempatkan di bawah Afdeling Gorontalo, Karesidenan Manado.[1] Pada tahun 1906, seluruh wilayah Poso telah diambil alih dan sepenuhnya menjadi bagian dari Hindia Belanda. Referensi ^ Lith, S...

 

本條目存在以下問題,請協助改善本條目或在討論頁針對議題發表看法。 此條目可参照英語維基百科相應條目来扩充。 (2022年12月23日)若您熟悉来源语言和主题,请协助参考外语维基百科扩充条目。请勿直接提交机械翻译,也不要翻译不可靠、低品质内容。依版权协议,译文需在编辑摘要注明来源,或于讨论页顶部标记{{Translated page}}标签。 此條目需要补充更多来源。 (2022年...

 

Peta Nebraska menunjukkan lokasi Lincoln Lincoln merupakan ibu kota negara bagian Nebraska. Penduduknya berjumlah 225.581 jiwa (2005). Kota ini letaknya di bagian tengah. Tepatnya di negara bagian Nebraska. Kota ini memiliki luas wilayah 195,2 km². Kota ini memiliki kepadatan penduduk sebanyak 1.166,9 jiwa/km². Di wilayah metropolitan, berjumlah 266.787 jiwa. Walikotanya saat ini dijabat oleh Chris Beutler dari Partai Demokrat. Pranala luar Situs resmi Artikel bertopik geografi atau te...

This article is about the school district of North Lakewood, Washington. For the school district of the city of Lakewood, Washington, see Clover Park School District. Lakewood School DistrictLocationNorth Lakewood, WashingtonSnohomish County United StatesCoordinates48°09′05″N 122°12′30″W / 48.151285°N 122.208251°W / 48.151285; -122.208251District informationTypePublicMottoA Small District Going Big PlacesGradesK–12Established1914SuperintendentScott Peacoc...

 

Mary Lynn Rajskub Mary Lynn Rajskub (lahir 22 Juni 1971) merupakan seorang aktris berkebangsaan Amerika Serikat yang memiliki keturunan Ceko dan Irlandia. Bermain di film utamanya seperti Mysterious Skin, Legally Blonde 2, Sweet Home Alabama, Dude, Where's My Car?, Man on the Moon, Punch-Drunk Love, The Anniversary Party, Firewall, dan Little Miss Sunshine. Dia dilahirkan di Trenton, Michigan. Dia berkarier di dunia film sejak tahun 1999. Filmografi Tahun Judul Peran Keterangan 1997 Who's the...

 

College in West Bengal BPPIMTTypePrivateEstablished1999; 25 years ago (1999)ChairmanShri Arun PoddarPrincipalSutapa MukherjeeDeanB. N. ChatterjeeDirectorSubir ChoudhuryUndergraduates2440Address137 V.I.P. Road, Kolkata, West Bengal, 700052, India22°37′47″N 88°26′02″E / 22.6296904°N 88.433944°E / 22.6296904; 88.433944CampusUrbanApprovalsAICTEAffiliationsMaulana Abul Kalam Azad University of TechnologyWebsitewww.bppimt.ac.inLocation in Kolkat...

Coppa Italia Serie C 1982-1983 Competizione Coppa Italia Serie C Sport Calcio Edizione 11ª Organizzatore Lega Professionisti Serie C Date dal 22 agosto 1982al 15 giugno 1983 Luogo  Italia Partecipanti 108 Formula Fase a gironi ed eliminazione diretta (A/R) Risultati Vincitore  Carrarese(1º titolo) Secondo  Fano Semi-finalisti  Paganese Sanremese Statistiche Incontri disputati 358 Gol segnati 728 (2,03 per incontro) La Carrarese, vincitrice dell'edizion...

 

For other ships with the same name, see USS Hancock. History United States NameUSS Hancock NamesakeJohn Hancock AcquiredOctober 1775 FateReturned to owner, 1777 General characteristics TypeSchooner Tons burthen72 (bm) Length60 ft (18.3 m) Beam20 ft (6.1 m) PropulsionSails Complement70 officers and enlisted Armament6 × 4-pounder guns Service record Part of: Continental NavyCommanders: Nicholson Broughton John Manley Samuel Tucker John Sellers The first USS Hancock was an a...

 

Japanese manga artist Tatsuya EndoBorn (1980-07-23) July 23, 1980 (age 44)Ibaraki Prefecture, JapanOccupationManga artistNationalityJapaneseEducationIbaraki Kenritsu Koga Daisan High SchoolYears active2000–presentNotable worksSpy × FamilyTistaBlade of the Moon Princess Tatsuya Endo (Japanese: 遠藤 達哉, Hepburn: Endō Tatsuya, born July 23, 1980) is a Japanese manga artist. Endo is best known for creating Tista, Blade of the Moon Princess, and Spy × Family manga series among...

Military action during the first Anglo-Boer War This article needs additional citations for verification. Please help improve this article by adding citations to reliable sources. Unsourced material may be challenged and removed.Find sources: Battle of Elandsfontein – news · newspapers · books · scholar · JSTOR (October 2020) (Learn how and when to remove this message) Battle of ElandsfonteinPart of the First Boer WarAftermath of the battle, in the for...

 

Settlement in northern Israel Place in Northern, IsraelMeron מירון‎ميرونThe tomb of Rabbi Shimon bar Yochai in MeronMeronShow map of Northeast IsraelMeronShow map of IsraelCoordinates: 32°58′55″N 35°26′25″E / 32.98194°N 35.44028°E / 32.98194; 35.44028Country IsraelDistrictNorthernCouncilMerom HaGalilAffiliationHapoel HaMizrachiFounded2000 BCE (Canaanite city) 1200 BCE (Israelite City)750 CE (Meiron)1949 (Israeli moshav)Population (...