Il web è più veloce… se non chiudi i tag

Lunedì 29 Giugno 2009 - 08:48

di Cesare Lamanna

Web Standards

Parola di Google. Apparso nei giorni scorsi su Google Code, Let’s make the web faster è una raccolta di risorse su metodi e tecniche utili nell’ottimizzazione dei tempi di caricamento delle pagine web.

Nel capitolo dedicato ad HTML, si fa riferimento alla HTML 4 DTD e alla facoltà che concede di omettere la chiusura di certi tag (l’articolo comprende la lista completa). Per esempio: <p>questo è un paragrafo..., senza </p>.

Non è solo teoria. Come giustamente viene fatto osservare, la home page di Big G non chiude i tag body e html.

E allora? Tutti pronti a trasformarvi in sterminatori di inutili tag di chiusura :) ?

Tags:

Categoria: Web Standards | Permalink

Commenti

1

I commenti al video parlano da soli, ma almeno ora è chiaro come le “dimenticanze” di Google non siano casuali. Da qui a seguire la stessa pratica però ce ne passa… :)

# - postato da Tommaso Baldovino - 29 Giugno 2009 - 09:11

2

Ma neanche per sogno.

Le mie pagine rimarranno validate xhtml strict, fregandomene di quello che dice google.

# - postato da lloyd27 - 29 Giugno 2009 - 09:14

3

Le mie pagine rimarranno validate xhtml strict, fregandomene di quello che dice google.

IDEM!

# - postato da Baga - 29 Giugno 2009 - 09:25

4

Ma buttiamoci pure da un ponte, se lo dice Google! :-D

# - postato da Elia Contini - 29 Giugno 2009 - 09:31

5

Il web sta andando sempre peggio e se anche HTML 5 permetterà l’omissione dei tag di chiusura si toccherà davvero il fondo (invece del futuro, quel linguaggio rappresenterà un ritorno al passato). Ma perché un linguaggio di markup non deve essere rigoroso come lo sono i linguaggi di programmazione e di scripting? Come può proprio Google incoraggiare queste pratiche dando il cattivo esempio nella sua home? Per quanto mi riguarda, il codice va scritto come si deve e non come “consiglia” Google.

# - postato da Alexandro - 29 Giugno 2009 - 09:37

6

Chissà cosa ne pensano in Microsoft e Yahoo! io preferisco non pensare a certi articoli.
Vedo piuttosto una incredibile dicotomia tra questo articolo, parlo di Google ovviamente, e le recenti affermazioni su un motore di ricerca semantica espresse dalla stessa BigG.
Immagino un motore semantico come qualcosa di estremamente legato alla sintassi del linguaggio (vedi RDF e similia), non oso pensare cosa avranno detto e pensato gli studiosi di questo motore quando hanno letto quelle pagine.
Qui si rema contro! Avrà gridato il più cauto tra gli scenziati, non riporto le frasi scurrili dei meno politically correct :-D

M.

# - postato da Marco Grazia - 29 Giugno 2009 - 09:41

7

assolutamente una strada da non prendere.

quoto lloyd27

# - postato da Michele - 29 Giugno 2009 - 09:42

8

@5:
In riferimento a quanto dici sul confronto tra linguaggi di markup e ling. di programmazione, se ci fai caso, ultimamente tutti i linguaggi che hanno avuto più successo, come ruby e python, sono mooolto più flessibili dal punto di vista della sintassi, per non parlare di php, penso il linguaggio più diffuso per le applicazioni web, che permette anche la non dichiarazioni delle variabili e fa dei casting di tipo assurdi :-). Chi lo dice che l’estrema rigidità sia il bene? Mi sembra che ci sia paura dei cambianenti e che si diffidi nel tornare un po’ sui proprio passi. Guardate anche JS e Ajax, tecnologia vecchia ma che da qualche tempo a questa parte è diventato un must!

# - postato da Giacomo - 29 Giugno 2009 - 09:44

9

Di norma sono sempre molto d’accordo con le opinioni di google
ma questo sta volta veramente mi pare una puttanata di magnitudo 7.5 nella scala delle puttanate :)

# - postato da Marco - 29 Giugno 2009 - 10:17

10

