Perché alcuni importanti siti Web utilizzano HTML non valido?

Ho notato che molti siti Web, persino Google e alcuni siti bancari, hanno un HTML scritto in modo non corretto senza virgolette sui valori degli attributi o utilizzando caratteri come e commerciali che non sono stati salvati correttamente nei collegamenti. In altre parole, molti usano markup che non verrebbero convalidati.

Sono curioso delle loro ragioni. L’HTML ha regole semplici ed è semplicemente sbalorditivo che non sembrano seguire quelle regole. O usano programmi che semplicemente sputano il codice?

La maggior parte delle persone ha ottenuto la risposta fondamentalmente corretta – che le regole sono diverse quando si serve una pagina un miliardo di volte al giorno. I byte iniziano a essere importanti e l’attuale livello di compressione mostra chiaramente che Google si preoccupa di risparmiare larghezza di banda.

Alcuni punti:

Uno, la gente sta insinuando che i motivi di Google per risparmiare larghezza di banda sono finanziari. Improbabile. Anche pochi terabyte al giorno salvati nella pagina dei risultati di ricerca di Google è una goccia nel secchio rispetto alla sum di tutte le loro proprietà: Youtube, Blogger, Maps, Gmail, ecc. Molto più probabile è che Google voglia la sua pagina dei risultati di ricerca, in particolare, caricare il più rapidamente ansible sul maggior numero ansible di dispositivi. Sì, i byte contano quando la pagina viene caricata un miliardo di volte al giorno, ma i byte contano anche quando l’utente utilizza un telefono satellitare nel Sahara e fatica a ottenere 1kbps.

Due, c’è una differenza tra gli standard codificati di XHTML e simili, e lo standard di fatto di ciò che effettivamente funziona in ogni browser mai realizzato dal 1994. Qui, le dimensioni di Google sono importanti perché, dove la maggior parte degli sviluppatori web è felice di ignorare qualsiasi browser fastidioso che rappresenta meno dello 0,1% dei loro utenti, per Google, che lo 0,1% è forse mezzo milione di persone. Hanno importanza. Quindi la loro pagina dei risultati di ricerca dovrebbe funzionare su IE 5.5. Questo è il motivo per cui usano ancora le tabelle per il layout su molte pagine di alto valore – è ancora il layout che “funziona” sul maggior numero di browser.

Come esercizio, mentre ero uno stagista presso Google, ho scritto una versione XHTML / CSS perfettamente conforms della pagina dei risultati di ricerca di Google e l’ho mostrata in giro. Alla fine la domanda è venuta fuori: perché stiamo servendo questo hodge-podge HTML? Non dovremmo guidare la comunità di sviluppatori web verso gli standard? La risposta che ho ottenuto è stata praticamente il secondo punto sopra. Google fa seguire uno standard, non il bello dell’utopia del web, ma lo standard della realtà in cui tutto ciò deve essere assolutamente funzionante.

Google ha una buona ragione per scrivere HTML non valido: ogni carattere che tolgono dalla pagina di ricerca li salverà probabilmente con gigabyte di larghezza di banda al giorno.

Come già discusso in precedenza , Google lo fa per ragioni di larghezza di banda.

Per quanto riguarda le banche e altri siti Web aziendali, potrebbero esserci molteplici ragioni:

  1. CMS emette codice HTML non valido
  2. Dreamweaver, abbastanza detto.
  3. Tendono a utilizzare componenti dell’interfaccia utente commerciali che sono stati progettati per funzionare anche su browser antichi, quindi si sbagliano sul lato attento.
  4. Nessuna enfasi sulle buone pratiche HTML e Javascript. Molti di loro tendono ad essere negozi Java o .NET senza buoni sviluppatori di interfaccia utente.
  5. Controlli utente .NET mal progettati e tagli di JSTL.

Per diversi siti Web come Google, avere un codice perfetto non è “così” importante.

Tuttavia, la dimensione totale della pagina Web è. Alcuni byte risparmiati sul codice HTML possono significare centinaia di dollari in larghezza di banda.

Quindi, se possono essere certi che la loro pagina sarà resa correttamente, non esiteranno a modificare il loro codice HTML.

In generale, la codifica di un sito Web è semplice e quindi la barriera di ingresso è molto bassa per i programmatori inesperti o non esperti. Ciò semplifica la produzione di pagine sub standard e il Web è disseminato di esse. Combina questo con strumenti come Microsoft Frontpage che rende ancora più facile creare un sito (e ancora più facile generare codice HTML errato) e hai una brutta situazione.

La cosa bella degli standard è che ne hai così tanti tra cui scegliere.