Introducere, istorie, versiuni - HTML
Limbajul a fost dezvoltat initial de oamenii de stiinta ca o unealta utilizata la partajarea documentelor (rapoarte de cercetare, documentatii, etc) în întreaga comunitate stiintifica internationala care utiliza (si utilizeaza) Internetul. Pentru a publica informatii care sa fie distribuite global în Internet este necesar un limbaj universal de descriere a acestora (o "mama a tuturor limbajelor de publicare"), limbaj care sa fie potential înteles de toate computerele din Internet. Limbajul folosit de World Wide Web este HTML.
HTML se aseamana cu modalitatile de formatare a textelor de la un procesor de texte uzual în sensul ca adauga textului ce se doreste a fi publicat (afisat) informatii de formatare si permite înglo-barea si altor tipuri de informatii (imagini, sunete, etc). Toate acestea indica modul de afisare (prezentare) pentru programele capabile sa înteleaga aceste informatii. Ceea ce îl deosebeste de toate celelalte formate ale procesoarelor de texte este faptul ca un document HTML este un document ce contine informatie în format "text-pur" (numai caractere ASCII), în timp ce procesoarele de texte folosesc formate particulare (proprietare). Astfel, un document HTML poate fi afisat (prezentat) de un numar mare de programe (browsere Web) care ruleaza 313g66d pe un mare numar de platforme.
Documentele HTML pot fi create cu un editor de texte (document salvat ca "text only with line breaks") sau cu editoare HTML care permit crearea vizuala (WYSIWYG) a documentelor HTML, rezultînd însa tot documente în format text pur.
Limbajul HTML da autorilor posibilitatea:
sa publice documente cu headere, texte, tabele, liste, fotografii, etc...
sa regaseasca on-line informatii prin intermediul hiperlink-urilor accesate printr-un simplu click de mouse
sa proiecteze formulare pentru realizarea tranzactiilor cu servere aflate la distanta, pentru cautari de informatie sau pentru activitati specifice comertului
sa includa foi de calcul tabelar, clipuri video, sunete si alte aplicatii direct în documente
HTML are patru caracteristici principale:
Foloseste un "marcaj" descriptiv pentru a indica diversele actiuni ("instructiuni") ce trebuie executate. Aceasta înseamna ca parti ale documentului descris de HTML sînt "marcate" cu nume descriptive, ca de exemplu <CHAPTER> sau <TITLE> care sînt aplicabile oricarei portiuni de date corespunzatoare din document.
Defineste structuri de documente ierarhice si (hyper)legaturi intra- si inter-documente. O legatura (sau interconexiune) este o relatie unara între doua elemente ale unui document. Structura unui document este însotita de astfel de legaturi între elementele sale.
Limbajul HTML este guvernat de o descriere formala. HTML are o descriere a tipului documentului (Document Type Definition DTD) care stabileste specificatiile formale ale limbajului. DTD defineste sintaxa limbajului, descrie fiecare element individual al unui document scris în limbajul HTML, defineste atributele permise pentru fiecare element si descrie modelul datelor continute în fiecare element (adica stabileste care alt element, daca este vreunul, poate sa apara într-un element). În corelatie cu informatiile despre elemente, DTD ofera definitii pentru entitatile externe ce pot fi referite în HTML (de exemplu, setul de caractere ISO-Latin-1 folosit pentru a reprezenta caracterele pe ecranul unui display).
Atît specificatiile limbajului cît si limbajul însusi pot fi "citite" (interpretate) si de om dar si de computer. Datorita faptului ca elementele de marcare sînt separate de text prin siruri de delimitare alcatuite din caractere tiparibile, textul si marcajele pot coexista "în pace si întelegere" atît pentru om, cît si pentru computer.
HTML este un limbaj bazat pe SGML (Standard Generalized Markup Language), o asa-numita aplicatie a acestuia. SGML este un standard international (ISO-8879) aprobat în 1986.
SGML ofera o modalitate de a reprezenta structura documentelor si hyper-documentelor. Este totodata si o cale de a codifica hyper-documentele astfel ca acesta sa poata fi interschimbate asemanator procesului de interschimbare a unor documente în cazul mai multor autori care colaboreaza utilizînd platforme diferite aflate la distanta.
SGML este un sistem complex de descriere a documentelor. Este utilizat pentru descrierea structurii generale a diferitelor tipuri de documente fara sa fie un limbaj de descrierea a paginii (cum este PostScript). Principala preocupare a SGML (si prin urmare si a HTML care a fost preferat pentru publicatiile pe Web fiind mai simplu) se rasfrînge asupra continutului documentului, nu asupra aspectului lui.
Deci, în virtutea trasaturilor mostenite de la SGML, HTML este un limbaj pentru descrierea documentelor structurate. Teoria din spatele acestui limbaj se bazeaza pe faptul ca majoritatea documentelor au elemente comune (de pilda: titluri, paragrafe sau liste) si ca daca definesti un set de elemente, poti marca elementele documentului cu tag-urile corespunzatoare.
Majoritatea tag-urilor HTML arata de forma: <NumeTag> Textul afectat de tag </NumeTag> si indica navigatorului elemente de structura documentului, formatare, hypertext sau alte elemente (imagini, fisiere sonore, etc). Documentele HTML contin doar textul propriu-zis si tag-urile HTML iar sursa lor poate fi usor vazuta din orice navigator.
Diferenta majora dintre procesoarele de texte si procesoarele HTML este ca acesta din urma nu se preocupa de cum anume vor aparea pe ecran elementele (marcate ale) documentului. Cu foarte putine exceptii, HTML nu descrie modul de prezentare al documentului ca un întreg (layout). HTML ofera (deocamdata) un suport redus în stabilirea plasamentului sau felului în care vor fi afisate elementele documentului. Proiectantii HTML au ales intentionat aceasta varianta. Motivul este simplu. Deoarece nu cunoastem posibilitatile platformei pe care va fi vazut documentul (dimensiunea ecranului, fonturile instalate, etc), prin separarea structurii documentului de felul în care este afisat se ofera o mai mare libertate programului care întelege HTML si afiseaza documentul. Acesta poate sa ia hotarîri privind formatarea documentului pe baza posibilitatilor platformei respective. Este ceea ce fac navigatoarele Web, în afara functiilor de comunicare si aducere a documentelor de pe Net.
Cînd navigatorul încarca un document HTML, el "citeste" documentul în cautarea tag-urilor HTML, formateaza textul si imaginea si le afiseaza pe ecran. Este motivul pentru care acelasi document HTML apare usor diferit cînd este privit cu navigatoare diferite. Desi în aceasta faza de dezvoltare posibilitatile de formatare oferite sînt înca destul de limitate, oferind un control destul de redus asupra formei documentului, avantajul faptului ca documentele pot fi transferate si vazute oriunde pe Net, independent de platforma si de navigator, a condus la raspîndirea sa foarte rapida.
Orice versiune a HTML include elemente cum ar fi: text centrat sau aliniat dreapta, tabele, formule matematice, aliniere imagine si text. Extensiile, care au aparut în numar mare în ultima vreme, sînt seturi de tag-uri HTML introduse de diverse companii (în general cele producatoare de navigatoare) care permit autorilor de documente HTML sa evite o parte din constrîngerile standardului. Cele mai raspîndite sînt extensiile Netscape si Internet Explorer.
Dar de ce a fost preferat HTML pentru publicatii pe Web, cînd pentru realizarea publicatiilor electronice exista mai multe tehnologii? Primul motiv este simplitatea. Al doilea este ca permite formatarea textului ASCII cu tag-uri în format ASCII. Rezulta de aici o compresie buna, suport pentru legaturi hypertext si usurinta în a scrie navigatoare pentru vizualizarea documentelor.
Nascut în urma cu aproximativ 30 de ani, într-o tentativa de a rezolva unele probleme ivite la transportul documentelor între diferite computere, limbajul hypertext a evoluat încet. HTML din prima generatie este înteles de primele navigatoare (modul text). Nivelul 1 este obligatoriu pentru toate navigatoarele si înseamna posibilitatea de a interpreta (hyper)text plus imagini. Nivelul 2 (HTML 2.0) a adus o contributie deosebita la realizarea unei interactivitati reale prin intermediul formularelor (forms). HTML 3.0 (cunoscut anterior ca HTML+) aduce în plus tabelele, formatarea paragrafelor (alinieri stînga, centru si dreapta), curgerea textului pe lînga imagini, tabele, formule matematice, taburi, note si o multime de alte trasaturi în aparenta de mai mica importanta dar care fac munca cu HTML mult mai placuta. Cele mai importante modificari si îmbunatatiri sînt aduse însa de HTML 4.0, versiune care îmbunatateste totodata si conceptele de accesibilitate si structuralitate a limbajului de marcare. Informatii despre dezvoltarea HTML se pot prelua de la adresa: https://www.w3.org
Limbajul HTML a fost dezvoltat initial de Tim Berners-Lee la Laboratorul European pentru Fizica Particulelor (CERN) si popularizat de browser-ul Mosaic dezvoltat la NCSA si a beneficiat de explozia Web-ului din anii 90. În aceasta perioada HTML-ul s-a dezvoltat în multiple directii, dar era dependent de autorii paginilor HTML si producatorilor de echipamente care, desi foloseau aceleasi conventii pentru limbaj, aveau implementari incompatibile. De aceea s-a impus ca o necesitate absoluta standardizarea HTML-ului într-un efort global al întregii comunitati a Internetului. si acum HTML este un limbaj marcat de un deosebit dinamism, standardizarea diverselor versiuni fiind însa deosebit de anevoioasa datorita lipsei consensului.
Organismul care "guverna" protocolul TCP/IP ("fundamentul" Internetului), standardele arhitecturale ale Internetului, precum si reteaua Internet a Statelor Unite era în acea perioada IAB - Internet Arhitecture Board, cunoscut la începuturile sale ca Internet Activities Board. Acesta delega responsabilitatile de dezvoltare, operare si management a Internetului si a protocoalelor si serviciilor legate de acesta unor subcomitete, grupuri de lucru si organizatii de lucru pe care le controla. În plus avea contracte cu companii comerciale specializate în comunicatii pentru gestionarea infrastructurii Internetului.
Subgrupul care se ocupa (si se ocupa si acum) cu dezvoltarea si implementarea protocoalelor este IETF - Internet Engineering Task Force. Acesta este alcatuit dintr-un comitet director (care raporteaza la IAB) si o serie de grupuri de lucru, fiecare dintre acestea responsabile cu un anumit protocol sau serviciu aflat în dezvoltare sau întretinere. Grosul activtatii de dezvoltare si standardizare a protocoalelor este astfel realizat de aceste grupuri de lucru din cadrul IETF.
Documentele care specifica aceste protocoale si servicii sînt numite Request for Comments, mai cunoscute sub numele de RFC. Acestea primesc coduri numerice prin intermediul carora sînt referite ulterior. Chiar daca numele sugereaza o "solicitare de comentarii" asupra unui subiect (ceea ce constituie, de altfel, si modalitatea principala de dezvoltare a acestor documente - prin intermediul comentariilor, propunerilor si discutiilor membrilor comunitatii Internetului), RFC-urile standard (care se numesc... Recommendation) au putere de lege (decret) în cadrul comunitatii Internet (TCP/IP). Aceste documente (standardele) reprezinta doar o parte din întreaga colectie de RFC-uri, dar practic dicteaza cum trebuie sa se comporte un protocol si ce functii trebuie sa realizeze. În timpul dezvoltarii RFC-urile se numesc RFC Working Drafts.
Daca un protocol (sau produs) nu se conformeaza unui RFC standard, atunci cel ce îl dezvolta risca sa piarda contactul (si contractele) cu organismele ce apartin de Departamentul Apararii al SUA, precum si cu toate celelalte organisme si organizatii care le adopta si le respecta (ceea ce este echivalent cu excluderea din competitia economica). În orice disputa din cadrul Internetului RFC-urile si IETF sînt autoritatile supreme.
RFC-urile se pot obtine de pe site-ul ds.internic.net (organizate dupa numarul atasat fiecarui RFC) sau de pe alte site-uri care ofera posibilitati extinse de cautare/prelucrare, cum ar fi, de exemplu, site-ul de la adresa https://www.cis.ohio-state.edu/hypertext/information/rfc.html
Organismul care se ocupa (si) cu standardizarea limbajului HTML (din noiembrie 1995) se numeste "The World Wide Web Consortium (W3C)" si include CERN, universitatea MIT (Cambridge, Massachusetts), precum si alte organizatii. În afara HTML, W3C are "custodia" si a protocolului HTTP, precum si a altor produse si standarde ce se refera la Web.
Filozofia W3C se bazeaza pe promovarea interoperabilitatii în World Wide Web. Aceasta necesita standarde. Aprobarea si în special acceptarea unui standard este însa un proces extrem de mare consumator de timp, cu atît mai mult cu cît ambitiile sînt mai mari (ISO a abandonat modelul celor 7 nivele dupa ce multi ani a încercat sa-l impuna). Plecînd de la pataniile predecesorilor, pionierii Webului au împamîntenit obiceiul de a-si construi singuri standarde si nu de a le importa. Esenta filozofiei W3C este implementata în grupurile de lucru (Working Group), un comitet mic de specialisti care se întîlnesc sau discuta în teleconferinte pîna la atingerea unui consens. W3C are 18 astfel de grupuri, fiecare cu 18-25 membri provenind de la orice companie ce are interese în subiectul abordat de respectivul grup. Se ajunge astfel ca rivalii sa stea alaturi si sa coopereze, conducînd în cele din urma la o acceptare mult mai rapida din partea pietii. Durata de viata a unui astfel de standard (unei specificatii stabilita în acest mod) da de fapt masura autoritatii organizatiei W3C.0
Stadiile prin care trece un standard elaborat de W3C sînt:
orice standard îsi începe aventura ca W3C Note
de aici este preluat de catre un grup particular de lucru (Working Group) si este discutat pîna cînd se atinge consensul
în acest moment este publicat ca propunere (Working Draft) si acum oricine poate face comentarii
în momentul în care se obtine o sustinere si un consens suficient de larg, directorul W3C (acum este Time Berners-Lee) decide daca specificatia este gata sa devina propunere de recomandare (Proposed Recommendation)
urmeaza o perioada de 6 saptamîni în care toti membrii W3C au sansa sa voteze aceasta propunere de recomandare; votul nu este obligatoriu si se poate vota în 4 moduri diferite:
da
da, sub rezerva unor îmbunatatiri
nu, pîna cînd anumite sarcini nu sînt îndeplinite
nu, specificatia trebuie abandonata
charta W3C stipuleaza necesitatea obtinerii consensului complet, astfel ca fiecare vot trebuie sa fie un da fara rezerve
daca toti pasii anteriori au fost îndepliniti, specificatia trebuie aprobata în final de Director si se publica sub forma unui standard (W3C Recommendation)
HTML 2.0 a fost publicat ca standard (versiune "oficiala") sub forma Request for Comments RFC 1866 în noiembrie 1995 si reprezinta eforturile de codificare si standardizare ale Internet Engineering Task Force. Poate fi preluat de la adresa ftp://ds.internic.net/rfc/rfc1866.txt
A urmat apoi propunerea (draft) HTML 3.0 (în septembrie 1995), în mare masura bazat pe HTML+ (aparut în 1993) care, desi nu a fost adoptata ca standard a dus la adoptarea a numeroase îmbunatatiri. Unul dintre motivele care au condus la neacceptarea draftului a fost marimea considerata exagerata a acestuia. De aceea urmatoarele versiuni au fost si vor fi introduse într-un mod modular. Aceasta versiune se poate prelua de la adresa https://www.w3.org/MarkUp/html3/CoverPage. Ea a venit dupa ce Netscape începuse sa introduca o serie de noi taguri si atribute care nu erau complet specificate (versiunea aceasta de HTML fiind cunoscuta sub numele de cod Mozilla), conducînd în acest fel la o implementare neuniforma în alte browsere.
Eforturile grupului de lucru asupra HTML din cadrul World Wide Web Consortium din aceasta perioada îndreptate spre eliminarea inconsistentelor între specificatiile diverselor firme/browsere au avut ca rezultat aparitia standardului (cu numele de cod Wilbur) HTML 3.2, în 11 ianuarie 1997, acestea putînd fi accesate la adresa https://www.w3.org/TR/REC-html32. Împreuna cu W3C au lucrat la aceste specificatii IBM, Microsoft, Netscape Communications Corporation, Novell, SoftQuad, Spyglass si Sun Microsystems. Aceasta versiune este o aplicatie SGML ce se conformeaza standardului international ISO 8879 ale carui specificatii se afla la adresa https://www.iso.ch/cate/d16387.html. Ca aplicatie SGML, sintaxa documentelor este definita de combinatia dintre o declaratie SGML (SGML declaration) si definirea tipului documentului (document type definition - DTD).
Versiunea HTML 4.0 a devenit o recomandare (standard) W3C la 18 decembrie 1997 (avînd numele de cod Cougar) si poate fi accesata la adresa https://www.w3.org/TR/REC-html40. si aceasta versiune este o aplicatie SGML ce se conformeaza standardului international ISO 8879 ale carui specificatii se afla la adresa https://www.iso.ch/cate/d16387.html. Ca aplicatie SGML, specificatia HTML 4.0 include o declaratie SGML (1 SGML declaration), trei definitii ale tipului documentului (3 document type definition - DTD) si o lista de referinte la caractere. În momentul aparitiei acestui standard, W3C recomanda autorilor producerea de documente HTML 4.0, dar pentru motive evidente de compatibilitate cu versiunile anterioare, W3C recomanda uneltelor ce interpreteaza si suporta 4.0 sa continue sa suporte si HTML 3.2, precum si HTML 2.0.
În ianuarie 1999 exista si propunerea (draftul) HTML 5.0.
Întreaga comunitate a Internetului este de acord ca documentele dezvoltate cu HTML trebuie sa fie identice în diversele browsere si pe diversele platforme ale Internetului. Interoperabilitatea va asigura astfel costuri reduse furnizorilor (autorilor) de pagini HTML (nu este nevoie decît de o singura versiune!), în caz contrar raspîndirea într-o multitudine de formate particulare (si proprietare ale unor firme) incompatibile reducînd dramatic potentialul (inclusiv comercial) al tuturor participantilor. Fiecare noua versiune a încercat sa reflecte un consens din ce în ce mai mare între participanti, astfel ca investitiile facute sa nu fie irosite, iar documentele dezvoltate sa devina imposibil de folosit dupa o perioada foarte scurta de timp. Limbajul HTML se dezvolta cu dorinta ca toate tipurile de computere si diversele periferice ale acestora sa poata folosi informatia de pe Web: PC-urile cu display-uri de diverse rezolutii si capabilitati de redare a culorii, periferice pentru cuplare prin intermediul vocii, telefoane celulare, etc...
HTML 4.0 este în acest moment (ianuarie 1999) standardul acceptat de comunitatea Internet si de catre producatorii majori de browsere si unelte de dezvoltare pentru Internet (Netscape - cu browserul Navigator 4.x si - cu browserul Microsoft Internet Explorer 4.x), primind suport aproape universal. W3C recomanda chiar autorilor de documente si unelte pentru HTML sa produca documente HTML 4.0 în locul HTML 3.2, dar din motive de compatibilitate (usor de înteles) se recomanda ca uneltele ce interpreteza HTML 4.0 sa suporte în continuare HTML 3.2 si 2.0.
Bataliile se dau în continuare pentru standardele legate de DHTML (CSS Level 2 si DOM). Chiar daca modul în care a fost creata versiunea 4.0 si soliditatea organismului care a generat-o indica o mare stabilitate, Microsoft a facut deja pasi importanti pe cale 5.0 si spre DHTML, urmata, aproape cu disperare, si de catre Netscape (la sfîrsitul anului 1998 cumparata de AOL). Concluzia ce se poate desprinde este aceea ca dinamismul procesului nu poate fi "combatut" decît printr-o permanenta informare de la organismul care impune standardele (W3C) si adaptare la cerintele acestora.
Elementul esential diferit adus de versiunea 4.0 fata de versiunea 3.2 este posibilitatea separarii structurii unui document de prezentarea lui prin introducerea "stilurilor de documente" (style sheet). Utilizînd limbajul HTML pentru descrierea structurii unui document si style sheet-urile pentru a sugera prezentarea acestuia, autorii obtin mult mai usor independenta de periferic/computer/platforma hard-soft care a facut HTML-ul atît de popular. Un document cu o structura complexa poate fi prezentat în diferite moduri pe medii diferite, permitînd documentului însusi sa se adapteze mai usor noilor tehnologii (cum ar fi, de exemplu, browser-ele capabile sa vorbeasca, cititoarelor braille, etc.).
În plus separarea continutului de prezentare permite modificarea înfatisarii eventual chiar a unui întreg site doar prin modificarea unui style-sheet (unui document care descrie stilul). Experienta a demonstrat ca o astfel de abordare reduce dramatic costurile de deservire a unui spectru larg de platforme, facilitînd si o întretinere si modificare mult mai usoare.
Alte îmbunatatiri semnificative aduse de 4.0 pot fi considerate si:
I. Tehnologia client-side scripting.
Prin intermediul scripturilor autorii pot realiza pagini HTML dinamice (care reactioneaza la actiunile utilizatorilor) sau se pot realiza aplicatii distribuite. Mecanismul de includere a scripturilor în paginile HTML este independent de limbaj. Se poate specifica limbajul scriptului, se poate include un script extern sau se poate referi rezultatul executiei unui script. Aceste scripturi se executa pe computerul care ruleaza browserul Web (clientul).
HTML ofera acum un mecanism standard pentru a îngloba obiecte generice si aplicatii în documentele HTML. Elementul OBJECT permite includerea imaginilor, clipurilor video, sunetului, formulelor matematice, aplicatii specializate si alte obiecte într-un document.
Aceasta versiune a fost proiectata cu ajutorul expertilor în internationalizare, astfel încit documentele pot fi scrise în orice limba si transportate usor oriunde în lume. Elementul cheie îl constituie adoptarea standardului ISO/IEC 10646 ca set de caractere pentru HTML. Acest standard este cel mai complet standard ce permite reprezentarea oricaror caractere internationale, directie a textului, punctuatie sau cerinte specifice ale unei limbi.
Odata cu cresterea diversitatii lumii Webului, s-au diversificat si capabilitatile utilizatorilor acestuia, astfel încît a devenit importanta suportarea diverselor tehnologii pentru a suplinii unele limitari fizice.
În aceasta versiune se implementeaza un model de tabel, bazat pe RFC 1942. Autorii au acum un control sporit asupra structurii si paginatiei. Sînt incluse posibilitati de definire a grupurilor de rînduri si/sau coloane, mai mare flexibilitate în definirea regulilor unui tabel. În plus afisarea tabelelor se face acum incremental, pe masura încarcarii paginii, nemaifiind necesara asteptarea încarcarii integrale a tabelelor.
Includerea frame-urilor în HTML 4.0 ofera posibilitatea de a prezenta documente multiple într-o singura fereastra. Modelul este preluat din propunerea originala a firmei Netscape.
Operatia de imprimare a unui numar mai mare de pagini legate între ele poate fi simplificata mult prin descrierea relatiilor dintre ele utilizînd elementul LINK sau limbajul specializat RDF (Resource Description Language) dezvoltat de W3C.
Fiecare document trebuie validat în vederea eliminarii erorilor cum ar fi lipsa ghilimelelor, elemente sau atribute scrise gresit si structuri invalide. Aceste erori nu sînt întotdeauna vizibile în browsere deoarece fiecare le recupereaza într-un mod propriu. Validarea documentelor se poate face cu un serviciu special al W3C ce poate fi accesat la adresa https://validator.w3.org. Un validator verifica un document în ceea ce priveste definitia tipului documentului (DTD) si nu siguranta legaturilor din document.
|