non posso non quotare Elia Contini nel 4…
“buttiamoci pure da un ponte, se lo dice Google!”

però vorrei anche ridimensionare l’indignazione…

non è mica chissacché… perché IMG o HR o li avete chiusi qualche volta?

# - postato da EsseZeta - 29 Giugno 2009 - 10:25

11

secondo me sono fusi di testa in google..
vedo che la tendenza recente di velocizzare a tutti i costi l’esperienza di navigazione web, inizia a fare la sua prima vittime: la buona “programmazione” (o sintassi in questo caso!)

# - postato da simplemal - 29 Giugno 2009 - 10:27

12

@8
Attenzione a non confondere tipizzazione con sintassi e come confrontare mele con pere.
Tutti i linguaggi di programmazione hanno una sintassi rigorosa:
se per esempio in Python si sbaglia l’indentazione o si scorda una parentesi l’interprete protesta;
se in PHP ci dimentichiamo un punto e virgola l’interprete protesta ecc.
Se poi si parla di tipizzazione e dichiarazione di variabili OK nulla da dire.

Sto andando offtopic.

Per quanto riguarda Google c’è anche da dire che se le pagine sono scritte un pò, come dire … lasciamo perdere :-D, è per rendere più difficile la vita ai meta motori di ricerca. Poi se loro la chiamano ottimizzazione … contenti loro :-D

# - postato da Elia Contini - 29 Giugno 2009 - 10:29

13

Io i tag li chiudo e Google può andare a farsi friggere.

# - postato da Daniele - 29 Giugno 2009 - 11:48

14

@10 (EsseZeta):
Certo, io li chiudo sempre: <hr />, <img />, …

^^

# - postato da GreyFox - 29 Giugno 2009 - 11:59

15

Ma poi mi vengono a raccontare che parsare degli tag non chiusi è + veloce che parsare un XML ?! MA STIAMO SCHERZANDO ?!

# - postato da Marco - 29 Giugno 2009 - 12:05

16

volevo poi dire dei tag non chiusi (non degli)
Comunque se così fosse, ovvero che si fa prima a parsare html con tag non chiusi che xml, vorrebbe dire che l’unica cosa che a google interssa davvero è la banda e non il tempo CPU.

# - postato da Marco - 29 Giugno 2009 - 12:19

17

capisco GreyFox… :p
ma appunto… è una convenzione…

vorrà dire che d’ora in poi faremo e quando non c’è più codice si intende che il body è chiuso

covenzione per convenzione cosa cambia? io smetto di meravigliarmi e di sorprendermi e anche di indignarmi…
ho deciso di adeguarmi…

l’ho fatto per le tabelle… (eppure mi avevano insegnato che la pagina web si fa con table…)
mi sbatto con i margini negativi per avere i contenuti prima di tutto e quindi SEO orientati…
lo farò anche per questo…
se lo dice il capo G… :(

# - postato da EsseZeta - 29 Giugno 2009 - 12:34

18

è saltato il tag nella frase che segue…
“vorrà dire che d’ora in poi faremo e quando non c’è più codice si intende che il body è chiuso”

# - postato da EsseZeta - 29 Giugno 2009 - 12:35

19

[…] Fonte Share and Enjoy: […]

# - postato da Caricamento più veloce delle pagine web senza la chiusura dei tag html! PAROLA DI GOOGLE! | PcExpert - 29 Giugno 2009 - 13:30

20

Questa poi… E’ come togliere gli sportelli alla macchina per farla più leggera :D

# - postato da Giovanni - 29 Giugno 2009 - 14:52

21

Io invece trovo sempre interessante osservare bigG..teniamo presente che sui miliardi di richieste effettuate ai server di google, anche un risparmio di qualche centinaio di byte diventa significativo.
Tempo fa google aveva monetizzato ogni millisecondo in più impiegato ad aspettare il caricamento delle sue pagine (perchè la velocità è un valore), e non mi stupisce che si adoperi in ogni modo per migliorare la user experience.

# - postato da Alberto Sarullo - 29 Giugno 2009 - 17:51

22

@21

Quello del risparmio di banda in relazione al numero di connessioni potrebbe essere una ragione plausibile ma cozza col fatto che le pagine di Google sono farcite con CSS e script Javascript interni.

Se volessero davvero risparmiare banda dovrebbero separare i CSS ed i Javascript e sfruttare le connessioni HTTP 1.1 (ormai standard) ed i GET condizionali.

Penso che rimarremo col dubbio :-D

# - postato da Elia Contini - 29 Giugno 2009 - 18:34

23

Non so voi ma non penso che quelli di Google si siano dimenticati di chiudere i vari tag perchè non sanno programmare eh…evidentemente avranno le loro motivazioni.

“secondo me sono fusi di testa in google..
vedo che la tendenza recente di velocizzare a tutti i costi l’esperienza di navigazione web, inizia a fare la sua prima vittime: la buona “programmazione” (o sintassi in questo caso!)”

eheh certo, il fiorfiore di ingengeri che lavora per Google ha dimenticato le norme della “buona programmazione” (che cosa voglia dire questo poi.. boh) :) Senza polemica, ma mi sembra una tesi abbastanza ingenua.

