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.
|