DOCTYPE neříká nic, podstatný je MIME type
Spousta lidí kolem webdesignu se zjevně pyšní tím, že jejich web je občas XHTML 1.0 STRICT validní. Někam si dají ikonku XHTML 1.0 valid a jsou tak moc moderní... Fakt je ale ten, že prakticky žádný český web skutečně v XHTML nejede. Podstatný je totiž MIME type, který posílá server, nikoliv DOCTYPE v (X)HTML kódu. Pokud je hlavička typu text/html
, jako tomu je u naprosté většiny českých blogů, a nikoliv application/xhtml+xml
, tak si na XHTML jen hrají, ale každý prohlížeč jejich blog zpracovává jako obyčejné 15 roků staré HTML.
Pojďme se podívat na pár nejnavštěvovanějších blogů dle toplist.cz/weblogy.
Web | DOCTYPE | MIME type | Komentář |
---|---|---|---|
5. Pixylophone | XHTML 1.0 Strict | text/html | web je zpracováván jako 15 roků staré HTML, nicméně přesto má ikonky na XHTML validaci, zcela nesmyslnou, nejedná se application/xhtml+xml, která je pro XHTML požadavkem |
8. WELL.DONE Radka Hulána | XHTML 1.0 Strict | application xhtml+xml |
web je jako jediný zpracováván jako moderní XHTML, není problém z něj XSL transformací generovat třeba WML, či verzi pro PDA, při jediné chybě je zpracování zastaveno (není tedy nutné ani ukazovat validační ikonky), klade to ovšem mimořádný důraz na kvalitu redakčního systému |
13. Blog počítačového nadšence | XHTML 1.0 Transitional | text/html | přestože tento web používá velice benevolentní normu Transitional a je zpracováván jako 15 roků staré HTML, není ani podle ní validní... nicméně, alespoň se nepyšní (ani nemůže) odkazy na w3c.org validátor |
16. About newslog a weblog | XHTML 1.0 Strict | text/html | web je zpracováván jako 15 roků staré HTML, mírné plus ovšem je, že Petr se nepyšní nesmyslnými ikonkami XHTML valid, chápe, že používá obyčejné HTML |
23. Internetový Oříšek | XHTML 1.0 Strict | text/html | web je zpracováván jako 15 roků staré HTML, mírné plus ovšem je, že Tomáš se nepyšní nesmyslnými ikonkami XHTML valid, chápe, že používá obyčejné HTML |
36. Přístupnost | XHTML 1.0 Strict | text/html | web je zpracováván jako 15 roků staré HTML, mírné plus ovšem je, že David se nepyšní nesmyslnými ikonkami XHTML valid, chápe, že používá obyčejné HTML |
Samozřejmě, Microsoft Internet Explorer application/xhtml+xml
nezpracuje, je nutné mu servírovat jen text/html
. Jak toto zařídit jsem popisoval v jednom z předchozích článků. Na svém WELL.DONE chystám, pomocí XSLT, rovněž WML verzi a PDA verzi. Je to samozřejmě rovněž možné toto dělat jako skin redakčního systému, a bylo by to i rychlejší, nicméně, pomocí XSLT je to zábavnější :-)
Ano pěkný přehled jen co je pravda, co se týče technické stránky tak jsi na tom nejlíp. Uznávám, jenom bych chtěl upozornit na to, že všichni lidé jenž použivaji/píšou své blogy nejsou "programátoři" ,ale převážně nadšenci, které baví podělit se o své znalosti viz třeba Marigold ten se nebojí přiznat,že mu už před nějakou dobou ujel vlak. cituji nemám se montovat do věcí, kterým nerozumím a nikdy více se nevěnovat něčemu, co zavání tvorbou HTML/CSS stránek. Je to odborník ve svém oboru a píše o něm zasvěceně a velmi čtivě. To je jenom jedna ukázka z mnoha, kde lidé používaji blog jako NÁSTROJ ke komunikaci s komunitou stejně smýšlejících nadšenců.
Vlado Raab - Empy
[1] souhlas, já taky ale nerecenzuji Marigold, ale lidi, co se zabývají, či přímo živí webem..
v tom případě vůbec netuším, jak jsem se ti do výčtu dostal já se svým blogem, když se tvorbou webu nezabývám ani neživím ;-) Jen si občas něco zpatlám.
To rADo : OT - nějak tu blbne charset, chtěl jsem si uložit ten článek o CDMA, protože přes týden jsem offline a kdybych si to pořídil určitě by mi to helflo. Jenže bohužel (teď vidím, že tisková verze je v pohodě) při stažení nejde doladit charset, stejně tak je rozhozen v pdf. Jo a nevím jak ve FF, ale ve Firebirdu (český FF má velké problémy s addons http://forum.czilla.cz/view... takže čekám na opravu, abych mohl reinstalovat) má application/xhtml+xml problémy s otevíráním oken do nového tabu pomocí kolečka myši.
To je velmi zajímavé, já MSIE nepoužívám (respektive používám různé klienty) a stále dostávám hlavičku "Content-Type: text/html; charset=utf-8". Čím to asi bude - že by chybička v CMS? ;-)
[5] asi se neumíte dívat, pane Málek, Opera i Firefox rozhodně dostávají
application/xhtml+xml
;) Že by chybička šéfredaktora Interval.cz? ;)[4] jo, díky, při instalaci jsem zapomněl na změnu charset na UTF-8 pro export do PDF, upraveno :)
app/xhtml+xml je ruzne vyzadovano u ruznych verzi XHTML, dokonce nikde neni MUST, je jen SHOULD. Navic rendering stranky ci validace proti DTD se vazne ridi uvedenym doctypem.
[8] je vidět, že lidé nechápou, co je DOCTYPE a co je MIME type.
Zkus poslat browseru s MIME type
application/xhtml+xml
jeden neuzavřený<p>
tag. Co se stane? Ukončí se zpracování. Proč? Protože se data zpracovávají jako XML.Teď ten samý kód měj s MIME type
text/html
, znovu s DOCTYPE XHTML 1.0 STRICT. Co se stane? No projde to. Proč? Protože to browser chápe jako obyčejné "tag soup", směs znaků, je mu jedno, zda to je či není well-formed, nezpracovává to jako XHTML, ale jako nevalidní HTML!!!Oprav si znalosti, JohnyB ;)
Tady se nejedná vůbec o validaci, ale o to, jak funguje PARSER browseru, a ten se NEŘÍDÍ DOCTYPE, ale MIME type, DOCTYPE jen mění rendering mode, třeba má vliv na to, jak je počítána šířka boxu, ale ne to, zda se použije
HTML
čiXML
parser! A pokud posílám MIME typetext/html
, tak to browser skutečně zpracuje jako HTML. Opera i Firefox. Howgh.Opera a Firefox nejsou jedinými alternativními prohlížeči. ;-)
Rád bych zdůraznil, že NIKDE není řečeno, že XHTML 1.0 se musí posílat jako application/xhtml+xml. Toto platí až o verzi XHTML 1.1, se kterou mohou mít starší prohlížeče (resp. IE až dodnes) problémy. Viz:
HTML a XHTML: Často zodpovídané dotazy
Je tedy hezké, že vy posíláte stránky s jiným MIME typem, nicméně se nedržíte standardu o nic více než výše uvedené weby.
[11] ach jo, pokud bogey ten tvůj odkaz čtu, tak XHTML je XML formát; to znamená, že by mělo být odesláno s media typem z rodiny XML (application/xhtml+xml, application/xml nebo text/xml). Avšak XHTML 1.0 bylo důkladně navrženo, aby pracovalo také na přeživším uživatelském softwaru. Pokud se budete držet několika jednoduchých doporučení, můžete přimět mnoho starých browserů k práci s XHTML 1.0. To rozumí z media typů pouze text/html, takže ho musíte použít, pokud jim odesílate dokument XHTML 1.0. Ale buďte připraveni, že odeslání XHTML dokumentů těmto browserům jako text/html znamená, že je tento software chápe jako HTML dokumenty a nikoliv XHTML.
Jinak řečeno, MIME type
text/html
se parseruje jako prachobyčejné HTML, přestože má DOCTYPE typuXHTML 1.0 STRICT
!! Vícekrát to už zde fakt opakovat nehodlám.. ;) Ale díky za link, který POTVRZUJE moje slova :-)[10] pokud nějaký browser nezasílá v
HTTP_ACCEPT
, že akceptujeapplication/xhtml+xml
, pak to není problém redakčního systému (který mu pošletext/html
), ale chybně napsaného browseru. Opera ani Firefox ani Mozilla touto chybou netrpí, pane Málek ;)Vedro, co?
Ano samozřejmě, nikde jsem ve svém příspěvku netvrdil nic o parsování, či zobrazování, ale o tom, že i XHTML 1.0 lze zasílat jako text/html a stále to bude XHTML 1.0 podle definice standardů W3C, takže vážně nechápu tu srovnávací tabulku s ostatníma webama.
Přišlo mi z tvého článku, že se nám snažíš vsugerovat myšlenku, že jakmile není použit application/xhtml+xml, tak se nejedná o XHTML 1.0 validní stránka, což je samozřejmě nesmysl.
[14] ne, já proboha píšu a 5x opakuji to, že pokud posílám
XHTML 1.0 STRICT
DOCTYPE s MIME typetext/html
, tak jej browser nezpracovává jako XHTML jako obyčejné HTML.. Je tedy naprosto jedno, jestli použiji XHTML 1.0 STRICT, či HTML 4.01 STRICT, pokud můj MIME type neníapplication/xhtml+xml
... Prostě si takovej web jen hraje na XHTML, aby se cítil moderně, ale v praxi to nemá žádný smysl.. ;)Validátor, ten je mimo. Validátor stránku nezobrazuje. Podstatné je, kdy browser použije XML parser, a kdy obyčejný HTML parser, a o tom rozhoduje MIME type, nikoliv DOCTYPE. DOCTYPE, to jsou jen nuance při renderování, ale ne to zásadní rozlišení.
Někam si dají ikonku XHTML 1.0 valid a jsou tak moc moderní... Fakt je ale ten, že prakticky žádný český web skutečně v XHTML nejede.
Radku, validita je syntaktická správnosť dokumentu a nie to s aký mime/type sa posiela.
Keď sa pozrieme do špecifikácie tak ale zistíme, že aj ty máš v niečom pravdu. Robiť by sa to malo ale v tomto prípade to určite nie je absolútne žiadna podmienka validity dokumentu.
No mňa by však zaujímal napríklad taký test, že o koľko sa stránka rýchlejšie zobrazí, keď pošlem namiesto text/html tak ospevované application/xhtml+xml.
Ak tento čas nie je zanedbateľný tak naozaj stojí za to posielať prehliadačom čo to strávia application/xhtml+xml. Ak je naopak tento čas zanedbateľný tak sa tu snažíme robiť veci, ktoré sú úplne zbytočné pre používateľov a zbytočné aj z hľadiska dodržiavania štandardov.
btw ja s tebou nesouhlasim - protoze pokud vim, tak jsem zatim nezaznamenal rozdil mezi text/html a application/xhtml+xml.
[16] vzhledem k tomu, že v případě
application/xhtml+xml
si prohlížeč nemusí domýšlet, jak a kde nechal kodér díru, protože vše MUSÍ být well-formed, tedy žádný tag navíc či méně, tak by to mělo být (v teorii) rychlejší, pokusím se najít nějaký test, nebo jej udělat..Nicméně, toto nebude jediná výhoda XHTML, vidím, že je nejvyšší čas napsat článek další, v čem jsou skutečné výhody.
re: editace příspěvků - pokud je v něčem jen osobní napadání, mažu to a budu to mazat, nesouhlasné věci, ale bez flames, zde veškeré ponechávám... Toto není fórum zive.cz.
hmm. jako je to pekny, ale co mam delat kdyz IE neumi application/xhtml+xml a pritom 98% navstevniku myho webu pouziva IE ????
jo jen tak mimochodem ... porad mi tady vyskakuje javascript error ;-)
No samozrejme striktný parser by mal byť o dosť rýchlejší ako nejaký HTML parser-opravár. Otázne však je či tento čas v porovnaní s dĺžkou renderingu a načítania stránky nie je zanedbateľný.
No to som fakt zvedavý aké sú ďaľšie výhody
application/xhtml+xml
.[20] tak nepoužívej pre-historický MSIE, z roku 2001, ale stáhni si špičkovou Operu či Firefox z roku 2004 ;)
Ale tady nejde vubec o me. Ale o uzivatele, kteri chodi na muj web! Jak je chces prinutit aby nepouzivali IE ????!
rawe normálne si zistíš či dokáže prehliadač akceptovať application/xhtml+xml a keď nie(IE) tak mu pošleš text/html. Kde máš problém?
johno: prave v tom! :-)
Rado se tady "rozciluje" nad tim, ze vsechny "blogy" maji XHTML kod a pritom ho posilaji s MIME text/html. Ale proc?! Protoze prohlizec, ktery ma 95% pokryti neumi application/xhtml+xml.
To si mam jako odriznout 98% svych "klientu" (=uzivatelu) ??!! To bych musel byt blazen! :-)
rave: workingwith
for rawe:
1. IE nemá u blogů podíl 98%. Viz globální statistiky TopListu - http://www.toplist.cz/globa...
2. Není to problém a dá se to ošetřit jedním souborem s jedním řádkem v XHTML kódu navíc. Alespoň se to tak popisuje na http://dsic.zapisky.info/XM...
[25] ti bez znalostí nejvíce křičí ;) pokud by jsi pořádně četl, ošetření zastaralého MSIE (který má na tomto blogu jen 40%), popisuji přímo v tomto článku
rADo: a co si tim radkem vyresil? Ze to pro IE posles jako text/html. To mu muzes rovnou poslat HTML a na XHMTL se muzes vykaslat :-), protoze jak pises tak on tvoje super validni XHTML zpracuje jako 15 let stare HTML.
Ano v tom mas pravdu a tenhle tvuj clanek je OK a ma pravdu. Ale ja se ptam. Co s touhle pravdou, kdyz na mym webu (opakuji na MEM webu, opravdu nemluvim o nejakem blogu) ma IE 98%???
Jiri Macich ml.: Jedine reseni mi tady zatim nabidl Jiri Macich ml., za nej dekuji, protoze jsem ho dosud neznal. A ja se za to nestydim, ze sem ho neznal. Neznam vsechno jako nekdo o jehoz urazky nemam zajem a mel by cast sveho prispevku automaticky vymazat ;-)
Jeste k tomu pokryti IE. Procital jsem si zpetne svuj prispevek a je pravda, ze sem se trochu nepresne vyjadril. Tech 95% sem myslel obecne, ne jen na blogy. To je prece jen trochu svet sam pro sebe :-)
[29] ten "trik" jak MSIE servírovat
application/xml
je k ničemu, stahuje se při něm MNOHEM více dat a dělá XSL transformace ;) ale to jen tak..rADo: OK. Pak jsme ale zase na zacatku :-(
Jak jsem koupil, tak prodávám ;-)
Poněkud absurdní úvaha
přijde lama a vidí - tohle je nejlepší, nejprogresivnější .. hmm... xml, cool, jdu na to, a založí si blog. A protože je lama, používá IE a tak neuvidí, že tam má chyby a v opeře a mozille není vidět nic.
A okolní návštěvníci - strýčci, tetičky, babičky a zákazníci osvícení příbuznými bloggery, kteří začali používat ty "moderní prohlížeče" neuvidí na takových lama blogách taky nic a pak se na to kouknou přes IE a ejhle, vše je ok, a tak zahodí ty divné prohlížeče, co nic neumí, a vrátí se k IE, protože tam je vidět všechno.
A tak se nabízí paranoidní otázka: je Radek stejně jako mnichovští radní tajný agent MS ..nebo ano?
Co jsem tím vlastně chtěla říct: redakční systém by měl být primárně určen pro lidi, kteří neumí nebo nechtějí tvořit vlastní systémy a chtějí jen psát, a těm je srdečně jedno, jakáže ikonka to kde vlaje. Takže technologie, která dokáže zablokovat zobrazení při nějaké chybě, bych se v tomhle případě docela bála. Redakční systém by naopak měl dokázat zobrazit téměř cokoli :-)
HTML a XHTML je formát dokumentu, popisuje jeho strukturu a nemá nic společného s nějakou HTTP hlavičkou. Dokument si můžu z webu uložit na disk a hlavičky jdou do háje.
Napsat redakční systém tak, aby se držel nějaké libovolné normy, není žádný problém. Těžší je spíš tu normu dodržovat při "ručním" psaní kódu.
A když už je redakční systém nějaké normě uzpůsoben, je úplně jedno, jak striktně se na stránku dívá prohlížeč, protože kvalitní HTML kód s patřičným DOCTYPE a validní XHTML s libovolným MIME typem dopadne při renderingu úplně stejně.
Při čtení tvého spotu mě napadají dvě věci: demagogie a self-promo. Ale třeba se pletu :-) Byl jsem na nějaké akci a mám v hlavě docela vymeteno ;-)))
[35] self-promo je důležité ;)
Ale vážněji, to, že podle MIME type browser použije buď parser HTML, či XML, je fakt.. Toto samozřejmě neovlivňuje DOCTYPE, ale MIME type. Více jsem říci nechtěl ;)
Když ony i stránky konsorcia w3c nebo jejich validátor (x)html se pyšní ikonkou xhtml 1.0 strict validní, ale přitom v hlavičce posílají prachobyčejné
text/html
. Bodejť by to pak tak nedělala většina českých weblogů.[36]
No, trochu mě znechucuje, že všechny tvé spoty vyzní jako že přesvědčuješ o své "absolutní pravdě" i u diskovatelných témat. Tento spot mi vyzní nějak takto:
- MIME typ application/xhtml+xml je nutnost
- já mám nejmodernější blog, všichni ostatní jedou podle 15 let starých norem
- XHTML bez MIME typu si na XHTML jen hraje
A přitom to jsou všechno hlouposti.
Čeho dosáhneme, když použijeme uvedený MIME typ? Dosáhneme toho, že stránky se nezobrazí, pokud mají špatný kód. Takže v podstatě je to detekce chyb v kódu. Ale tyto chyby lze detekovat i jinak, například validátorem. S jeho pomocí programátor prostě napíše kvalitní kód, a pak už je úplně jedno, jaký k tomu přišpendlíme MIME typ.
OT: IMHO všechno to soustředění zájmu okolo HTML/CSS/JS je strašně přeceněné - vždyť správně používat těchto pár jazyků je docela jednoduché a zvládají to snad všichni čtenáři tohoto blogu. Potácet se okolo nich, když kapacita mozku má na víc, je v jistém smyslu omezenost... Kdy konečně bloggeři pochopí, že tyhle témata jsou prostě vyčerpaná a nemá smysl se dále zabývat absurdními detaily? Mluvím o komunitě okolo pixyho a spol. Takhle ti lidi programátorsky zakrní. A přímá cesta někam dál nevede. Maximálně k PHP a MySQL, a to taky není žádná výhra ;-)
A ještě něco, když už o takových věcech píšeš, zaměť si před vlastním prahem. Někoho by totiž mohlo napadnout se podívat třeba do zdrojáku stránky http://hulan.cz/webdesign/. A co uvidí na čtvrtém řádku? 15 let staré HTML. :-))
[38] no, já se tímto webem jenom bavím, je to prostě téměř mírně vzrušující, sledovat reakce lidí na určité články ;) Jako hlavní business dělám věci v Oracle a Forte C++, nikoliv MySQL a PHP :) Nicméně, i to PHP a MySQL umím (bohužel) lépe než naprostá většina lidí, co to mají jako 100% pracovní náplň..
[39] no jasně, titulka taky není z r.s., ale statické html
[40]
No to vlastně vysvětluje tón většiny tvých spotů. Myslím že tě tu někdo kdesi nazval "rebel českého internetu". V podstatě jen provokuješ, dráždíš, a pozoruješ reakce. No není špatný! Jen tak dál, a převážně nevážně ;)
Tak nevím, článek už je starší, tak nevím, zda jste nezměnil názor na mime typ, ale pokud používáte pořád tu samou funkci, jak je možné, že mi to na tento požadavek vrátilo
text/html
?GET / HTTP/1.0
Host: hulan.info
Accept: application/xhtml+xml
[42] stáhni si BLOG:CMS a prostuduj si funkci SendContentType ;)
Hm, tak jsem si to prostudoval, otestoval a dle deLorie.com je výsledek:
Content-Type: text/html; charset=utf-8
www.delorie.com
[44] ach jo, zase jeden, co tomu nerozumí, spusť si třeba Firefox a zmáčkni
ctrl+i
, a uvidíšapplication/xhtml+xml
Když už tady pár tupých teenagerů kritizuje, tak proboha, aspoň se předtím něco naučte.. ! Prostě deloire má ve skriptu chybu, takový w3c.org ale ne ;-)
Hm, už jsem to schytal jako "tupý teenager". A to jsem ještě nestačil vlastně nic zkritizovat.
Co kdyby odpověď zněla:
http://www.delorie.com/web/headers.cgi?url=http://myego.cz/item/doctype-nerika-nic-podstatny-je-mime-type
Deloire má ve skriptu chybu, takový http://validator.w3.org/check?uri=http%3A%2F%2Fhulan.info%2Fblog%2F&charset=%28detect+automatically%29&doctype=Inline&verbose=1 ale ne ;-). Kromě toho ve Firefoxu pod "Tools - Page Info" najdeš "application/xhtml+xml"
Zkoušel jsem si stáhnout hlavičku přes telnet a tam to taky ukazuje
Content-Type: text/html
. Potom jsem ale vzal pod drobnohled pakety, které chodí při vyžádání téhle stránky Firefoxem. A skutečně. Tam jeContent Type: application/xhtml+xml
. Stejně je tomu i u Opery. U IE je to jen:Content-Type: text/html
.[46]
Hm ten předchozí komentář jsem nesvázal s tím správným komentářem. Chce to do závorek uvést číslo. No propracovaný systém. To se málokde vidí. Když tak to oprav a tohle smaž.
M.
[46] No a to je to, co je v tom článku špatně. Tedy, že pan Hulán zde tvrdí, že jedině jeho stránky jsou posílány s MIME typem
application/xhtml+xml
a tedy nově, suprově, nejlíp (oproti těm ostatním), ale přitom to není pravda, protože pro MSIE je posílá s MIME typemtext/html
. Takže co je na tom tak suprového, nejlepšího? Musí se mu uznat, že si sice dává tu práci a pro prohlížeče, které to zvládnou, to posílá tak, jak by se mělo, ale pokud je tu jeden nebo více prohlížečů, které to nepodporují a pošle jim top jinak, pak by neměl tvrdit, že to posílá správně, protože v tom případě lže (nic osobního).Je to ale už asi OT.
[48] máte ve Vašem uvažování logickou botu. To, že něco posílám MSIE a zařízením, které XML nezvládají, jako
text/html
, to neznamená, že tento web není v XML, je, koncovým zařízením, které to zvládají posílámapplication/xhtml+xml
, a to například i mobilním telefonům.Kdybych psal pouhé HTML, tak to dělat nemohu, mobilní telefony zastaralé HTML nezobrazí, potřebují well-formed XML.
[2] nejlepsi by teda bylo, kdyby byl problem osvestlen v nejakem kratkym clanku s vysvetlenim! mluvim za komunitu mladych nadsencu, kt. se krasou webovych prezentaci a jejich tvorbu teprve seznamuji
:co teda DTD nebo MIME? atd.
:XML parser, kompatibilita IE 5.x, Mozilla atd.
Predem dekuji!!
PS: Jsem pripraven rvat se, a to jenom proto, že jsem jenom začátečník!!!