“Ma perché un linguaggio di markup non deve essere rigoroso come lo sono i linguaggi di programmazione e di scripting?”

Forse perchè sono due cose che non c’entrano assolutamente nulla e che hanno scopi estremamente diversi?

# - postato da Fabio - 29 Giugno 2009 - 20:31

24

glie lo spieghi poi te ai browser
minimo la non chiusura dei tag introdurrebbe ulteriori bug di rendering
no grazie
Al massimo se proprio google non vede l’ora di parsare fuffa incomprensibile potrebbe fornirci un compilatore per rimuovere tale fuffa.
Ma poi vedo comunque altri problemi
tipo l’html che sputi non è quello che finisce nel DOM

ma vi rendete conto della quantita di macello che genererebbe una cosa del genere ?
o forse no e tutto funziona come prima (ma non ci credo)

# - postato da Marco - 29 Giugno 2009 - 21:12

25

@ Marco
in html non è mica obbligatorio non chiudere i tag, è una questione di ottimizzazione (o presunta tale). Sinceramente non capisco lo sconcerto per questa proposta. Se una pagina viene resa bene sui browser senza chiudere alcuni tag, e lo scopo e spremere fino all’ultimo byte sull’ottimizzazione, perchè non farlo? Si evitano di mandare sulla rete byte inutili, stop.

Se poi questo rende il codice pco leggibile, crea problemi di renderizzazione sui browser, ma soprattutto, se non si hanno le moli di traffico di Google (e la montagna di problemi relativi a questo), siamo liberi di chiudere sti benedetti tag.

Da alcuni interventi sembra che Google abbia proposto un nuovo standard HTML in cui i tag non si chiudono… mi sembra che il senso della questione sia stato travisato parecchio.

# - postato da Fabio - 29 Giugno 2009 - 22:49

26

ma che stupidaggine

premetto che non ho visto il video… ma trovare il modo di far costare meno la banda e renderla più performante no eh?

se a breve vedremo dei filmati 1080p su youtube, oltre a togliere i tag di chiusura imposteranno un frame rate di 1 fps?

il collo di bottiglia è la velocità di scaricamento dell’utente!!!

se un utente non ha abbastanza banda da vedere il video mentre lo scarica, semplicemente dovrà aspettare di più per vederlo, stessa cosa per le pagine html

il problema è la banda larga non abbastanza larga….

e se lo scopo di google è risparmiare traffico, di sicuro non lo farà in questo modo, ma mettendo i javascript e i css in file esterni .js e .css (cosa che non fa)

e ancora, se il problema è velocizzare il rendering, si ottimizzano i browser!

# - postato da Gunn - 30 Giugno 2009 - 04:18

27

Google può dire e fare quel che gli pare, ma sui miei siti i tag si chiudono!

# - postato da iome - 30 Giugno 2009 - 09:54

28

ma dai… il 1° aprile è ancora lontano…

# - postato da saibal - 30 Giugno 2009 - 09:59

29

@26 vedi che non capisci nulla? NON separare js e css dall’html implica più velocità nel caricare. prima di tutto perchè scarica un solo file e non ne deve scaricare 3/4 che a connettersi perde del tempo e poi la pagina html non li deve includere.

Google studia non come la maggior parte di voi che scrivere tanto per usare le dita.

