Internet Info, s.r.o. Lupa Měšec Podnikatel Root Zdroják DigiZone Slunečnice Vitalia TopDrive KupDnes Navrcholu NovýTarif Dobrý web Weblogy Woko Jagg Computer.cz SK: MojeLinky

Vlákno názorů k článku
Kam kráčí HTML?

V.Mlich
V.Mlich (neregistrovaný)
7. 9. 2007 8:37

Validator

Podle mne by kazdy, kdo to s tvorbou webovych stranek mysli vazne, mel pouzivat validator. Plugin do Firefoxu je idealni. Profesional by nemel vzit penize treba za to, co je na strance s timto clankem: nejake unescaped ampersandy atd celkem 9 warningu. I kdyz je zrejme, ze s takovyma blbostma si poradi kazdy prohlizec. Omluvit se da jedine prohresek nutny k potlaceni zname chyby nektereho z prohlizecu.
Lubomir Slovak
7. 9. 2007 10:21

Re: Validator

Môžeš nejaký Plugin do Firefoxu doporučiť?
uživatel si přál zůstat v anonymitě
7. 9. 2007 17:17

Re: Validator

Firebug
uživatel si přál zůstat v anonymitě
10. 9. 2007 20:04

Re: Validator

KaRLiK
KaRLiK (neregistrovaný)
7. 9. 2007 10:45

Re: Validator

Asi jsi nekoukal na stranku na niz odkazuje autor clanku :) Prohlidni si zdrojovy kod, zda Ti prijde validni.
Stranka
Potom zkus stranku predhodit validatoru.
Validace stranky
Mozna tomu nerozumim, ale s Validatorem moc nesouhlasim ;)
stilett
stilett (neregistrovaný)
7. 9. 2007 23:01

Re: Validator

On ten validátor má ale pravdu. Jako XML dokument to je validní. Je tam totiž použit trik. Téměř celý dokument je součástí instrukce pro zpracování (která začíná <? a končí ?>). Když toto odstraníme, tak nám kromě XML deklarace a určení DTD, zbude jenom <q/>, což zcela odpovídá tomu, co je v určení DTD.
Jenže stránka je poslána s hlavičkou text/html, takže je prohlížečem interpretována jinak (jako HTML). Pokud ji pošlete jako application/xhtml+xml, výsledek bude poněkud jiný.
uživatel si přál zůstat v anonymitě
7. 9. 2007 14:07

Re: Validator

Milý V.Mlichu,
ty jsi asi viděl všechny stránky tak akorát na svém disku C:
Hlavní chybou validátoru je to, že neumí zvalidovat dynamicky měněné stránky.
Hrubou chybou je především to, že validator se vždy představuje svým jménem a nenasimuluje jména WWW-klienta, který mu požadavek zadal. A tím nikdo nikdy neví, co vlastně validoval. Různé verze stránek podle jazykové nebo kódové mutace také neuměl.
Ale já jsem zapomněl, že tohle průměrný člověk nechápe, protože je ve škole pan učitel nenaučil, že každá WWW-stránka se musí přenášet, a to se svými http-hlavičkami.
Proto asi těžko někomu vysvětlím, že když programátoři validátoru neumějí toto naprogramovat, jak věrohodné jsou jiné jejich kecy, které validátrem vypisují. - Validátor je tak akorát dobrý pro studenty informatického gymnázia, aby tam udělali maturitu.
ing. Jan Novak
ing. Jan Novak (neregistrovaný)
7. 9. 2007 15:26

Re: Validator

V opera browseru lze nakonfigurovat odesilane hlavicky tak, aby USER_AGENT vypadal jako od uzivatele M$IE (napriklad) a pote uz jen prave tlacitko -> volba Validate.

To ze vy jste uzivatelem zaostaleho browseru, ktery tuto funkci nenabizi neznamena, ze chyba je na strane validatoru, prave naopak.

Ale pokud se vam validator nelibi, muzete hledat chyby manualne, (pokud bych reagoval na nekoho jineho, pravdepodobne bych mu rekl ze muze napsat lepsi, ale clovek s vasimi nazory ani neumi vyuzit jiz hotove - ready-to-use reseni).
uživatel si přál zůstat v anonymitě
7. 9. 2007 16:37

Re: Validator

