+ All Categories
Home > Documents > Curs HTML 4.0

Curs HTML 4.0

Date post: 09-Apr-2018
Category:
Upload: vepeter
View: 248 times
Download: 1 times
Share this document with a friend

of 184

Transcript
  • 8/8/2019 Curs HTML 4.0

    1/184

    3

    Cuprins

    CUPRINS 3

    BIBLIOGRAFIE 6

    CUVNT NAINTE 7

    CAPITOLUL 1. INTERNET I WORLD WIDE WEB 9

    1.1.INTRODUCERE 9Ce este Internetul? 9Ce este World Wide Web (WWW, W3) 10

    1.2.RESURSELE WORLD WIDE WEB 11

    1.3.ADRESAREA UNEI RESURSE N WEB 11

    1.4.ELEMENTELE CONEXIUNILOR N SPAIUL WWW 12

    1.5.PROTOCOLUL HTTP 131.5.1.INTRODUCERE GENERAL 131.5.2.MESAJELE PROTOCOLULUI HHTP 141.5.3.METODELE PROTOCOLULUI HHTP 15

    CAPITOLUL 2. DESCRIERE GENERAL A HTML 19

    2.1.INTRODUCERE, ISTORIE, VERSIUNI 19

    Ce este HTML? 19Caracteristicile limbajului HTML. 19

    De ce HTML? Istoria HTML. Ce trebuie sfacun autor de pagini HTML? 24

    Revoluia HTML 4.0. 24Validarea documentelor HTML. 25

  • 8/8/2019 Curs HTML 4.0

    2/184

    4

    2.2.REPREZENTAREA DOCUMENTELORHTML 26

    2.3.STRUCTURA I LOGICA LIMBAJULUI HTML 27

    I. Tag-urile HTML II. Caractere entiti 28

    CAPITOLUL 3. STRUCTURA DOCUMENTELOR HTML 31

    3.1.STRUCTURA GENERAL A UNUI DOCUMENT HTML 31

    1. Elementul DOCTYPE 322. Elementul HTML 333. Elementul HEAD 334. Elementul BODY 345. Elementul FRAMESET 37

    3.2.STRUCTURA HEADER-ULUI UNUI DOCUMENT (ELEMENTUL HEAD) 401. Elementul TITLE 402. Elementul BASE 413. Elementul STYLE 414. Elementul LINK 435. Elementul META 456. Elementul SCRIPT 467. Elementul ISINDEX 498. Elementul OBJECT 49

    3.3.STRUCTURA CORPULUI UNUI DOCUMENT HTML(ELEMENTUL BODY) 52

    I. Elementele de tip bloc (block level elements) 53 II. Elementele de tip inline (inline level elements) 54III. Elementele de tip nedefinit (pot fi att inline cti block) 56

    CAPITOLUL 4. ELEMENTE DE BAZ HTML 57

    4.1.ELEMENTE UTILIZATE LA FORMATAREA TEXTULUI UNUI DOCUMENT 57

    1. Terminarea rndului (elementul BR) 572. Titluri (elementul Hi) 58

    3. Containere de text (stiluri ale unui bloc) 59 A. Paragrafe (elementul P) 59 B. Containerul logic de tip bloc (elementul DIV) 60C. Containerul logic de tip text/inline (elementul SPAN) 60

    D. Textul centrat (elementul CENTER) 62 E. Textul preformatat (elementul PRE) 62 F. Adrese (elementul ADDRESS) 63G. Citate lungi (elementul BLOCKQUOTE) 64

    H. Citate scurte (elementul Q) 65

  • 8/8/2019 Curs HTML 4.0

    3/184

    5

    4. Stilurile caracterelor 665. Elemente de modificare a fontului caracterelor 67

    A. Dimensiunea fontului B. Stabilirea fontului de baz 69

    4.2.DEFINIREA I UTILIZAREA LISTELOR 70

    4.3.TAG-URI (ELEMENTE) PENTRU LEGTURI HYPERTEXT 77

    4.4.IMAGINI N DOCUMENTELE HTML 83

    4.5.IMAGINI SENZITIVE 90

    4.6.ALTE ELEMENTE LEGATE DE TEXT I IMAGINI 98

    1. Comentariile n documentele HTML 982. Linii orizontale de demarcare (elementul HR) 983. Fundalul unui document 994. Culoarea textuluii a legturilor 100

    CAPITOLUL 5. UTILIZAREA TABELELOR N HTML 101

    CAPITOLUL 6. UTILIZAREA FRAME-URILOR N HTML 131

    CAPITOLUL 7. UTILIZAREA FORMULALELOR (FORMS) 145

    CAPITOLUL 8. ALTE ELEMENTE ALE LIMBAJULUI HTML 181

    8.1.FORMULE MATEMATICE 181

    8.2.DOCUMENTE DINAMICE 182

    8.3.UTILIZAREA MEDIILOR EXTERNE: IMAGINI, SUNETE I VIDEO 183

  • 8/8/2019 Curs HTML 4.0

    4/184

    6

    Bibliografie

    [1] WWW Consortium,HTML 4.0 Specification,

    www.w3.org/TR/REC-html40

    [2] Strebe, Mathew, Perkins, Charles,MCSE Internet Informationserver - Study Guide,

    SYBEX Corporation, 1998

    [3] Tittel, Ed, Gaither, Mark, Hassinger, Sebastian, Erwin,Mike, Foundations of World Wide Programming,IDG Books Worldwide Inc., 1997

    [4] Honeycutt, Jerry,Special Edition Using HTML 4.0,Maximillan Computer Publishing, 1998

    [5]Mat Publishing Limited,Developer Network Journal,1998, 1999 collection

    [6] Miller Freeman, Inc., Microsoft Corp.,Microsoft InternetDeveloper Journal,

    1998, 1999 collection

  • 8/8/2019 Curs HTML 4.0

    5/184

    7

    Cuvnt nainte

    Aplicaiile distribuite snt de o bun perioad de timp o prezen uzual n peisajul IT chiari dinara noastr. Ultimii ani au nsemnat, de asemenea, i pai semnificativi i concrei n impunerea Inter-netului n ntreaga economie i societate. Odat cu acesta, aplicaiile distribuite care au ca suportInternetul i tehnologiile dezvoltate pentru acesta i mpreun cu el, au trecut de la stadiul de noutitehnologice la cel de prezen real n comunitatea IT.

    Procesul de educaie a tinerilor specialiti IT simte nevoia plonjrii n aceast realitate. Tehnolo-gia Java, DHTML, tehnologia de scripting (Java Script, VB Script), bazele de date distribuite n Inter-net i accesul la ele, interfeele utilizator flexibile, bazate pe browsere capabile de performane din cemai apropiate de necesiti, tehnologia componentelor, toate acestea snt necesiti stringente ale tehno-logiei IT i, implicit, ale procesului educaional din acest domeniu.

    n acest spirit am ncercat s aduc n faa studenilor problematica fascinant a lumii distribuite,dar cooperante, dezvoltat de aceste tehnologii. Suportul acestei fascinaii st, far ndoial, n geniul iviziunea celor care au fcut din Internet o comunitate. Fundamentul acestei realiti este, nu ncapendoial, limbajul HTML, cel care a fcut posibil explozia de comunicare actual, cel care a adusaproape oameni, altfel att de diferii: de la cercettori la studeni, de la oameni de tiin la copiii careabia descoper computerul, dar care descoper odat cu el Internetul.

    Aceasta este prima parte a unui suport de curs la disciplina Dezvoltarea aplicaiilor distribuiten Internet, introdus n acest an, la anul IV, n semestrul al doilea, la secia de calculatoare a Facult-ii de Automatic, Calculatoare i Electronic din Craiova. Studenilor acestei faculti li se adreseaz,n primul rnd. Dimensiunea lucrrii a fost determinat de dorina de a pune la dispoziia celor care au

    preocupri n acest domeniu a unui material ct mai complet n limba romn referitor la limbajulHTML. Versiunea descris aici este HTML 4.0 i este impus de realitatea Web-ului nceputului de an1999.

    Structurat n 8 capitole, prezentul suport de curs, prezint gradual i ct mai compet cu putinlimbajul HTML. Capitolul 1 face o scurt prezentare a noiunilor eseniale legate de Internet i Web,iarCapitolul 2 o descriere generali o scurt incursiune n istoria limbajului HTML. Este partea intro-ductiv care este urmat apoi de capitolele ce descriu structura unui document scris n HTML Capi-

    tolul 3) i elementele de baz utilizate n documentele HTML texte, legturi, imagini (Capitolul 4).Capitolele 5, 6i 7detaliaz modalitile de utilizare a tabelelor, frame-urilori a formularelor inter-active, adic partea mai avansat a limbajului HTML. Capitolul 8prezint, pe scurt, elemente maideosebite ale limbajului.

    Reprezentnd doar fundamentul, prezentul suport de curs nu face dect s incite i s promitadevratele performane ale tehnologiei Internetului. Va urma partea a doua a acestui suport de curscare va acoperi (cel puin) o parte dintre ele: Cascading Style Sheet, Dynamic HTML, tehnologiile descripting i, bineneles, limbajul Java .

    Acest suport reprezint ncununarea unei perioade de mare efort, dar extrem de rodnice, perioadpetrecut de autor n Germania, la Fachhochschule Regensburg, iar apariia lui, n aceast form, sesprijin pe sprijinul material oferit de Uniunea European prin programele Tempus.

    Un gnd plin de recunotiin, profesorului Oleg Cernian, coordonatorul Programelor Tempus

    din Facultatea de Automatic, Calculatoare i Electronic, al crui merit n dezvoltarea Catedrei deCalculatoare devine, odat cu trecerea timpului, tot mai clari mai evident.

    Craiova, martie 1999 Autorul

  • 8/8/2019 Curs HTML 4.0

    6/184

    8

  • 8/8/2019 Curs HTML 4.0

    7/184

    9

    Capitolul 1.

    INTERNET i World Wide Web

    1.1. Introducere

    Ce este Internetul?

    Internetul a fost descris ca o colecie larg de reele sau ca o reea de reele. Dei ambeledefiniii snt corecte, nici una nu surprinde Internetul n totalitatea sa. Pe lng instrumentul careeste aceast imens conexiune, Internetul nseamni mulimea comunitilor celor ce l folosesc,fiecare n scopuri diferite:

    comunitatea academic utilizeaz Internetul ca pe cel mai mare, complet i totodatcomplex instrument de nvare (educaional);

    comunitatea tiinific utilizeaz Internetul ca pe un instrument de cercetare i colaborare; comunitatea economic utilizeaz Internetul ca pe un mediu de derulare al afacerilor.

    Internetul nu este o organizaie monolitic, avnd o conducere i un grup de control unice; Internetuleste o societate de reele de calculatoare interconectate, independente dar care (din anumite motive)se supun unor protocoale globale.

  • 8/8/2019 Curs HTML 4.0

    8/184

    10

    Ce este World Wide Web (WWW, W3)

    World Wide Web (WWW sau W3) este o reea de resurseinformaionale de o extraordinar demare diversitate n ceea ce privete coninutul. Este un sistem interactiv hipermedia (adic un sistemce conine i suport patru categorii importante de tipuri de informaie: texte, imagini, sunete/audioi imagini video n micare) construit peste Internet.

    Pentru a face aceste resurse disponibile (utilizabile) unei audiene ct mai largi, Web-ul se sprijinpe 3 mecanisme fundamentale:

    1. O schem uniform de denumire (de stabilire a numelor, naming scheme) pentru alocaliza resursele n Web (de exemplu URI).

    2. Protocoalepentru accesarea resurselor astfel denumite n Web (de exemplu HTTP)3. Hypertextul pentru navigarea comod de la o resurs la alta (ntre resurse).

    Elementele fundamentale ale WWW snt prezentate n figura urmtoare:

    World Wide Web este cel mai vizibil instrument Internet, transformndu-l (prin capacitile sale dea prezenta informaiile) n cel mai important instrument al zilelor noastre i ntr-o surs deinformaii fr egal. Web-ul poate fi utilizat pentru cutarea de informaii despre produse, transferulde software i versiuni noi ale acestuia, pstrarea unor colecii de informaii de orice fel de tip (de

    exemplu de ziare), n general pentru aflarea unor informaii despre orice tip de informaieimaginabil.

  • 8/8/2019 Curs HTML 4.0

    9/184

    11

    1.2. Resursele World Wide Web

    Unul din conceptele de baz - preluat i acceptat i n alte protocoale utilizate n Internet - este celde resurs. O resurs poate fi un program, un calculator, un document, o baz de date, un serviciu -nu prea are importan, att timp ct poate fi referit n mod corect i fr echivoc. Pentru referirea lao resurs din Internet, se folosete termenul generic URI (Universal Resource Identifier) care poatespecifica fie o locaie, caz n care se vorbete de un URL (Universal Resource Locator) fie unnume, caz n care se vorbete de un URN (Universal Resource Name).

    Unei resurse i se aplic o metod - iar pentru a specifica ce metod se dorete, ce date sauparametrii suplimentari o completeaz pe aceasta, se face uz de mesaje.

    Paradigma pe care se bazeaz protocolul este cea de cerere/rspuns. Cererea este emis de unclient; acesta stabilete o conexiune cu un serveri i trimite acestuia o cerere, sub forma uneimetode. Metoda se refer la o anumit resurs, identificat via URI; mai trebuie adugate versiuneade protocol utilizati un mesaj de tipMIMEcare s conin parametrii metodei, informaii relativela client i un eventual coninut suplimentar. Serverul v rspunde cu o linie de stare, incluzndversiunea de protocol utilizati un cod de succes sau eroare, la care se adaug un mesaj de tipMIME coninnd informaii relative la serveri eventual un coninut suplimentar.

    Acest posibil coninut suplimentar este de regul o entitate - o reprezentare particular a unor datenecesare n cerere sau n rspuns, i este structurat ntr-un antet(header) coninnd metainformaiirelative la date (o descriere a felului n care trebuie citite datele) i datele propriu-zise, careformeaz corpul entitii.

    1.3. Adresarea unei resurse n Web

    Adresarea unei resurse via http se face prin construcii (iruri de caractere) de forma

    http://adresa_host_in_retea[:port]/cale/subcalel/.../subcalen/nume_document

    http: specific tipul protocolului; el trebuie precizat dat fiind faptul c http nu este singurul protocolprin care poate fi accesat o anumit resurs din Internet.

    adresa_host_in_retea (de exemplu www.xxx.ro sau www.stpt.com) identific un server sau ungateway din reea, folosind adresarea uzual de tip DNS (Domain Name Service) din Internet:

    numehost.subdomeniul.subdomeniu2..subdomeniun.domeniu_de_baz

    Deci www.xxx.ro s-ar citi serverul www din subdomeniulxxx din domeniul de bazro.

    :port poate lipsi, ceea ce nseamn c se presupune implicit c se face referin la portul standard,80. Dac se specific un alt port, se va adresa acesta.

    Cale/subcalel/.../subcalen/nume_document identific calea absolut pn la documentul identificatde nume_document de pe serverul respectiv. Nu ntotdeauna ns resursa referit este undocument! Poate fi o fraciune dintr-un document, caz n care se face referire la fragmentul

    respectiv:Cale/subcalel/.../subcalen/nume_document#capitolul2paragraful3

    Sau, mai general, poate fi un program cruia trebuie s i se paseze civa parametri i o anumitcerere:

    Cale/subcalel/.../subcalen/nume_program;paraml;param2;...;paramn?cerere

  • 8/8/2019 Curs HTML 4.0

    10/184

    12

    Exemplu:

    Urmtoarea referin

    http://guaraldi.cs.colostate.edu:2000/cgi-bin/savvyfrontend?KW=cuvnt_cheie & classic=on & tl=x& Boolean=AND & Hits=10 & Mode=MakePlan & df=normal & AutoStep=on.

    se va citi http://guaraldi.cs.colostate.edu:2000 ne spune c se va face o conexiune via http cuserverul guaraldi.cs.colostate.edu, utiliznd portul 2000 al acestuia. Pe acest server se va adresa

    programul savvy-frontend din directorul cgi-bin/, cruia nu i se paseaz ali parametri dect ceiinclui n felul n care a fost formulat cererea: KW=cuvnt_cheie & classic=on & tl=x &Boolean=AND & Hits=10 & Mode=MakePlan & df=normal &A utoStep=on.

    Specificarea unei resurse nu trebuie s fie totdeauna absolut, ca n exemplul dat. Dac ne-am plasatdeja ntr-un subdirector oarecare al unui server, se pot folosi adrese relative, care omit calea pn nacel director: subcalel/subcale2/.../subcalem/nume_resursa sau chiar puri simplu nume resurs,dac resursa se afl n acelai director.

    n HTML adresarea URI se folosete pentru:

    crearea unei legturi spre un alt document sau spre o alt resurs (a se vedea elementele A iLINK)

    crearea unei legturi spre un stil de pagin (style-sheet) extern sau spre un script aflat ntr-unfiier surs extern (a se vedea elementele LINKi SCRIPT)

    Includerea ntr-o pagin a unei imagini, a unui obiect sau a unui applet (a se vedea elementeleIMG, OBJECT, APPLET i INPUT).

    crearea unei imagini senzitive (a se vedea elementele MAP i AREA). transmiterea unui formular interactiv (a se vedea elementul FORM). crearea unui document cu frame-uri (a se vedea elementele FRAME i IFRAME). citarea unei referine externe (a se vedea elementele Q, BLOCKQUOTE, INS i DEL). referirea unor conveii de metadate care descriu un document (a se vedea elementul HEAD).

    1.4. Elementele conexiunilor n spaiul WWW

    n cazul cel mai simplu, legtura dintre client i server se realizeaz prin intermediul unei singureconexiuni. De foarte multe ori ns, este posibil s existe mai muli intermediari n conexiune.Acetia pot fi de trei feluri: proxy, gateway sau tunnel.

    Unproxy este un intermediar sofisticat: el primete cererile adresate unei resurse identificate printr-un URI, rescrie anumite pri ale mesajului sau chiar tot mesajul, dup care va transmite mesajul

    modificat ctre serverul adresat iniial. Cu aceast ocazie el se i substituie clientului iniial:rspunsul i va veni tot lui, iar proxy-ul va face probabil o rescriere a mesajului de rspuns ctreclient. Dinspre server, nu se mai vede cine este clientul adevrat: toi clienii ce trec prin proxysnt ascuni, serverul primind numai cereri de la proxy. Acesta poate face n plus, ntr-un singurloc, o serie de verificri, relative la autentificare, securizare etc., care ar fi greu de implementat pemulte i diverse maini - toate calculatoarele client care trec prin acel proxy. Un proxy reprezintnspre restul lumii un grup de clieni, putndu-i trata pe acetia difereniat.

    Ungateway este similar unui proxy, dar pe partea de server. Este un receptor, un fel de camer de

  • 8/8/2019 Curs HTML 4.0

    11/184

    13

    primire pus n faa unui server sau a unui grup de servere. Serverele de dup gateway nu se vdn restul lumii - ele snt, toate, reprezentate de gateway. Cererile sosite la gateway snt dirijate ctreserverele corespunztoare cererii (sau ctre serverul cel mai liber, de exemplu, dac faptul c existmai multe servere vine din dorina de a disponibiliza mai mult putere de calcul). De regul are loci o conversie de protocol, nspre protocolul pe care l cunoate sau l folosete un anumit server,care nu mai este obligat n felul acesta s cunoasc http.

    Un tuneleste un intermediar neinteligent: el transport date pe care nu le nelege sau interpreteazn nici un fel ntre dou conexiuni. Nu are loc nici un fel de schimbare a mesajelor, dect temporar,trecnd printr-o form intermediar, ntre intrarea n i ieirea din tunel; coninutul mesajelor nu seschimb.

    n cazul unei conexiuni mai complexe, o situaie comun ar putea fi cea din figura urmtoare:

    O cerere sau un rspuns care parcurge drumul din figur va traversa patru conexiuni. Acest lucrutrebuie avut n vedere; exist unele opiuni relative la comunicaie care se refer numai la primulvecin, dac acesta nu se afl n spatele unui tunel, altele care se refer numai la punctele finale aleconexiunii iar altele care se pot referi la toate conexiunile de pe traseu.

    Iar dac diagrama simplificat de mai sus este linear, nu trebuie uitat faptul c fiecare participantpoate fi angajat simultan n comunicaii multiple. Proxy-ul din figur poate lucra deodat cu muliclieni, care se adreseaz la mai multe servere i care pot fi gsii prin conexiuni diferite.

    Oricare dintre participanii la conexiune cu excepia tunelului poate face uz de un cache intern cares scurteze drumul unui ciclu cerere/rspuns. Exemplul anterior ilustreazi drumul unei cereri cares-a mai fcut o dat de ctre client, dar se afl nc n cache-ul proxy-ului:

    Desigur, nu toate rspunsurile se preteaz la a fi pstrate un timp n cache (pe ideea c poate maicere cineva acelai lucru); pe de alt parte, cererile de la clieni pot formula anumite opiuni

    specifice relative la cache (nu accept dect rspunsuri de la server direct, nu accept rspunsurimemorate mai mult de x minute, etc.)

    1.5. Protocolul HTTP

    1.5.1. Introducere general

    Este un protocol la nivel aplicaie destinat sistemelor de informare distribuite, colaborative, degenul hypermedia. Aprut ca protocol de baz pentru WWW nc din 1990, a cunoscut o serie de

  • 8/8/2019 Curs HTML 4.0

    12/184

    14

    transformri, o versiune final neexistnd nici n prezent. Versiunea cea mai folosit este nc 1.0,iar versiunea 1.1 - compatibil n jos cu 1.0, dar aducnd mbuntiri n special n direciafolosirii mai eficiente a resurselor - este pe cale s se impun ca nou standard. De aceea, o parte dinaspectele care urmeaz nu trebuie privite ca referine btute n cuie, ci ca instantanee ale uneispecificaii pe cale s se nasc, extrase dintr-o schi, un draft care poate se va mai schimba mult.

    Numele este acronimul pentru HyperText Transfer Protocol, dei la origine hypertext a fostdefinitoriu, practica curent l-a dus destul de repede nspre hypermedia - documentele vehiculatecuprinznd nu numai text, ci i sunet, imagine sau informaii structurate.

    Aplicaiile care folosesc protocolul - cei doi parteneri n discuie, cele dou capete ale uneiconexiuni - snt entiti abstracte din punct de vedere al protocolului. Ele trebuie doar s poatcomunica ntre ele ceea ce nseamn, n principiu, posibilitatea de a primi sau formula cereri i de aformula sau recepiona rspunsuri, ca n celebrul exemplu al filozofilor ce vorbesc dou limbidiferite, folosind pentru comunicare translatorii care trimit mesajele filozofilor (traduse) prinintermediul potailor. Nici un nivel nu se preocup de cellalt.

    Cererile formulate n protocolul HTTP se refer la informaii care se pot afla stocate n diverse bazede date, n diverse formate, pe diverse calculatoare. Cum anume se traduc n cereri concrete datediferite, este o problem care depete protocolul: sarcina lui este doar s fixeze regulile caretrebuie respectate de cele dou aplicaii participante la un moment dat n comunicare pentru ca s se

    poat nelege fr nici un fel de risc de interpretare eronat a unei cereri sau a unui rspuns.

    1.5.2. Mesajele protocolului HHTPAtunci cnd se transfer ceva utiliznd WWW se specific o resurs: serverul cruia am vrea s-iadresm cererea, ce conine aceasta, cu ce protocol lucrm. Pentru ca aceast cerere s ajung laserver trebuie s trimitem un mesaj care s conini resursa specificat mai sus. Mesajul vaconine un i r de caractere de forma:

    GET specificare_resurs HTTP/1.1 CRLF

    Forma general a unui mesaj de cerere este conform schemei de mai sus:

    FILOZOFII

    TRANSLATORIIPOTAII

  • 8/8/2019 Curs HTML 4.0

    13/184

    15

    Metod resurs versiune_protocol CRLF

    Versiunea de protocol trebuie specificat deoarece nu toate serverele au implementat ultimaversiune sau nu toi clienii o cunosc. Deci, pentru ca totui un server detept s se poat nelegei cu un client mai puin dotat, sau invers, i fr a renuna la posibilitile introduse de versiunile(mereu mai) noi ale protocolului, trebuie s se realizeze mai nti o negociere ntre serveri client,relativ la ce tie fiecare i abia apoi s se desfoare transferul propriu-zis de date.

    1.5.3. Metodele protocolului HHTP

    Metodele snt de fapt operaiile care pot fi aplicate obiectelor constituite de resursele din reea, naccepiunea protocolului HTTP. Metoda va trebui s fie totdeauna primul element dintr-o linie decerere. Metodele prevzute n versiunea 1.1 snt urmtoarele: OPTIONS, GET, HEAO, POST,PUT, PATCH, COPY, MOVE, DELETE, LINK, UNLINK, TRACE, WRAPPED.

    OPTIONS semnific o cerere relativ la informaiile ce definesc opiunile de comunicaredisponibile pe conexiunea ctre URI-ul specificat n cerere. Metoda permite determinarea opiunilori/sau posibilitilor unui server, fr s determine o aciune din partea resursei adresate.

    i metoda are nevoie de parametri, nu numai resursa, iar n HTTP termenul consacrat pentruparametrii metodelor este header field sau antet de cmp. Definite n cadrul protocolului pentrufiecare metod, antetele de cmp pot avea valori care la rndul lor snt definite (dar nu limitate,extensiile fiind n principiu totdeauna posibile).

    Exemplu:

    O cerere de tipul

    OPTIONS www.xxx.ro HTTP1/1 CRLF Accept: audio/*; q=0.2, audio/basic CRLF

    reprezint o cerere de definire a opiunilor ctre serverul www.xxx.ro, n care clientul solicitantspune c prefer audio/basic, dar accept orice tip pentru date audio n cazul n care calitateareprezentrii nu scade sub 20%.

    Exemplu:

    Iar o cerere de genulOPTIONS www.xxx.ro HTTP1/1 CRLF Accept: text/plain; q=0.5, text/html, text/x-dvi;

    q=0.8; mxb=100000, text/x-c CRLF

    specific urmtoarele preferine relative la modul de reprezentare al textului: x-c sau html, dacsnt disponibile; dac nu, x-dvi, dar numai dac textul nu depete 100000 de octei, sau plainaltfel.

    Virgula separ opiuni posibile, punct-virgul separ determinrile sau preferinele suplimentarerelative la o anumit opiune.

    GET este una dintre cele mai importante metode i singura care era disponibil n prima versiune aprotocolului, HTTP/0.9. GET este metoda care aduce ceva de la resurs; mai concret, dac

    resursa este un proces care produce date (o cutare de pild), rspunsul la metoda GET va fi oentitate care s cuprind acele date. Rspunsul este unul singur: aceasta este o caracteristic de baza protocolului. Chiar dac volumul de date care trebuie incluse n rspuns este mare, nu se face ofracionare n bucele mai mici, care s permit transferul mai uor al rspunsului. Din punct devedere al protocolului HTTP, discuia este totdeauna simpl: o ntrebare are un rspuns. Nu se pot

    pune mai multe ntrebri pentru a obine un singur rspuns, nu se pot formula mai multe rspunsurila o ntrebare.

    Exist totui dou posibiliti de a micora volumul de date care s circule pe reea n urma

  • 8/8/2019 Curs HTML 4.0

    14/184

    16

    elaborrii unui rspuns; o condiionare de genul dac s-a schimbat ceva i posibilitatea de a preluanumai o parte din acesta. De exemplu, o cerere de genul:

    GET www.xxx.ro/?cerere HTTP/1.1 If-Modified-Since: Wed, 24 Mar 1999 1:00:00 GMT

    va aduce ceea ce s-a cerut numai dac s-a modificat ceva dup data i ora specificate n parametriimetodei.

    HEAD este o metod similar cu GET, folosit n principiu pentru testarea validitii i/sau

    accesibilitii unei resurse, sau pentru a afla dac s-a schimbat ceva. Sintaxa este similar metodeiGET; spre deosebire de GET ns, datele eventual produse de resurs n urma cererii nu snttransmise; doar caracteristicile acestora, i un cod de succes sau eroare. Ceva de genul daci-acere s execui cererea mea, ce mi-ai rspunde?.

    POST este metoda prin care resursei specificate n cerere i se cere s i subordoneze datele inclusen entitatea care trebuie s nsoeasc cererea. Cu POST se poate aduga un fiier unui anumitdirector, se poate trimite un mesaj prin pot electronic, se poate aduga un mesaj unui grup detiri, se pot aduga date unei baze de date existente, etc. Metoda POST este general; care snt

    procesele pe care un anumit server le accept sau cunoate i snt strict specifice.

    PUT este o metod care cere serverului ceva mai mult dect POST: s stocheze/memoreze entitateacuprins n cerere cu numele specificat n URI. Dac resursa specificat exist deja, entitatea nou

    trebuie privit ca o versiune modificat care ar trebui s o nlocuiasc pe cea existent. Serverul,bineneles, va accepta sau nu aceast cerere, funcie de drepturile de acces pe care i le-a acordatclientului, i va rspunde cererii cu informaii corespunztoare (s-a fcut, nu pot, nu ai voie sfaci treaba asta etc.). Pentru a evita situaii care s duc la ncrcarea excesiv si nejustificat areelei - de exemplu, un client care vrea s posteze un text de 10 MB, fr sin seama de faptulc serverul nu mai are att loc att o cerere de tipul POST ct i una de tipul PUT se desfoar n doitimpi: nti, clientul trimite numai parametrii metodei, fr s trimit datele efective pe care le vrea

    postate. Dup care ateapt 5 secunde. n acest timp, dac serverul rspunde, clientul ia n seamianalizeaz rspunsul serverului (iar dac acesta este nu mai am loc, datele nu se mai transmit).Dac nu sosete nici un rspuns n timpul de ateptare, se consider implicit c serverul acceptdatele i acestea snt transmise de ctre client.

    PATCH este o metod similar lui PUT, dar nu conine toate datele care s defineasc resursa, cinumai diferenele fa de versiunea existent pe server. Cu toate informaiile necesare care s ipermit serverului s reconstruiasc o versiune la zi a resursei.

    COPY, MOVE i DELETE snt metode prin care se cere ca resursa specificat n URI-ul dincerere s fie copiat n locaiile specificate ca parametri pentru metod, mutat acolo sau respectivdoartears.

  • 8/8/2019 Curs HTML 4.0

    15/184

    17

    LINKi UNLINKsnt metode prin care resursa specificat n cerere este legat/dezlegat de alteresurse, stabilind una sau mai multe relaii cu acestea din urm, specificate ca parametrii pentrumetod. Ar putea fi de exemplu un index pentru o baz de date, un cuprins pentru un set dedocumente, etc.

    TRACE este o metod care i permite clientului s vad cum ajung cererile sale la server, pentru averifica/diagnostica conexiunea, pentru a se verifica pe sine sau pentru a determina felul n careeventualele proxy-uri de pe parcurs au modificat cererea iniial. Serverul, n rspuns la aceastcerere, va trimite n ecou cererile care i vin de la client, fr s le mai trateze ca cereri reale.

    WRAPPED este o metod care contrazice principiul protocolului de a trimite totdeauna o singurcerere i a atepta un singur rspuns. Via WRAPPED, mai multe cereri, care n mod obinuit ar fisuccesive, snt mpachetate ntr-una singur. Iar o alt aplicare a metodei intete msuri desecurizare - o cerere poate fi cifrati transmis prin metoda WRAPPED, ceea ce va determinaserverul s acioneze n doi pai: nti s descifreze cererea real, iar apoi s i dea curs acesteia.

  • 8/8/2019 Curs HTML 4.0

    16/184

    18

  • 8/8/2019 Curs HTML 4.0

    17/184

    19

    Capitolul 2.

    Descriere general a limbajului HTML

    2.1. Introducere, istorie, versiuni

    Ce este HTML?

    Limbajul a fost dezvoltat iniial de oamenii de tiin ca o unealt utilizat la partajareadocumentelor (rapoarte de cercetare, documentaii, etc) n ntreaga comunitate tiinificinternaional care utiliza (i utilizeaz) Internetul. Pentru a publica informaii care s fie distribuiteglobal n Internet este necesar un limbaj universal de descriere a acestora (o mam a tuturorlimbajelor de publicare), limbaj care s fie potenial neles de toate computerele din Internet.Limbajul folosit de World Wide Web este HTML.

    HTML se aseamn cu modalitile de formatare a textelor de la un procesor de texte uzual nsensul c adaug textului ce se dorete a fi publicat (afiat) informaii de formatare i permite nglo-

    barea i altor tipuri de informaii (imagini, sunete, etc). Toate acestea indic modul de afiare

    (prezentare) pentru programele capabile s neleag aceste informaii. Ceea ce l deosebete detoate celelalte formate ale procesoarelor de texte este faptul c un document HTML este undocument ce conine informaie n format text-pur (numai caractere ASCII), n timp ce

    procesoarele de texte folosesc formate particulare (proprietare). Astfel, un document HTML poate fiafiat (prezentat) de un numr mare de programe (browsere Web) care ruleaz pe un mare numr de

    platforme.

    Documentele HTML pot fi create cu un editor de texte (document salvat ca text only with linebreaks) sau cu editoare HTML care permit crearea vizual (WYSIWYG) a documentelor HTML,rezultnd ns tot documente n format text pur.

    Limbajul HTML d autorilor posibilitatea:

    s publice documente cu headere, texte, tabele, liste, fotografii, etc...

    s regseasc on-line informaii prin intermediul hiperlink-urilor accesate printr-un simpluclick de mouse

    s proiecteze formulare pentru realizarea tranzaciilor cu servere aflate la distan, pentrucutari de informaie sau pentru activiti specifice comerului

    s includ foi de calcul tabelar, clipuri video, sunete i alte aplicaii direct n documenteCaracteristicile limbajului HTML.

    HTML are patru caracteristici principale:

    1.Folosete un marcaj descriptiv pentru a indica diversele aciuni (instruciuni) ce trebuieexecutate. Aceasta nseamn c pri ale documentului descris de HTML snt marcate cunume descriptive, ca de exemplu sau care snt aplicabile oricrei

    poriuni de date corespunztoare din document.

    2. Definete structuri de documente ierarhicei (hyper)legturi intra-i inter-documente. Olegtur (sau interconexiune) este o relaie unar ntre dou elemente ale unui document.Structura unui document este nsoit de astfel de legturi ntre elementele sale.

    3. Limbajul HTML este guvernat de o descriere formal. HTML are o descriere a tipului

  • 8/8/2019 Curs HTML 4.0

    18/184

    20

    documentului (Document Type Definition DTD) care stabilete specificaiile formale alelimbajului. DTD definete sintaxa limbajului, descrie fiecare element individual al unuidocument scris n limbajul HTML, definete atributele permise pentru fiecare element i descriemodelul datelor coninute n fiecare element (adic stabilete care alt element, dac este vreunul,

    poate s apar ntr-un element). n corelaie cu informaiile despre elemente, DTD ofer definiiipentru entitile externe ce pot fi referite n HTML (de exemplu, setul de caractere ISO-Latin-1folosit pentru a reprezenta caracterele pe ecranul unui display).

    4. Att specificaiile limbajului cti limbajul nsui pot fi citite (interpretate)i de om dari decomputer. Datorit faptului c elementele de marcare snt separate de text prin iruri dedelimitare alctuite din caractere tipribile, textul i marcajele pot coexista n pace inelegere att pentru om, ct i pentru computer.

    De ce HTML?

    HTML este un limbaj bazat pe SGML (Standard Generalized Markup Language), o aa-numitaplicaie a acestuia. SGML este un standard internaional (ISO-8879) aprobat n 1986.

    SGML ofer o modalitate de a reprezenta structura documentelori hyper-documentelor. Estetotodati o cale de a codifica hyper-documentele astfel ca acesta s poat fi interschimbate

    asemntor procesului de interschimbare a unor documente n cazul mai multor autori carecolaboreaz utiliznd platforme diferite aflate la distan.

    SGML este un sistem complex de descriere a documentelor. Este utilizat pentru descrierea structuriigenerale a diferitelor tipuri de documente fr s fie un limbaj de descrierea a paginii (cum estePostScript). Principala preocupare a SGML (i prin urmare i a HTML care a fost preferat pentru

    publicaiile pe Web fiind mai simplu) se rsfrnge asupra coninutului documentului, nu asupraaspectului lui.

    Deci, n virtutea trsturilor motenite de la SGML,HTML este un limbaj pentru descriereadocumentelor structurate. Teoria din spatele acestui limbaj se bazeaz pe faptul c majoritateadocumentelor au elemente comune (de pild: titluri, paragrafe sau liste) i c dac defineti un setde elemente, poi marca elementele documentului cu tag-urile corespunztoare.

    Majoritatea tag-urilor HTML arat de forma: Textul afectat de tag iindic navigatorului elemente de structura documentului, formatare, hypertext sau alte elemente(imagini, fiiere sonore, etc). Documentele HTML conin doar textul propriu-zis i tag-urile HTMLiar sursa lor poate fi uor vzut din orice navigator.

    Diferena major dintre procesoarele de texte i procesoarele HTML este c acesta din urm nu sepreocup de cum anume vor aprea pe ecran elementele (marcate ale) documentului. Cu foartepuine excepii, HTML nu descrie modul de prezentare al documentului ca un ntreg (layout).HTML ofer (deocamdat) un suport redus n stabilirea plasamentului sau felului n care vor fiafiate elementele documentului. Proiectanii HTML au ales intenionat aceast variant. Motivuleste simplu. Deoarece nu cunoatem posibilitile platformei pe care va fi vzut documentul(dimensiunea ecranului, fonturile instalate, etc), prin separarea structurii documentului de felul n

    care este afiat se ofer o mai mare libertate programului care nelege HTML i afieazdocumentul. Acesta poate s ia hotrri privind formatarea documentului pe baza posibilitilorplatformei respective. Este ceea ce fac navigatoarele Web, n afara funciilor de comunicare iaducere a documentelor de pe Net.

    Cnd navigatorul ncarc un document HTML, el citete documentul n cutarea tag-urilorHTML, formateaz textul i imaginea i le afieaz pe ecran. Este motivul pentru care acelaidocument HTML apare uor diferit cnd este privit cu navigatoare diferite. Dei n aceast faz dedezvoltare posibilitile de formatare oferite snt nc destul de limitate, oferind un control destul deredus asupra formei documentului, avantajul faptului c documentele pot fi transferate i vzute

  • 8/8/2019 Curs HTML 4.0

    19/184

    21

    oriunde pe Net, independent de platformi de navigator, a condus la rspndirea sa foarte rapid.

    Orice versiune a HTML include elemente cum ar fi: text centrat sau aliniat dreapta, tabele, formulematematice, aliniere imagine i text. Extensiile, care au aprut n numr mare n ultima vreme, sntseturi de tag-uri HTML introduse de diverse companii (n general cele productoare de navigatoare)care permit autorilor de documente HTML s evite o parte din constrngerile standardului. Cele mairspndite snt extensiile Netscape i Internet Explorer.

    Dar de ce a fost preferat HTML pentru publicaii pe Web, cnd pentru realizarea publicaiilorelectronice exist mai multe tehnologii? Primul motiv este simplitatea. Al doilea este c permiteformatarea textului ASCII cu tag-uri n format ASCII. Rezult de aici o compresie bun, suport

    pentru legturi hypertext i uurin n a scrie navigatoare pentru vizualizarea documentelor.

    Istoria HTML.

    Nscut n urm cu aproximativ 30 de ani, ntr-o tentativ de a rezolva unele probleme ivite latransportul documentelor ntre diferite computere, limbajul hypertext a evoluat ncet. HTML din

    prima generaie este neles de primele navigatoare (modul text). Nivelul 1 este obligatoriu pentrutoate navigatoarele i nseamn posibilitatea de a interpreta (hyper)text plus imagini. Nivelul 2(HTML 2.0) a adus o contribuie deosebit la realizarea unei interactiviti reale prin intermediul

    formularelor (forms). HTML 3.0 (cunoscut anterior ca HTML+) aduce n plus tabelele, formatareaparagrafelor (alinieri stnga, centru i dreapta), curgerea textului pe lng imagini, tabele, formulematematice, taburi, note i o mulime de alte trsturi n aparen de mai mic importan dar carefac munca cu HTML mult mai plcut. Cele mai importante modificri i mbuntairi snt adusens de HTML 4.0, versiune care mbuntete totodati conceptele de accesibilitate istructuralitate a limbajului de marcare. Informaii despre dezvoltarea HTML se pot prelua de laadresa: http://www.w3.org

    Limbajul HTML a fost dezvoltat iniial de Tim Berners-Lee la Laboratorul European pentru FizicaParticulelor (CERN) i popularizat de browser-ul Mosaic dezvoltat la NCSA i a beneficiat deexplozia Web-ului din anii 90. n aceast perioad HTML-ul s-a dezvoltat n multiple direcii, darera dependent de autorii paginilor HTML i productorilor de echipamente care, dei foloseauaceleai convenii pentru limbaj, aveau implementri incompatibile. De aceea s-a impus ca onecesitate absolut standardizarea HTML-ului ntr-un efort global al ntregii comuniti aInternetului. i acum HTML este un limbaj marcat de un deosebit dinamism, standardizareadiverselor versiuni fiind ns deosebit de anevoioas datorit lipsei consensului.

    Organismul care guverna protocolul TCP/IP (fundamentul Internetului), standardelearhitecturale ale Internetului, precum i reeaua Internet a Statelor Unite era n acea perioad IAB Internet Arhitecture Board, cunoscut la nceputurile sale ca Internet Activities Board. Acesta delegaresponsabilitile de dezvoltare, operare i management a Internetului i a protocoaleloriserviciilor legate de acesta unor subcomitete, grupuri de lucru i organizaii de lucru pe care lecontrola. n plus avea contracte cu companii comerciale specializate n comunicaii pentrugestionarea infrastructurii Internetului.

    Subgrupul care se ocupa (i se ocupi acum) cu dezvoltarea i implementarea protocoalelor esteIETF - Internet Engineering Task Force. Acesta este alctuit dintr-un comitet director (careraporteaz la IAB) i o serie de grupuri de lucru, fiecare dintre acestea responsabile cu un anumit

    protocol sau serviciu aflat n dezvoltare sau ntreinere. Grosul activtii de dezvoltare istandardizare a protocoalelor este astfel realizat de aceste grupuri de lucru din cadrul IETF.

    Documentele care specific aceste protocoale i servicii snt numiteRequest for Comments, maicunoscute sub numele de RFC. Acestea primesc coduri numerice prin intermediul crora sntreferite ulterior. Chiar dac numele sugereaz o solicitare de comentarii asupra unui subiect (ceeace constituie, de altfel, i modalitatea principal de dezvoltare a acestor documente prin

  • 8/8/2019 Curs HTML 4.0

    20/184

  • 8/8/2019 Curs HTML 4.0

    21/184

    23

    urmeaz o perioad de 6 sptmni n care toi membrii W3C au ansa s voteze aceastpropunere de recomandare; votul nu este obligatoriu i se poate vota n 4 moduri diferite:

    da da, sub rezerva unor mbuntiri nu, pn cnd anumite sarcini nu snt ndeplinite nu, specificaia trebuie abandonat

    charta W3C stipuleaz necesitatea obinerii consensului complet, astfel c fiecare vot trebuie sfie un da fr rezerve

    dac toi paii anteriori au fost ndeplinii, specificaia trebuie aprobat n final de Directori sepublic sub forma unui standard (W3C Recommendation)

    HTML 2.0 a fost publicat ca standard (versiune oficial) sub forma Request for Comments RFC1866 n noiembrie 1995 i reprezint eforturile de codificare i standardizare ale InternetEngineering 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 msur bazat pe HTML+(aprut n 1993) care, dei nu a fost adoptat ca standard a dus la adoptarea a numeroasembuntiri. Unul dintre motivele care au condus la neacceptarea draftului a fost marimeaconsiderat exagerat a acestuia. De aceea urmtoarele versiuni au fost i vor fi introduse ntr-unmod modular. Aceast versiune se poate prelua de la adresahttp://www.w3.org/MarkUp/html3/CoverPage. Ea a venit dup ce Netscape ncepuse s introduc oserie de noi taguri i atribute care nu erau complet specificate (versiunea aceasta de HTML fiindcunoscut sub numele de cod Mozilla), conducnd n acest fel la o implementare neuniform n alte

    browsere.

    Eforturile grupului de lucru asupra HTML din cadrul World Wide Web Consortium din aceastperioad ndreptate spre eliminarea inconsistenelor ntre specificaiile diverselor firme/browsere auavut ca rezultat apariia standardului (cu numele de cod Wilbur)HTML 3.2, n 11 ianuarie 1997,

    acestea putnd fi accesate la adresa http://www.w3.org/TR/REC-html32. mpreun cu W3C aulucrat la aceste specificaii IBM, Microsoft, Netscape Communications Corporation, Novell,SoftQuad, Spyglass i Sun Microsystems. Aceast versiune este o aplicaie SGML ce seconformeaz standardului internaional ISO 8879 ale crui specificaii se afl la adresahttp://www.iso.ch/cate/d16387.html. Ca aplicaie SGML, sintaxa documentelor este definit decombinaia dintre o declaraie SGML (SGML declaration) i definirea tipului documentului(document type definition - DTD).

    VersiuneaHTML 4.0 a devenit o recomandare (standard) W3C la 18 decembrie 1997 (avndnumele de cod Cougar) i poate fi accesat la adresa http://www.w3.org/TR/REC-html40. iaceast versiune este o aplicaie SGML ce se conformeaz standardului internaional ISO 8879 alecrui specificaii se afl la adresa http://www.iso.ch/cate/d16387.html. Ca aplicaie SGML,

    specificaia HTML 4.0 include o declaraie SGML (1 SGML declaration), trei definiii ale tipuluidocumentului (3 document type definition - DTD) i o list de referine la caractere. n momentulapariiei acestui standard, W3C recomand autorilor producerea de documente HTML 4.0, dar

    pentru motive evidente de compatibilitate cu versiunile anterioare, W3C recomand uneltelor ceinterpreteazi suport 4.0 s continue s suporte i HTML 3.2, precum i HTML 2.0.

    n ianuarie 1999 existi propunerea (draftul)HTML 5.0.

    ntreaga comunitate a Internetului este de acord c documentele dezvoltate cu HTML trebuie s fieidentice n diversele browsere i pe diversele platforme ale Internetului. Interoperabilitatea va

  • 8/8/2019 Curs HTML 4.0

    22/184

    24

    asigura astfel costuri reduse furnizorilor (autorilor) de pagini HTML (nu este nevoie dect de osingur versiune!), n caz contrar rspndirea ntr-o multitudine de formate particulare (i

    proprietare ale unor firme) incompatibile reducnd dramatic potenialul (inclusiv comercial) altuturor participanilor. Fiecare nou versiune a ncercat s reflecte un consens din ce n ce mai marentre participani, astfel ca investiiile fcute s nu fie irosite, iar documentele dezvoltate s devinimposibil de folosit dup o perioad foarte scurt de timp. Limbajul HTML se dezvolt cu dorinaca toate tipurile de computere i diversele periferice ale acestora s poat folosi informaia de pe

    Web: PC-urile cu display-uri de diverse rezoluii i capabiliti de redare a culorii, periferice pentrucuplare prin intermediul vocii, telefoane celulare, etc...

    Ce trebuie s fac un autor de pagini HTML?HTML 4.0 este n acest moment (ianuarie 1999) standardul acceptat de comunitatea Internet i dectre productorii majori de browsere i unelte de dezvoltare pentru Internet (Netscape cu

    browserul Navigator 4.x i cu browserul Microsoft Internet Explorer 4.x), primind suport aproapeuniversal. W3C recomand chiar autorilor de documente i unelte pentru HTML s producdocumente HTML 4.0 n locul HTML 3.2, dar din motive de compatibilitate (uor de neles) serecomand ca uneltele ce interpretez HTML 4.0 s suporte n continuare HTML 3.2 i 2.0.

    Btliile se dau n continuare pentru standardele legate de DHTML (CSS Level 2 i DOM). Chiar

    dac modul n care a fost creat versiunea 4.0 i soliditatea organismului care a generat-o indic omare stabilitate, Microsoft a fcut deja pai importani pe cale 5.0 i spre DHTML, urmat, aproapecu disperare, i de ctre Netscape (la sfritul anului 1998 cumprat de AOL). Concluzia ce se

    poate desprinde este aceea c dinamismul procesului nu poate fi combtut dect printr-opermanent informare de la organismul care impune standardele (W3C) i adaptare la cerineleacestora.

    Revoluia HTML 4.0.Elementul esenial diferit adus de versiunea 4.0 fa de versiunea 3.2 este posibilitatea separriistructurii unui document de prezentarea lui prin introducerea stilurilor de documente (style sheet).Utiliznd limbajul HTML pentru descrierea structurii unui document i style sheet-urile pentru a

    sugera prezentarea acestuia, autorii obin mult mai uor independena deperiferic/computer/platform hard-soft care a fcut HTML-ul att de popular. Un document cu ostructur complex poate fi prezentat n diferite moduri pe medii diferite, permind documentuluinsui s se adapteze mai uor noilor tehnologii (cum ar fi, de exemplu, browser-ele capabile svorbeasc, cititoarelor braille, etc.).

    n plus separarea coninutului de prezentare permite modificarea nfirii eventual chiar a unuintreg site doar prin modificarea unui style-sheet (unui document care descrie stilul). Experiena ademonstrat c o astfel de abordare reduce dramatic costurile de deservire a unui spectru larg de

    platforme, facilitnd i o ntreinere i modificare mult mai uoare.

  • 8/8/2019 Curs HTML 4.0

    23/184

    25

    Alte mbuntiri semnificative aduse de 4.0 pot fi considerate i:

    I. Tehnologia client-side scripting.

    Prin intermediul scripturilor autorii pot realiza pagini HTML dinamice (care reacioneaz laaciunile utilizatorilor) sau se pot realiza aplicaii distribuite. Mecanismul de includere a scripturilorn paginile HTML este independent de limbaj. Se poate specifica limbajul scriptului, se poateinclude un script extern sau se poate referi rezultatul execuiei unui script. Aceste scripturi se

    execut pe computerul care ruleaz browserul Web (clientul).II. Documentele compuse

    HTML ofer acum un mecanism standard pentru a ngloba obiecte generice i aplicaii ndocumentele HTML. Elementul OBJECT permite includerea imaginilor, clipurilor video, sunetului,formulelor matematice, aplicaii specializate i alte obiecte ntr-un document.

    III.Internaionalizarea

    Aceast versiune a fost proiectat cu ajutorul experilor n internaionalizare, astfel ncitdocumentele pot fi scrise n orice limbi transportate uor oriunde n lume. Elementul cheie lconstituie adoptarea standardului ISO/IEC 10646 ca set de caractere pentru HTML. Acest standardeste cel mai complet standard ce permite reprezentarea oricror caractere internaionale, direcie a

    textului, punctuaie sau cerine specifice ale unei limbi.IV.Accesibilitatea

    Odat cu creterea diversitii lumii Webului, s-au diversificat i capabilitile utilizatoriloracestuia, astfel nct a devenit important suportarea diverselor tehnologii pentru a suplinii unelelimitri fizice.

    V. Tabele mbuntite

    n aceast versiune se implementeaz un model de tabel, bazat pe RFC 1942. Autorii au acum uncontrol sporit asupra structurii i paginaiei. Snt incluse posibiliti de definire a grupurilor dernduri i/sau coloane, mai mare flexibilitate n definirea regulilor unui tabel. n plus afiareatabelelor se face acum incremental, pe msura ncrcrii paginii, nemaifiind necesar ateptarea

    ncrcrii integrale a tabelelor.VI.Model mbuntit de mprire a unui document n frame-uri

    Includerea frame-urilor n HTML 4.0 ofer posibilitatea de a prezenta documente multiple ntr-osingur fereastr. Modelul este preluat din propunerea original a firmei Netscape.

    VII.Imprimare mbuntit a paginilor Web

    Operaia de imprimare a unui numr mai mare de pagini legate ntre ele poate fi simplificat multprin descrierea relaiilor dintre ele utiliznd elementul LINK sau limbajul specializat RDF (ResourceDescription Language) dezvoltat de W3C.

    Validarea documentelor HTML.

    Fiecare document trebuie validat n vederea eliminrii erorilor cum ar fi lipsa ghilimelelor, elementesau atribute scrise greit i structuri invalide. Aceste erori nu snt ntotdeauna vizibile n browseredeoarece fiecare le recupereaz ntr-un mod propriu. Validarea documentelor se poate face cu unserviciu special al W3C ce poate fi accesat la adresa http://validator.w3.org. Un validator verificun document n ceea ce privete definiia tipului documentului (DTD) i nu sigurana legturilor dindocument.

  • 8/8/2019 Curs HTML 4.0

    24/184

    26

    2.2. Reprezentarea documentelor HTML

    Ca aplicaie (standard) SGML, limbajul HTML trebuie (pentru a se supune normelor deinteroperabilitate) s specifice propriul set de caractere care se folosete n codificareadocumentelor.

    Un set de caractere al unui document const din:

    un repertoar: un set de caractere abstracte, cum snt litera alfabetului latin A, literaalfabetului chirilic I sau semnul chinezesc care nseamn ap

    poziiile codurilor: un set de ntregi ce refer caracterele din repertoarFiecare document HTML este o secven de caractere din repertoar. Computerele identific acestecaractere prin poziia acestora n repertoar. De exemplu n setul de caractere ASCII poziiile 65, 66i 67 refer caracterele A, B i C.

    Caracterele utilizate pentru editarea textelor n documentele HTML ar trebui s aparin setuluistandard ASCII (caractere pe 7 bii) i fr a include caractere din setul extins (pe 8 bii) deoarecediversele platforme utilizeaz definiii diferite pentru caracterele din setul superior ASCII. Dar,acest set de caractere este insuficient pentru un sistem informaional global, aa cum este Webul. Deaceea limbajul HTML utilizeaz un set de caractere mult mai comple, numit Universal Character

    Set UCS (Setul de caractere universal) definit de standardul ISO 10646, standard ce definete unrepertoar de mii de caractere utilizate n ntreaga lume. Acest set de caractere este echivalentcaracter-cu-caracter cu setul Unicode 2.0 definit de W3C.

    Acest set de caractere nu este ns suficient pentru agenii utilizator ca s interpreteze corect undocument HTML transmis ca o secven de bytes ntr-un fiier sau n reea. n afara setului decaractere, acetia trebuie s cunoasci codificarea caracterelor (character encoding) folosit latransformarea documentului ntr-un stream de bytes. Prin codificarea caracterelor (termenul utilizatfiind acela decharset) se poate nelege metoda de conversie a unei secvene de bytes ntr-osecven de caractere. Aceast conversie se potrivete perfect cu schema activitilor Webului:serverele trimit documentele utilizatorilor (agenilor utilizatori) ca un stream (ir) de bytes, iaracetia i interpreteaz ca iruri de caractere. Metoda de conversie poate s merg de la o

    coresponden simpla unu-la-unu pn la scheme i algoritmi complexe. O singur corespondensimpl unu-la-unu nu este ns suficient pentru un repertoar aa de complex ca cel definit de ISO10646 (sau de Unicode). De aceea exist diferite codificri ale unor pri ale acestui repertoar

    pentru a-l acoperi n ntregime. Cele mai uzuale codificri snt: ISO-8859-1/ISO Latin 1 (utilizatpentru limbile Europei de vest), ISO-8859-2/ISO Latin 2 (care suport alfabetul chirilic),SHIFT_JIS (codificare japonez), .a.

    Uneltele software care produc documente HTML le pot codifica oricum (nu se impune nimic)ncercnd s acopere ct mai multe dintre caracterele acestuia. Cele care nu se pot codifica cuschema folosit se pot totui referi prin intermediul caracterelorentiti (acestea referindu-se lasetul de caractere i nu la schema de codificare). Cel care folosete aceste documente (ageniiutilizatori) poate modifica aceast codificare (proces numit transcodare) i nu este obligat s

    proceseze documentul utiliznd aceeai codificare sau o codificare care s acopere ntregul set decaractere. DAR, pentru a obine aceleai rezultate cu cele dorite de autorul documentului, ageniiutilizatori trebuie s fie n primul rnd conformi Unicode (adic s mapeze corect toatecaracterele Unicode n toate codificrile recunoscute) i s cunoasc schema de codificare folositde autor.

    Informaia care specific schema de codificare trebuie s fie oferit de server. Cea mai simpl idirect modalitate de a o specifica este utilizarea unui parametru specific (charset) ntr-un cmp(Content-type) al antetului protocolului HTTP utilizat la transmiterea documentelor.

  • 8/8/2019 Curs HTML 4.0

    25/184

    27

    De exemplu, urmtorul antet HTTP anun c pentru documentul solicitat s-a folosit schema decodificare EUC-JP:

    Content-Type: text/html; charset=EUC-JP

    Dar nu toate serverele tiu s foloseasc acest parametru. Pentru a fixa aceast problem,documentele HTML pot include informaii explicite despre schema de codificare folosit. Pentruaceasta se folosete un element specific al limbajului (META). Pentru cazul de mai sus:

    Mai mult, dac nu se folosete nici aceast metod, limbajul HTML a prevzut un atribut special(charset) ce se poate ataa elementelor din cadrul documentului.

    Implicit, dac nu este folosit nici una dintre aceste 3 posibiliti, se consider documentul codificatISO-8859-1. Fiecare agent utilizator trebuie s ofere o metod/mecanism de a suprapune/suprascrieo informaie incorect despre charsetul (codificarea) folosit.

    2.3. Structura i logica limbajului HTML

    HTML este un limbaj care descrie modul de afiare a unui document (text i informaii de alt tip, deexemplu imagini, animaie, sunete,) folosind dou tipuri de elemente: caractere entitii taguri.

    Tagurile HTML snt elementele specifice limbajului care determin aciunile ce trebuie efectuate laafiarea i parcurgerea ulterioar a documentului (pot fi asimilate cu instruciunile unui limbaj de

    programare). Caracterele entiti se folosesc la descrierea caracterelor din document care nu facparte din setul standard ASCII.

    I. Tag-urile HTML

    Toate tag-urile au nume scrise ntre paranteze unghiulare i (eventual) cteva atributecare pot lua anumite valori. Formatul general al instruciunilor (tag-urilor) HTML este urmtorul:

    Textul afectat de acest tag

    Tagurile pot fi de dou feluri:

    1. Nevide (perechi), ntre care apare textul afectat. Ele au efect numai asupra textului inclus ntreele i snt de dou tipuri:

    de nceputi au formatul de sfriti au formatul

    Exemple de tag-uri nevide:

    Acest text va fi afiat italic

    Acest text va fi afiat ngroat

  • 8/8/2019 Curs HTML 4.0

    26/184

    28

    2. Vide (singulare), au efect imediat n punctul din document n care apar.

    Exemple de tag-uri vide:

    Insereaz o linie orizontal n locul n care apare.

    Specific inserarea unei imagini.

    Tag-urile i atributele pot fi editate att cu caractere mici ct si cu caractere mari, i au acelai efect.

    Atributele tag-urilor au la rndul lor nume i pot lua numai anumite valori. Forma n care snteditate atributele este NUME="valoare". Valoarea trebuie inclus n ghilimele. Dac n tag existmai multe atribute, ele trebuie separate prin spaiu. Formatul general al unui tag ce are i atributeeste urmtorul:

    Textul afectat de tag

    Exemplu:

    Aici NumeTag este IMG i specific inserarea unei imagini. NumeAtribut1 este SRC i are cavaloare calea i numele fiierului imagine (poza.gif). NumeAtribut2 este ALIGN, privete aliniereaimaginii i are ca valoare BOTTOM (jos, n raport cu rndul).

    Formatul tag-urilor trebuie respectat cu strictee. Chiar dac, n general, aproape toate caracterele decontrol ASCII snt ignorate cnd apar n textul HTML (de pild ENTER sau TAB), dac sntintroduse ntre parantezele unghiulare ale tag-urilor le vor face neinterpretabile de ctre navigatoarei prin urmare nu vor avea nici un efect.

    Tag-urile pot fi utilizate i n interiorul altor tag-uri. Acest lucru se face de forma:

    Textul afectat de tag

    Exemplu:

    n acest exemplu, primul tag este ... ce indic existena unei legturi spre alt document,iar al doilea tag este ce indic inserarea n document a unei imagini. Astfel poza-mic.gifeste imagine activ, selectabil, datorit faptului c este cuprins ntre tag-urile ....Activarea ei de ctre cel care privete documentul cu un navigator, va determina serverul s-itrimit documentul aflat n fiierul poza-mare.gif, specificat ca valoare a atributului HREF.

    II. Caractere entiti

    Deoarece o codificare (charset) poate s nu fie capabil s exprime toate caracterele unui set decaractere ale unui document i datorit faptului c codarea intern a computerului care producecaracterele speciale prin apsarea altor taste (de pild ALT + codul numeric) nu este aceeai pentrudiferitele sisteme, pentru afiarea lor corect i pentru a permite translatarea caracterelor specialeeste necesar definirea unuiset special de coduri, numite caractere entiti (referine), care pot fiincluse n documentele HTML pentru reprezentarea acestor caractere speciale. Cnd snt interpretatede ctre navigatoare caracterele entiti snt afiate n mod corespunztorinnd cont de platforma

    pe care ruleaz navigatorul si de fontul utilizat.

  • 8/8/2019 Curs HTML 4.0

    27/184

    29

    Caracterele entiti snt predefinite i pot lua una din dou forme posibile:

    entiti nume (referine caractere) &nume; entiti numere (referine numerice) numar; sau numar;

    Toate caracterele entiti nume ncep cu semnul & (ampersand), urmat de numele entitii (deexemplu care este reprezentat de navigatoare ca ) i terminat cu punct-i-virgul (;), avnddeci forma &nume;. De remarcat c n numele entitilor este semnificativ dac o liter este maresau mic.

    Toate caracterele entiti numere ncep cu semnul & i snt reprezentate de un numr precedat desemnul # (de pild~ care este reprezentat de navigatoare ca ~), terminat cu punct-i-virgul(;), avnd deci forma numar; sau numar; (atunci cnd numrul este n hexa).

    Exemplu:

    Cuvntul rndunica (care conine caracterele speciale i ) poate fi inserat ntr-un documentHTML ca entitate nume sau ca entitate numr, astfel:

    a). rndunica

    b). rndunicaEntitile (referinele) numerice specific poziia (codul) caracterului n setul de caractere aldocumentului, iar entitile nume (referinele caracter) folosesc nume simbolice care permit s nu serein poziia caracterului n cadrul setului de caractere ci doar numele su. n timp ce entitilesnt limitate la un subset al setului de caractere Unicode, referinele numerice pot specifica oricecaracter.

    Utilizarea entitilor n diverse codificri (ISO Latin-1, ISO Latin-2, .a)

    Utilizarea setului ISO Latin-1 permite reprezentarea celor mai multe caractere cu diacritice -prezente pe majoritatea platformelor - dar este totui limitat. De pild, caractere destul de des

    folosite, cum ar fi bulinele sau semnele grafice, nu snt disponibile n ISO Latin 1. Caractereleromneti de asemenea se gsesc n totalitate doar n supersetul ISO Latin 2. Decodarea seturilorLatin 1 sau 2 nu era implementat n toate navigatoarele i din aceast cauz documentele scrise cuaceste coduri erau afiate de unele navigatoare mai vechi (sau versiuni mai vechi) prin recurgerea lasetul ASCII. Actualele versiuni HTML permit multiple seturi de caractere, inclusiv Unicode careinclude marea majoritate a caracterelor si a simbolurilor cunoscute n lume.

    Entitile pentru caracterele romneti (reprezentabile de navigator dac acestacunoate codurile Latinl i Latin2), n aceast ordine, snt: (Latinl). Aici &atilde nu este chiar ci un a cu tilda i lipsesc literele i .Reprezentarea lor prin numerele de cod este: (Latin2)

  • 8/8/2019 Curs HTML 4.0

    28/184

    30

    Caractere speciale

    Cteva dintre caracterele speciale mai des utilizate snt:

    Entitate Semnificaie

    < < (mai mic)

    > > (mai mare)

    & & (ampersand)

    " " (ghilimele)

    Insereaz un spaiu dublu celui dintre caracterele monospaiate(lrgime de un EM, sau un punct)

    Insereaz un spaiu care nu permite ruperea rndului n acel loc

    &endash; Dash de lrgime un EN

    &emdash; Dash de lrgime un EM

    Caractere neafiabileUn agent utilizator poate s nu fie capabil s afieze (sau s ofere utilizatorului) corect (sauinteligibil) toate caracterele dintr-un document. Aceasta se poate ntmpla cnd, spre exemplu, nueste disponibil un anumit font, un caracter are o valoare ce nu poate fi exprimat de codificareaintern a agentului utilizator, etc...

    Deoarece snt prea multe cauzele ce pot duce la o astfel de situaie nu se impune ca fiind obligatoriunimic, DAR fiecare agent utilizator trebuie:

    s adopte un mecanism clar de alertare a utilizatorului (de exemplu afiarea unui caractersugestiv; n astfel de cazuri Netscape Navigator folosete semnul ntrebrii)

    s afieze reprezentarea numeric a acelui caracter n cazul n care n document acesta apareca entitate numeric

  • 8/8/2019 Curs HTML 4.0

    29/184

    31

    Capitolul 3.

    Structura documentelor HTML

    3.1. Structura general a unui document HTML

    ntreaga dezvoltare a HTML s-a fcut n ideea creterii ulterioare a limbajului fr sacrificareasimplitii. Exist puine reguli generale de care trebuie s se in cont n construirea unui documentHTML.

    Documentele HTML (4.0) au structura general:

    < HEAD>

    Titlul documentului

    ... alte declaraii/informaii despre document...

    ...Textul documentului propriu-zis...

    Not important:

    Dac se folosete un document multiplu definit cu FRAMESET, atunci elementul FRAMESETnlocuiete elementul BODY.

    Un document HTML (uneori referit i capagin HTML) este structurat n trei pri:

    1. nceputul unui document HTML este o declaraie () care specific versiunealimbajului HTML cruia i se conformeaz acesta. Restul documentului este coninut n cadrulelementului de limbaj (tagului) .

    2. O seciune declarativ numitantet(head) definit cu tagul . Aceasta conine informaii(declaraii) despre document (cum ar fi titlul i cuvinte cheie asociate cu documentul)

    3. O seciune numitconinut(body) definit cu tagul sau i carenseamn de fapt (hyper)textul documentului. Acesta este alctuit din elemente de tip bloc ielemente de tip inline.

  • 8/8/2019 Curs HTML 4.0

    30/184

    32

    1. Elementul DOCTYPE

    Un document valid HTML trebuie s declare ce versiune utilizeaz pentru descrierea sa. Declaraiatipului documentului (document type declaration) definete ce DTD se folosete n documentulrespectiv.

    De exemplu, HTML 4.0 poate specific 3 DTD, astfel c un autor trebuie s includ una dintre

    urmtoarele declaraii ale tipului de document: HTML 4.0 Strict DTD include toate elementele i atributele ce nu snt obsolete (inutile,

    depite) sau nu apar n documente definite cu FRAMESET. Pentru astfel de documente sefolosete urmtoarea declaraie de tip:

    HTML 4.0 Transitional DTDinclude tot ceea ce este n declaraia anterioar la care seadaug elementele i atributele depite (vechi, redefinite, dar nu eronate!). Pentru astfel dedocumente se folosete urmtoarea declaraie de tip:

    HTML 4.0 Frameset DTD include tot ceea ce este n declaraia anterioar la care se adaugdocumentele multiple (create frame-uri). Pentru astfel de documente se folosete urmtoareadeclaraie de tip:

    Adresele ce apar n fiecare declaraie permit agenilor utilizatori s acceseze (i s descarce) DTD-ul documentului (descrierea formal) i orice set de caractere de care are nevoie. Urmtoareleadrese se folosesc pentru accesarea descrierilor (DTD-urilor) i seturilor de caractere utilizate deHTML 4.0.

    http://www.w3.org/TR/REC-html40/strict.dtd DTD strict (implicit) http://www.w3.org/TR/REC-html40/loose.dtd DTD Transitional http://www.w3.org/TR/REC-html40/frameset.dtd DTD pentru documente cu

    frameset

    http://www.w3.org/TR/REC-html40/HTMLlat1.ent setul de caractere Latin-1 http://www.w3.org/TR/REC-html40/HTMLsymbol.ent setul de caractere Symbol http://www.w3.org/TR/REC-html40/HTMLspecial.ent setul de caractere Special

  • 8/8/2019 Curs HTML 4.0

    31/184

    33

    2. Elementul HTML

    Sintaxa:

    ...

    Atribute posibile:

    VERSION = xxx atribute de internaionalizare: LANG, DIR

    Conine:

    In HTML 4.0 Strict i Transitional: HEAD urmat de BODY In HTML 4.0 Frameset: HEAD urmat de FRAMESET

    Coninut n:

    Nu se aplic, este element de nivel 0Descriere:

    Acest element conine de fapt documentul (pagina) HTML i este alctuit din HEAD urmat deBODY (sau FRAMESET). Att tagul de nceput ct i cel de sfrit ale elementului snt opionale.

    Atributele LANG i DIR se folosesc cu HTML pentru a specifica limba (de baz) n care estecreat documentul (i direcia n care se citete textul). Se folosete n special cu tehnica style-sheet-urilor pentru a crea un document cu text n mai multe limbi.

    Atributul VERSION specific DTD-ul din document (versiunea de HTML) i nu mai trebuiefolosit ntruct este redundant cnd se folosete DOCTYPE.

    3. Elementul HEAD

    Sintaxa:

    ...Atribute posibile:

    PROFILE = uri (dicionar de meta informaii) atribute de internaionalizare: LANG, DIR

    Conine:

    TITLE (exact un element) BASE (optional) ISINDEX (optional) SCRIPT (zero sau mai multe elemente) STYLE (zero sau mai multe elemente) META (zero sau mai multe elemente) LINK(zero sau mai multe elemente) OBJECT (zero sau mai multe elemente)

    Coninut n:

  • 8/8/2019 Curs HTML 4.0

    32/184

    34

    Elementul HTMLDescriere:

    Acest element conine informaii despre document (cum ar fi titlul su, cuvinte cheie utilizabilede motoarele de cutare, descrierea documentului i style-sheet-uri asociate/utilizate. HEAD estesolicitat n toate documentele, dar tagurile sale de nceput/sfrit snt opionale. Dac tagul desfrit lipsete primul element BODY sau FRAMESET determin sfritul lui. Este urmat de

    BODY n documentele Strict i Transitional i de FRAMESET n cele Frameset.Atributul optional PROFILE ofer locaia n care se afl un profil de metadate. Un profil este unfiier ce definete proprietile ce pot fi utilizate de elementele META i LINK din header,neavnd un format standard stabilit.

    Coninutul acestui element (cu excepia lui TITLE care este afiat de browsere) nu este prelucratn mod uzual.

    4. Elementul BODY

    Sintaxa:...

    Atribute posibile:

    BACKGROUND = URI (imaginea de background a documentului) BGCOLOR = Color (culoarea de background a documentului) TEXT = Color (culoarea textului documentului) LINK = Color (culoarea link-urilor documentului) VLINK = Color (culoarea link-urilor deja vizitate ale documentului) ALINK = Color (culoarea link-urilor active ale documentului) ONLOAD = Script (documentul a fost ncrcat de browser/agentul utilizator) ONUNLOAD = Script (documentul a fost parsit de browser/agentul utilizator) atribute comune (vezi nota de mai jos)

    Conine:

    n HTML 4.0 Strict: elemente de tip bloc (nivel bloc), unul sau mai multe SCRIPT, INS, DEL

    n HTML 4.0 Transitional: elemente de tip bloc (nivel bloc) elemente de tip inline INS, DEL

    Coninut n:

    In HTML 4.0 Strict or Transitional: HTML

  • 8/8/2019 Curs HTML 4.0

    33/184

    35

    In HTML 4.0 Frameset: NOFRAMESDescriere:

    Acest element conine de fapt corpul (coninutul) documentului (paginii) HTML. BODY estecerut de documentele n care nu apar frame-uri, dar tagurile de nceput/sfrit snt opionale. ndocumentele ce conin frame-uri, BODY trebuie obligatoriu coninut n elementulNOFRAMES, dac este utilizat.

    Coninutul documentului apare n cadrul elementelor de tip bloc sau n corpul elementuluiSCRIPT, iar n cazul documentelor HTML 4.0 de tip Transitionalsnt permise i elemente detip inline direct n cadrul elementului BODY.

    BODY poate avea atribute care specific background-ul (fundalul) i culoarea documentului saua unor elemente din cadrul su. Aceast metod este ns considerat depit, preferndu-seutilizarea stilurilor de documente (style-sheet). Dac unul dintre atributele ce se refer la link-urieste setat, atunci se recomand folosirea tuturor pentru a se asigura ca difer culorile diverselortipuri de legturi. Aceste culori pot fi ns suprapuse de setrile din browsere.

    Atributul BACKGROUND sugereaz o imagine de fundal care va fi folosit pentru document(prin extindere pe verticali/sau orizontal). Dac acest atribut este setat se recomandutilizarea i a atributelor BGCOLOR, TEXT, LINK, VLINKi ALINK pentru a fi siguri cdocumentul poate fi citit. BGCOLOR se folosete pentru fundalul imaginilor nencrcate.

    Style-sheet-urile (stilurile de documente) permit o mai mare flexibilitate n specificarea imaginiide background, chiar a poziiei i modalitii de extindere pe ntreaga suprafa ocupat dedocument, sau dac imaginea s se deplaseze (scroll) sau nu cu documentul, etc...

    n plus fa de evenimentele ce pot fi generate de orice element, BODY accept urmtoareleatribute de tip eveniment utilizate n tehnologia client-scripting:

    ONLOAD, apare atunci cnd documentul a fost ncrcat; ONUNLOAD, apare atunci cnd documentul este prsit.

    Atributele comune ce pot apare n acest element snt comune mai multor elemente i sntmprite n:

    atribute fundamentale(core): ID, CLASS, STYLE, TYTLE atribute de internaionalizare: LANG, DIR evenimente scriptabile (ce pot fi tratate cu ajutorul scripturilor): ONCLICK,

    ONDBLCLICK, ONMOUSEDOWN, ONMOUSEUP, ONMOUSEOVER,ONMOUSEMOVE, ONMOUSEOUT, ONKEYPRESS, ONKEYDOWN,ONKEYUP.

    Elementele de tip bloc i cele de tip inline snt definite mai departe.

  • 8/8/2019 Curs HTML 4.0

    34/184

    36

    Exemple:

    1. O variant de pagin HTML care conine ca i body (coninut) textul: The scariest jungle:Follow the map to see lions and tigers and bears. Oh, my! arat astfel:

    My Jungle Home Page

    The scariest jungle: Follow the map to see lions and tigers and bears.Oh, my!

    Iar ceea ce se va vedea cu un browser (aici Internet Explorer) este prezentat n figura urmtoare:

    O variant depit (fr a fi eronat, dar nerecomandat ca stil) de pagin HTML care ilustreaz

    utilizarea atributelor depite este prezentat n continuare. Culoarea de background se stabilete cafiind alb, textul negru, iar legturile iniial roii, active ca fiind de culoare fuchsia, iar cele dejavizitate maron.

    Exemplu depasit

    ... document body...

  • 8/8/2019 Curs HTML 4.0

    35/184

    37

    2. Prin folosirea style-sheet-urilor (stilurilor), acelai efect se poate obine i astfel:

    Un exmplu cu stiluri incluse

    BODY { background: white; color: black}

    A:link { color: red }A:visited { color: maroon }A:active { color: fuchsia }

    ... document body...

    3. Cea mai flexibil soluie este dat de posibilitatea de a specifica un stil definit ntr-un alt fiier(stiluri externe). Orice modificare de stil se face fr a accesa documentul HTML.

    A study of population dynamics... document body...

    5. Elementul FRAMESET

    Sintaxa:

    ...

    Atribute posibile:

    ROWS = MultiLengths (lungimile rndurilor) COLS = MultiLengths (lungimile coloanelor) ONLOAD = Script (toate frame-urile au fost ncrcate) ONUNLOAD = Script (toate frame-urile au fost eliminate/prsite) atribute comune

    Conine:

    FRAMESET (unul sau mai multe elemente) FRAME (unul sau mai multe elemente) NOFRAMES (un singur element, opional)

    Coninut n:

    HTML

  • 8/8/2019 Curs HTML 4.0

    36/184

    38

    Descriere:

    Elementul FRAMESET este un container de frame-uri folosit pentru a diviza fereastra nsubspaii dreptunghiulare numiteframe-uri. ntr-un document ce conine frame-uri, elementulFRAMESET exterior ia locul lui BODY i urmeaz imediat lui HEAD. Elementul FRAMESETconine unul sau mai multe elemente FRAMESET sau FRAME, mpreun cu elementul opional

    NOFRAMES pentru a oferi un con inut alternativ browser-elor care nu suport frame-urile (saule au dezactivate). Se recomand ns s existe ntotdeauna i s ofere informaie util pentruastfel de cazuri (cel puin, de exemplu, o legtur ctre frame-ul principal).

    Atributele ROWS i COLS definesc dimensiunile exacte ale fiecrui frame din set. Fiecareatribut are formatul unei liste de lungimi (cu elemente separate de virgul) care specific n

    pixeli, ca procent sau ca lungime relativ dimensiunea (lungimea sau limea) fiecrui frame. Odimensiune relativ se exprim ca i*, unde i este un ntreg. Dac lipsete ntregul se consideregal cu 1. De exemplu, un set de frame-uri definit cu ROWS="3*,*" va avea primul rnd cu onlime de 3 ori mai mare dect al doilea rnd.

    Valorile specificate pentru ROWS dau nlimea fiecrui rnd, din partea de sus a ecranuluinspre baza acestuia. Atributul COLS definete limea fiecrei coloane, ncepnd de la stnga ladreapta.. Dac ROWS sau COLS lipsesc, valoarea implicit a atributului este 100%. Dacambele atribute snt specificate, ecranul se mparte dpdv logic ntr-o matrice care se umplemai nti de la stnga la dreapta i apoi de sus n jos.

    Cnd se utilzeaz dimensiuni n pixeli, acestea trebuie combinate ntotdeauna cu lungimi relativepentru a acoperi diferitele dimensiuni ale ferestrelor (determinate de diferitele rezoluii la care seutilizeaz ecranele). Dimensiunile n pixeli trebuie folosite doar cnd frame-urile conin n

    principal imagini sau alte obiecte cu o dimensiune fix (n pixeli). Preferat este ns exprimarean procente i dimensiuni relative, datorit capacitii acesteia de adaptare la diferiteledimensiuni de ferestre.

    Elementul FRAMESET accept atributele ONLOAD i ONUNLOAD pentru a specifica aciunide tip client-side (executate n agentul utilizator) cnd toate frame-urile au fost ncrcate saudescrcate (eliminate din browser).

    Exemple:

    Exemplul urmtor determin mprirea ecranului n 2 rnduri i 3 coloane.

    Table of Contents

    Photo 1(Caption)

    Photo 2(Caption)

    Photo 3

  • 8/8/2019 Curs HTML 4.0

    37/184

    39

    (Caption)

    Se remarc utilizarea elementui NOFRAMES pentru cazul n care frame-urile nu pot fi afiate.

    Efectul se dorete a fi asemntor cu cel determinat de frame-uri (o matrice de dreptunghiuri cu 2rnduri i 3 coloane).

    2. Exemplul urmtor folosete elemente FRAMESET mbricate pentru a defini 2 frame-uri nprimul rnd i un frame n al doilea rnd.

    Table of ContentsHTML 4.0 ReferenceHTML 3.2 ReferenceCSS Guide

  • 8/8/2019 Curs HTML 4.0

    38/184

    40

    3.2. Structura header-ului unui document HTML (elementul HEAD)

    Headerul (antetul) unui document (definit cu elementul HEAD) conine informaii despredocumentul curent, cum ar fi titlul documentului, cuvinte cheie utilizate de motoarele de cutare ialte date care nu snt considerate coninutal documentului. Agenii utilizatori (browser-ele) nuafieaz n general aceste informaii, prelucrnd elementele ce apar aici i fcnd disponibileinformaiile intr-un alt mod dect coninutul documentului. De exemplu, browser-ele afieaz titluldocumentului ncrcat n caption-line (linia de titlu) a browserului, alturi de numele browser-uluinsui.

    Elementul HEAD poate conine urmtoarele elemente:

    TITLE stabilete titlul documentului BASE definete adresa (URI) de baz a documentului STYLE definete stilurile de document (style-sheet) folosite n document LINK definete relaiile documentului propriu-zis cu alte documente auxiliare META definete un set de metadate (date auxiliare utilizate n diverse alte

    scopuri)

    SCRIPT definete un script client-side (secven de instruciuni ce se execut nclient)

    ISINDEX definete textul prompterului utilizat la preluarea datelor de la utilizator OBJECT permite includerea unor obiecte externe (sunete, imagini, animaii, etc)

    1. Elementul TITLE

    Sintaxa:

    ...

    Atribute posibile:

    atribute de internaionalizare (vezi mai sus)Conine:

    Text (inclusiv caractere entiti)Coninut n:

    HEADDescriere:

    Acest element d titlul documentului. Fiecare document trebuie s aib exact 1 titlu (un singurelement TITLE n HEAD). Conine text /sau caractere entiti, dar nu poate conine alteelemente de marcare. Un titlu bun trebuie s fie scurt i specific coninutului documentului,astfel nct s poat fi utilizat ca bookmark (semn de carte) n browsere, ca titlu pentru fereastran care se afieazi ca legtur pentru motoarele de cutare. Lungimea limit a unui titlu serecomand a fi 60 caractere.

    Exemplu:

  • 8/8/2019 Curs HTML 4.0

    39/184

    41

    Exemplul urmtor de pagina HTML seteaz titlul la valoarea (irul de caractere) My JungleHome Pagei va arta ca n figur (aici ncrcat n browserul Internet Explorer).

    My Jungle Home Page

    2. Elementul BASE

    Sintaxa:

    Atribute posibile:

    HREF = uri (adresa/url de baz) TARGET = destinaia frame-ului (unde se ncarc ceea ce indic legtura)

    Conine:

    Gol (nu conine nimic)Coninut n:

    HEADDescriere:

    Acest element definete adresa de baz (uri, url) a documentului, cea care este folosit larezolvarea (determinarea) adreselor relative din cadrul documentului. Ea trebuie s fie unic.Dac este prezent, elementul BASE trebuie s apar n HEAD naintea oricrui alt element ceconine o referire la o adres (uri, url).

    Atributul HREF specific adresa propriu-zis (url).

    Cele mai multe pagini de Web nu necesit o astfel de adres (adresa documentului nsui, de

    unde a fost ncrcat, este adresa de baz, folosit la cele relative). Cazurile n care este necesarsnt: cnd adresa de baz difer de adresa documentului sau cnd acesta nu are o adres de la cares fi fost ncrcat (de exemplu a fost trimis prin email).

    Atributul TARGET este folosit cnd documentul este mprit n frame-uri, specificnd frame-uln care se afieaza implicit poriunile din document dac nu snt specificate explicit.

    3. Elementul STYLE

    Sintaxa:

  • 8/8/2019 Curs HTML 4.0

    40/184

    42

    ...

    Atribute posibile:

    TYPE = ContentType (tipul coninutului) MEDIA = MediaDesc (tipul de media cruia i se aplic stilul) TITLE = text(titlul stilului - style sheet) atribute de internaionalizare (pentru TITLE)

    Conine:

    An embedded style sheetConinut n:

    HEADDescriere:

    Acest element nglobeaz (insereaz) n document unstil (style sheet). ntr-un HEAD pot ficoninute oricte elemente STYLE.

    Atributul TYPE se folosete pentru a specifica tipul de media (n standardul Internet). Pentrustilurile definite de metoda Cascading Style Sheets atributul TYPE are valoarea text/css.

    Atributul opional TITLE d un titlu style-sheet-ului. Fr acesta, style-sheet-ul respectiv esteaplicat ntotdeauna cnd snt active stilurile pentru documentul respectiv. Cu acest atribut se potactiva sau dezactiva style-sheet-uri individuale. ns nu toate browser-ele implementeaz aceastfacilitate.

    Atributul MEDIA specific media pe care acest stil se aplic. Aceasta permite autorilorrestricionarea unui stil la anumite dispozitive de ieire. Valoarea acestui atribut este o list denume de medii separate prin virgul. HTML 4.0 definete urmtoarele nume de medii (literelemari/mici snt diferite):

    screen (implicit), display-urile uzuale (fr paginare); print, ieirea pe imprimant; tty, display-uri ce folosesc caractere de dimensiune fix (ca cele folosite de Lynx); tv, dispozitive tip televizor (rezoluie mici derulabilitate redus); projection, pentru proiectoare; handheld, dispozitive handheld (de inut n mn), caracterizate de un disply mic,

    monocrom i cu band limitat;

    braille, dispozitive tactile braille tactile; aural, pentru sintetizatoare de voce; all, pentru toate dispozitivele.

    Browser-ele pre-HTML 3.2 care nu cunoteau elementul STYLE afiau coninutul su ca i cumar fi fcut parte din corpul documentului (din BODY). Pentru a prentmpina aceasta se permiteca definiia de stil s apar ntr-un comentariu ().

    Un stil definit n acest mod este util cnd stilul respectiv se aplic unui singur document. Dacacesta trebuie aplicat mai multor documente se folosete tehnica stilurilor externe.

    Exemplu:

  • 8/8/2019 Curs HTML 4.0

    41/184

    43

    Un exemplu de descriere i includere a unui stil ntr-un document:

    Se definete ca background pentru corpul documentului (BODY) imaginea aflat n fiierulfoo.gif, iar culoarea de background ca fiind negru. n cadrul unui paragraf (P) backgrounduleste galben iar textul are culoarea neagr. Un stil cu numele note ncepe de la 5 uniti nstnga i se ntinde pn cu 5 uniti fa de margine din dreapta.

    4. Elementul LINK

    Sintaxa:

    Atribute posibile:

    REL = LinkTypes (relaiile CTRE link) REV = LinkTypes (relaiile DE LA link) HREF = URI (referina hypertext) TYPE = ContentType (tipul coninutului legturii) TARGET = FrameTarget (frame-ul n care se ncarc link-ul) MEDIA = MediaDesc (mediul pentru care e linkul) HREFLANG = LanguageCode (limba n care e descris legtura/linkul) CHARSET = Charset (setul de caractere folosit pentru link)

    atribute comuneConine:

    NimicConinut n:

    HEADDescriere:

    Acest element definete relaiile documentului cu alte documente n ceea ce privetelocalizarea (adresele lor). ntr-un HEAD pot apare oricte elemente LINK. Nu toate browser-elesuport ns elementul LINK, astfel nct un document nu trebuie s depind de relaiile definitede acest element, ci trebuie folosit doar pentru a mbunti performanele per ansamblu.

    Atributele REL i REV definesc natura relaiei dintre document i resursele legate (specificate)de acestea. REL definete o relaie de la documentul curent la resursa legat, n timp ce REVdefinete o relaie n direcia opus. De exemplu:

    indic faptul c fiierul "foo.html" este un glosar pentru documentul curent, n timp ce

  • 8/8/2019 Curs HTML 4.0

    42/184

    44

    indic faptul c documentul curent este o subseciune a lui "bar.html". Valoarea lui REL i REVeste o list de linkuri separate prin spaii.

    Relaiile comune ntre documente includ i urmtorul sau precedentul ntr-o secven, pagina destart ntr-o colecie, un document cu informaii de copyright i informaii despre autor. Undocument ar putea defini aceste relaii astfel:

    Elementul LINK se poate folosi i pentru a aplica unstil extern. REL=StyleSheet specific unstilpersisitentsaupreferat, n timp ce REL="Alternate StyleSheet" definete un stil alternativ.

    Un stilpersisitenteste acela care se aplic ntotdeauna cnd style sheet-urile snt active. Absenaatributului TITLE indic un astfel de stil.

    Un stilpreferateste acela care se aplic automat. Combinaia dintre REL=StyleSheet i TITLEspecific un stil preferat. Un autor nu poate specifica mai mult de un astfel de stil.

    Un stil alternativ este indicat de REL="Alternate StyleSheet". Utilizatorul poate alege sschimbe stilul preferat cu unul dintre cele alternative, dac broeserul permite acest lucru (nutoate o i fac, ns).

    Un stil poate fi specificat prin intermediul mai multor style-sheet-uri (fiiere de descriere astilurilor), ca n exemplu urmtor:

    Aici se combin 3 style-sheet-uri pentru a forma stilul "Contemporary", aplicat ca i stil preferat.Pentru a se combina style-sheet-urile trebuie s foloseasc acelai TITLE.

    Atributul MEDIA specific media pentru care snt proiectate resursele legate de acest document.Cu REL=StyleSheet autorii restricioneaz un stil la un anumit dispozitiv. Are aceleai valori cala elementul STYLE.

    Atributele opionale HREFLANG i CHARSET ale lui LINK descriu limba (de exemplu enpentru English, en-US pentru American English i ja pentru Japonez) i schema de codificare alegturii (de exemplu ISO-8859-1, SHIFT_JIS, and UTF-8).

    Relaia legturii Alternate definete o versiune alternativ a documentului. Traduceri ale uneipagini pot fi identificate folosind REL=Alternate mpreun cu atributul HREFLANG, iarversiuni ale unei pagini potrivite pentru un mediu specific se pot oferi prin combinareaREL=Alternate cu atributul MEDIA ca n exemplele urmtoare:

    De remarcat c atributele LANG i DIR se aplic textului atributului TITLE i NU coninutuluilegturii.

    Atributul TARGET se folosete n cazul documentelor definite cu frame-uri.

  • 8/8/2019 Curs HTML 4.0

    43/184

    45

    5. Elementul META

    Sintaxa:

    Atribute posibile:

    NAME = nume (numele proprietii) HTTP-EQUIV = nume (numele rspunsului din headerul HTTP) CONTENT = CDATA (datele asociate) SCHEME = CDATA (formatul datelor) atribute de internaionalizare pentru CONTENT (vezi mai sus)

    Conine:

    NimicConinut n:

    HEADDescriere:

    Acest element definete metadatele documentului: cuvintele cheie asociate cu acestea, descriereadocumentului i autorul su. Pot apare oricte elemente META n cadrul elementului HEAD. Nuexist o list standard de metadate/proprieti (fiecare autor poate defini orice metadat i estenecesar).

    Atributul NAME definete un nume de proprietate, n timp ce CONTENT d valoarea corespun-ztoare a acelei proprieti. CONTENT poate conine text i caractere entitate, dar fra taguri.

    Atributul opional SCHEME definete formatul proprietii respective. De exemplu, proprietateadatcalendaristicpoate cere SCHEME="Month-Day-Year" pentru a o deosebi de formatuldefinit de SCHEME="Day-Month-Year".

    Exemplul urmtor definete autorul unui document:

    Unele motoare de cutare folosesc cuvinte cheie i proprieti de descriere pe care le asociaz culegtura ctre documentul respectiv (i care pot oferi chiar informaii asemntoare ponderilor).De exemplu:

    Pentru a evita ca aceste motoare s trunchieze descrierea documentului, aceasta trebuie s fiesumar (s nu depeasc 200 de caractere). Cuvintele cheie snt separate prin virguli literelemari snt diferite de cele mici. Motoarele de cutare proceseaz de obicei primele 1000 de

    caractere, iar dac un cuvnt se repet prea des exist pericolul ca documentul s nu fie indexat.Unele motoare de cutare suport proprietatea robots pentru a indica dac un document s fieindexat i care dintre link-urile sale s fie urmate. Valoarea asociat a lui CONTENT este o listde directive separate prin virgul:

    index specific posibilitatea ca aceast pagin sa fie indexat noindex indic neindexarea aceastei pagini follow indic motoarelor de cutare s urmeze linkurile din pagin

  • 8/8/2019 Curs HTML 4.0

    44/184

    46

    nofollow indic motoarelor de cutare s NU urmeze linkurile din pagin all echivalent cu index, follow (implicit) none echivalent cu noindex, nofollow

    De exemplu, urmtorul element META le spune motoarelor de cutare s nu indexeze pagina,dar s urmreasc link-urile din pagin:

    De remarcat, ns, c NU toate motoarele de cutare suport aceast proprietate.

    Atributul HTTP-EQUIV poate fi folosit n locul lui NAME pentru a indica faptul c aceaproprietate este (aparine) header-ului HTTP (a protocolului de preluare a documentelelor).Aceast proprietate este transformati transmis de unele servere HTTP (nu toate1), dar clienii(browser-ele) recunosc aceast caracteristic (faptul c aparin headerului HTTP) chiar dac nueste trimis n antetul protocolului.Exemple (a se vedea i descrierea protocolului HTTP):

    1. setarea datei de expirare a unui document

    2. setarea limbajului scripturilor inline din document ca fiind javascript

    3. setarea limbii n care snt descrise stilurile inline din document

    4. setarea codificrii unui document (la setul de caractere japonez)

    Folosirea acestei metode n locul specificrii n antetul protocolului HTTP poate avea ca efectreafiarea paginii nc o dat dup ce a fost ncrcat de anumite browsere.

    5. setarea timpului i adresei de ncrcare a unei alte pagini dup ce s-a ncrcat documentulcurent:

    Dup 10 secunde de la ncrcarea paginii curente, browserul trebuie s ncarce pagina de laadresa www.alta.com. De remarcat c nu toate browserele suport aceast proprietate, astfel c e

    preferati oferirea unei alte modaliti de a ncrca pagina respectiv. Cel mai uzual motiv defolosire a lui Refresh este mutarea unei pagini la o alt adresi pstrarea (cel puin pentru untimp) i a vechii adrese, pentru utilizatorii ce i-au marcat cu bookmark pagina mutat.

    6. Elementul SCRIPT

    Sintaxa:

    ...

    Atribute posibile: TYPE = ContentType (tipul coninutului limbajului scriptului) LANGUAGE=CDATA (numele limbajului din script) SRC=URI (locaia scriptului extern) CHARSET=Charset (setul de caractere folosit de scriptul extern) DEFER (execuia scriptului poate atepta)

  • 8/8/2019 Curs HTML 4.0

    45/184

    47

    Conine:

    nglobeaz un scriptConinut n:

    HEAD, inline elements, block-level elementsDescriere:

    Acest element include un script


Recommended