Se il risultato è lo stesso senza chiudere i tag che bisogno c’è di chiuderli?

# - postato da Skyline - 30 Giugno 2009 - 11:13

30

@ Skyline

Io credo che i tag sia meglio chiuderli. Che Google studi nessuno lo mette in dubbio ma credo che studi per se stesso, non per fare un favore e noi che scriviamo tanto per usare le dita.

Youtube occupa il 50% del traffico del web e con qualche tag chiuso in meno occuperebbe il 49 o ancora meno… e parlando in termini di cache dei siti un paio di tag chiusi in meno sarebbero PetaByte di dati in meno che Google deve tenere sui suoi server. Cosa di cui fondamente non me ne può fregar di meno.

Inoltre ci sono gli standard. Ci si lamenta di IE6 che non li rispetta ed ora dovremmo passare noi dalla parte sbagliata solo perchè lo fa google?

# - postato da Paolo - 30 Giugno 2009 - 12:40

31

a questo punto è ufficiale, a google stanno impazzendo, oppure i soldi hanno dato alla testa, in ogni caso sono matti!

# - postato da flux - 30 Giugno 2009 - 13:20

32

Delirio! Roba da matti.

# - postato da Giovanni Di Gregorio - 30 Giugno 2009 - 14:13

33

Google basa la sua teoria sul presupposto che i parser HTML dei browser si comportino sempre alla stessa maniera. Ma cosa accade al DOM? Non chiudere i tag in alcuni elementi HTML può portare a risultati imprevisti. Le NodeList generate da proprietà come childNodes potrebbero non reagire nella maniera prevista, fermo restando che i browser interpretino il codice non come tag soup anche nel DOM. Ho fatto diversi test sul DOM che trovate su CSS Zibaldone in XML, e sinceramente non so cosa accadrebbe con la tag soup. Ian Hickson ed Henry Sivonen hanno già fatto test in questo senso, e i risultati sono stati disastrosi: ogni browser reagisce in modo diverso, non c’è accordo.

# - postato da Gabriele Romanato - 30 Giugno 2009 - 16:41

34

@ Skyline
Condivido al 100% il tuo pensiero, e aggiungo un complimenti a google per lo sforzo che sta facendo nel diffondere le tecniche di ottimizzazione.

# - postato da Alberto Sarullo - 30 Giugno 2009 - 17:24

35

@ Skyline
“Google studia non come la maggior parte di voi che scrivere tanto per usare le dita.”

Ma chi ti credi di essere?

# - postato da Luglio7 - 30 Giugno 2009 - 22:09

36

Riguardo la stessa campagna da SitePoint:

A Note on Google’s So-called Best Practices

[…]
The project includes an article on “PHP performance tips”, which is bordering on being ridiculous
[…]

# - postato da Yuri - 01 Luglio 2009 - 00:01

37

se non capissi niente, non sarei da 11 anni in questo settore

visto che siamo in vena, non chiudere i tag mi fa capire che tu sia un pessimo impaginatore e quindi di scarsa esperienza

non chiudere i tag crea ambiguità, la resa può essere la stessa e il rendering anche più veloce, ma al primo tag che dovrai andare ad aggiungere dovrai preoccuparti se viene interpretato bene, e nell’eventualità, sarai costretto inevitabilmente a chiuderlo (bastava chiudere tutto sin dall’inizio)

inoltre tu dici che i css e i javascript sono più veloci se sono embedded

prova a mettere 30kb di fogli di stile inline su tutte le pagine e poi dimmi se il caricamento è ancora veloce, e dimmi ancora quanto spendi di traffico

scordiali saluti

# - postato da Gunn - 01 Luglio 2009 - 00:06

38

Contiamo… 1, 2, 3… 4! Si risparmiano ben 4 byte a non chiudere un paragrafo! Wow!

# - postato da Gabbianone94 - 01 Luglio 2009 - 02:21

39

si sono bevuti il cervello

# - postato da pbattino - 01 Luglio 2009 - 13:23

40

@Luglio7
Action Man, no, a perte gli scherzi, non è un offesa a tutti ma solamente a chi dice:”cos’è ora tutto quello che dice Google è legge?” Quasi tutto quello che dice google è legge perchè google studia e dimostra ;)