Pokud jsem si všiml, odkazy výše se týkají validator.w3.org.
Nevím, jak dalece se shoduje programem v Opeře - ale Jeníku, měnit jména User-Agenta uměl už před 10 lety Lynx. (Tak buď Lynx nebo tu Vaši novou Operu by si měli pořídit na W3.OGR pro stahování WWW-stránky - ale to by, pravda, museli být ještě schopni jméno si ono jméno přečíst z požadavku.)
Problém je ale v něčem úplně jiném.
Když je v http-hlavičkách zasílané stránky správně uvedeno Vary: User-Agent, tak onen validátor ani nenapíše upozornění, pozor, validuji třeba jen stránku podstrčenou mě! (Konečně před časem o tom dokonce byl na Lupě příklad.)
Jinak si stejně ale myslím, že je jen pro učitele a žáky středních škol.
Jako důkaz uvádím úvodní stránku Googlu.
On totiž kdyby nějaký programátor odděloval parametry esacpeovaným ampersandem, tak by vypadal jako začátečník, nebo jako člověk, který ve FORTRANU každou proměnnou deklaroval. - Na Googlu je také mají neescapeované!
cbr
cbr (neregistrovaný)
9. 9. 2007 0:25

Re: Validator

Ke google: pokud si představíš miliardy požadavků denně na stránku google.com, tak si asi dokážeš představit kolikrát se ty 4 znaky navíc (pokud bychom escapovali např. 1 ampersand) musí stahovat. No a teď si všimni příšerně nevalidního kódu google.com. Víš, proč tomu tak je? Správně, je to kvůli tomu, že každý B navíc v kódu děla mnoho GB v trafficu na servery google. Proto mají nevalidní, extrémně úsporný kód kde jsou neescapované entity. Prosím nekritizovat, i díky tomu je google tak rychlý ...
Lukas Nevosad
Lukas Nevosad (neregistrovaný)
9. 9. 2007 12:21

Re: Validator

nevim jak je tomu dnes, ale kdysi nedavno kdosi delal test na homepage vyhledavacu a nejuspornejsi kod mel prekvapive Windows Live, zrovna Google mel balast snad pres 50%... Ale jinak souhlas, escapovani ampersandu je opravdu zbytecnost. Z kontextu je vzdy naprosto zrejme, co autor zamyslel.
Michal Kubeček
Michal Kubeček (neregistrovaný)
9. 9. 2007 12:53

Re: Validator

Ale jinak souhlas, escapovani ampersandu je opravdu zbytecnost. Z kontextu je vzdy naprosto zrejme, co autor zamyslel.

Člověku to obvykle jasné je. Ale kód stránky obvykle nezpracovává člověk.

dgx aura:94
dgx
9. 9. 2007 14:05

Re: ValidatorRe: Validator

Naprostá zbytečnost? Tak co třeba znamená tohle:

"www.example.com?param=abc&image"

Podotýkám že &image je entita. Entita nemusí být zakončena středníkem. Vážně je to zřejmé? A kdyby byla zakončena středníkem, bylo by to zřejmější? Asi těžko...

Pokud se nebudou důsledně escapovat ampersandy, není pak možné zjistit, jestli &image je součást parametru "param" nebo samostatný parametr.
Lukas Nevosad
Lukas Nevosad (neregistrovaný)
10. 9. 2007 9:59

Re: ValidatorRe: Validator

Musim, uznat, ze za tenhle priklad mate bod.

Nechce se mi hledat, jestli entita musi byt zakoncena strednikem nebo ne. Podle mne musi, protoze treba Opera to vyzaduje. Ale i kdyby ne - parser bud rozpozna a najde &image v seznamu entit a nahradi ji, nebo ji nanahradi. Pokud si chci byt jisty, ze ji nebude nahrazovat, tak ji vyescapuju, samozrejme. To je ovsem pripad, kdy potrebuji poslat parametr, jehoz nazev se rovna nejake entite. Za temer deset let, co delam web, jsem se s podobnym problemem nesetkal a to pouzivam parametry zasadne s anglickymi nazvy.
dgx aura:94
dgx
10. 9. 2007 16:19

Re: ValidatorRe: ValidatorRe: ValidatorRe: Validator

A třeba parametr "lang" jste nikdy nepoužil? Entita &lang; totiž taky existuje. Podstatné je, že strojově zpracovávaný kód by měl být jednoznačný, takže souhlasím s vaším "pokud si chci být jistý, tak ji vyescapuju", ale s dodatkem, že jistý si chci být vždycky (mimochodem, v XHTML je možné definovat vlastní entity).

Ad středník: In SGML, it is possible to eliminate the final ";" after a character reference in some cases... - nedám ruku do ohně, jestli do "some cases" patří i uvozovky na konci atributu, nebo je potřeba vložit ještě zalomení řádku, každopádně je to fuk. V uvedeném případě by středník mohl být i součástí názvu druhého parametru.

uživatel si přál zůstat v anonymitě
10. 9. 2007 15:23

Re: ValidatorRe: Validator

Tak já jsem pátral, proč mně takto skripty fungují.
Prostě proto, že každý prohlížeč mi skutečně na server odesílá celé &ampimage (tototéž se týka i ∓lt a podobně). Samozřejmě potom záleží na tom, jak parametry zpracuji. (Tedy zdali mi to teprve na serveru nepřepíše nějaká přiblblá IT-nadstavba.)
P.S. Pro přístě bych dxg prosil, než zase začne plácat své teoretické polopravdy, aby uvedl konkrétní prohlížeč, který to tak nědělá. Pořád si myslím, že třeba v Googlu nejsou všichni až tak velcí blbci, jak se tady pá českých expertů naznačuje.
uživatel si přál zůstat v anonymitě
10. 9. 2007 15:28

Re: ValidatorRe: Validator

Zase inteligentní nadstavba:
posílá &image a také třeba &lt
Michal Kubeček
Michal Kubeček (neregistrovaný)
9. 9. 2007 12:52

Re: Validator

pokud si představíš miliardy požadavků denně na stránku google.com, tak si asi dokážeš představit kolikrát se ty 4 znaky navíc (pokud bychom escapovali např. 1 ampersand) musí stahovat

Jestli to měl být vtip, tak se moc nepovedl. Jestli ne, zírám v němém úžasu. Zkuste si rozmyslet, kolik procent provozu by těch pár bytů navíc znamenalo.

dgx aura:94
dgx
9. 9. 2007 14:10

Re: Validator

Ačkoliv kód homepage Google prošel vývojem, prasácký byl vždycky. Ale pokaždé se našlo dost lidí, co by byli ochotni dát ruku do ohně za to, že ten kód je takový, aby byl úsporný / všude fungoval / měl jiné magické schopnosti. A rádi svůj názor podpořili argumentem: "si myslíš, že jsi chytřejší než kodéři z Google?" případně "si myslíš, že si Google nemůže zaplatit ty nejlepší kodéry?".
pepak
pepak (neregistrovaný)
10. 9. 2007 8:21

Re: Validator

V absolutních číslech je sice každý bajt na stránce Googlu znát, ale absolutní čísla nejsou všechno: Gigabajt navíc mě bude trápit na ADSL s FUP 5 GB, ale mezi těmi terabajty, co přenáší Google, se to ztratí. Čísla jsou samozřejmě vymyšlená, ale obsah stránky tuto moji teorii potvrzuje - pokud by opravdu záleželo na každém bajtu, tak Google sice možná nevyhodí obrázkové logo, ale určitě se může zbavit komentářů kolem stylů a javascriptu, zbytečných atributů v body a samozřejmě onload skriptu jako takového, vedle spousty dalších zbytečných bajtíků...
Roman
Roman (neregistrovaný)
11. 9. 2007 18:49

Re: Validator

Pana boha, copak nikdo nevite, ze data se prenasi v paketech a ze je jedno jestli je v paketu 1 nebo 1000 byte dat? Na prenos je to stejne narocne. Nikoli uz na zpracovani, nejednoznacne veci jsou na zpracovani narocnejsi, zere to vykon, zvysuje spotrebu, u mobilnich zarizeni zkracuje zivotnost. Bylo by zajimave spocitat, jakou spotrebu energie zpusobuje prasackost google a dalsich stranek.
zyz
zyz (neregistrovaný)
7. 9. 2007 17:35

Re: Validator

Neviem či to tu už bolo spomenuté, ale Opera má funkciu "Validate" priamo v sebe. Táto funkcia uploadne dokument na stránky validátora - takže vždy sa kontroluje to, čo máte práve zobrazené u seba. Vlastnosť meniť User-Agent string v Opere uz bola spomenutá.

stoural
stoural (neregistrovaný)
7. 9. 2007 19:36

Re: Validator

Co myslite temi dynamicky menenymi strankami? At uz ty stranky delaji cokoliv, jejich vystupem vzdy bude HTML kod. A ten je predmetem validace, nikoliv JavaScript ci jine programovaci technologie.

Proc by mel validator simulovat ruzne klienty? K cemu by to bylo? Validator kontroluje pouze formalni stranku kodu, syntaxi. Nikoliv to, jak stranka vypada v danem prohlizeci. Priznam se, ze absolutne nechapu tyto vase pozadavky.
Lukas Nevosad
Lukas Nevosad (neregistrovaný)
7. 9. 2007 23:10

Re: Validator

narazi se zrejme na to, ze server muze vratit ruzne stranky a predevsim ruzne HTTP hlavicky podle toho, co prijde v HTTP pozadavku. Banalni priklady jsou accept-language, accept-encoding atp. Taky treba muze vracet trochu jiny kod podle toho, jaky je na vystupu prohlizec, i kdyz to uz se dnes snad ani nedela.
uživatel si přál zůstat v anonymitě
10. 9. 2007 14:05

Re: Validator

Odpovídám v souvislosti s článkem z 10.9.
Podívejte se na jizdnirady.idnes.cz a jako jméno agenta použijte třeba abcd.
Zasílat nově přidané příspěvky e-mailem