@Gunn
Quello che hai scritto dimostra che sei tu quello poco esperto perchè se in una pagina devi mettere 30KB di css embedded vuol dire che li dovresti mettere separati che non cambia assolutamente nulla soltanto che la connessione la deve fare su due files e non solo su uno, il tempo che si connette potrebbe essere prezioso.

Io i tag li ho sempre chiusi mi piace scrivere codice ordinato
Ad esempio se devo fare gare di scrive codice più corto anche in php lascio via la parte finale ?> che porta via una linea. In HTML chiudo tutto ma se dicono che va benissimo anche senza perchè non farlo, ovviamente dopo averlo testato con le nostre mani e non ascoltando solo quello che dice google.

# - postato da Skyline - 01 Luglio 2009 - 15:00

41

@Skyline
Scusa se mi intrometto nella discussione, ma ho sempre creduto che se metto 30KB di CSS embedded e lo ripeto per 1000 pagine alla fine ho caricato 30000KB in piú, però, se lo metto in un file a parte, questi 30KB sono caricati una volta sola e entrano a far parte del cache del browser, quindi anche in eventuali acessi futuri ne eviterò il caricamento.
Se cosí fosse, i vantaggi sarebbero ovvi… :-)
Correggimi se sbaglio.
Bye, bye

# - postato da Paolo Dodet - 02 Luglio 2009 - 19:54

42

Che puttanata di post. Google non invita affatto a non chiudere i tag, il video invita a usare html 4 perché permette di evitare i tag di chiusura di alcuni elementi e html 5 perché il doctype + più corto. I video presenti alla pagina giusta (pure il link è sbagliato) sono vari e interessanti, dall’ottimizzazione dei css alle immagini, compressione gzip, performance di php e mysql, ecc ecc

http://code.google.com/intl/it...../articles/

# - postato da Mauro - 14 Luglio 2009 - 21:34

43

mi arrivano ancora in mail gli interventi su questo post… spero arrivino anche a te…

Che puttanata di post. Google non invita affatto a non chiudere i tag ecc. ecc.

AAA - attenzione attenzione, educatissimo nell’esordio non si accorge che anche se fosse come dice lui (google non invita affatto a non chiudere i tag) i commmenti hanno preso la piega di discutere sul seguire o meno le raccomandazioni di google come si seguono o meno quelle del www o di altri soggetti più o meno autorevoli, e perde un’occasione, se non di tacere (questo mai), almeno di non parlare a sproposito…

è da stamattina presto che sono circondato da cafoneria… bisogna che reagisca contro tutti… >:(

# - postato da EsseZeta - 15 Luglio 2009 - 10:43

44

Non capisco in quale punto del post si fa riferimento ad un invito da parte di Google a non chiudere i tag. È stato riportato fedelmente quanto scritto nell’articolo:

According to the HTML 4 DTD, you can omit the following tags…

Secondo l’autore scegliendo di mettere in pratica tale facoltà, il risultato è che:

Omitting optional tags keeps your HTML formally valid, while decreasing your file size. In a typical document, this can mean 5-20 % savings.

Il titolo del post, come il resto, mi pare assolutamente coerente con tutto ciò: Il web è più veloce… se non chiudi i tag.

# - postato da Cesare Lamanna - 15 Luglio 2009 - 11:31

45

E allora? Tutti pronti a trasformarvi in sterminatori di inutili tag di chiusura :) ?

Non so, poi vedete voi…
Essezeta, trovo molto più cafone questo tipo di post, che mi fa perdere tempo ravanando nel torbido.

# - postato da Mauro - 15 Luglio 2009 - 17:10

46

Oddio, ma non basta più la faccina per far capire che si tratta di una battuta?

# - postato da Cesare Lamanna - 15 Luglio 2009 - 17:44

47

Oddio, ma non basta più la faccina per far capire che si tratta di una battuta?

Questo dimostra che per capire qualcuno c’è bisogno di buona volonta, non basta parlare la stessa lingua. ;)

# - postato da Paolo Dodet - 15 Luglio 2009 - 18:49

Inserisci il tuo commento:





(puoi usare i seguenti tag HTML per formattare il testo -
a href, b, i, br/, p, strong, em, ul, ol, li, blockquote, pre):

 

Anteprima del commento