1.tipuri de retele (clasificare):
In functie de criteriul de clasificare care se are in vedere exista mai
multe tipuri de retele de calculatoare. Criteriile cele mai des utilizate
in clasificarea retelelor sunt:
Dupa tehnologia de
transmisie:
- retele cu difuzare (broadcast);
- retele punct - la - punct;
Dupa scara la care
opereaza reteaua (distanta);
- retele locale LAN;
- retele metropolitane MAN;
- retele de arie intinsa WAN;
- Internet-ul;
Dupa topologie:
- retele tip magistrala (bus);
- retele tip stea (star);
- retele tip inel (ring);
- retele combinate.;
Dupa tipul sistemului de
operare utilizat:
- retele peer-to-peer;
- retele bazate pe server.
2.Topologii de retele (magistrala, stea, inel)
Prin topologie
se intelege dispunerea fizica in teren a calculatoarelor, cablurilor si a
celorlalte componente care alcatuiesc reteaua, deci se refera la configuratia
spatiala a retelei, la modul de interconectare si ordinea existenta intre
componentele retelei.
Atunci cand se alege
topologia unei retele un criteriu foarte
important care se are in vedere este cel al performantei retelei. De asemenea,
topologia unei retele implica o serie de conditii: tipul cablului
utilizat, traseul cablului, etc. Topologia unei retele
poate determina si modul de comunicare a calculatoarelor in retea. Topologii diferite implica metode de comunicatie diferite, iar
toate aceste aspecte au o mare influenta in retea. In domeniul
retelelor locale sunt posibile mai multe topologii, din care doar trei sunt
larg raspandite: linie, inel si stea.
Topologia magistrala - bus sau liniara - este cea mai simpla si mai
uzuala metoda de conectare a calculatoarelor in retea. Printre cele mai
importante caracteristici amintim:
- consta dintr-un singur cablu, numit trunchi care conecteaza toate
calculatoarele din retea pe o
singura linie;
- comunicatia pe magistrala presupune intelegerea urmatoarelor concepte:
- transmisia semnalului: la un
moment dat numai un singur calculator poate transmite mesaje;
- reflectarea semnalului;
- terminatorul, utilizat pentru a
opri reflectarea semnalului;
- este o topologie pasiva, adica calculatoarele nu actioneaza pentru
transmiterea datelor de la un calculator la altul;
- daca un calculator se defecteaza, el nu afecteaza restul retelei, cu conditia
ca placa de retea a
calculatorului respectiv sa nu fie defecta;
- cablul din aceasta topologie poate fi prelungit prin una din urmatoarele metode:
- o componenta numita conector tubular (BNC);
- un dispozitiv numit repetor utilizat pentru a conecta doua cabluri; el mai are si rolul de a amplifica semnalul inainte de a-l transmite mai departe;
-reprezinta
o conexiune multipunct - informatiile emise de un calculator sunt
receptionate de toate celelalte calculatoare;
- facilitati de reconfigurare (toate calculatoarele conectate au drepturi
egale);
- costul redus al suportului si al dispozitivelor de cuplare
Cea mai cunoscuta
topologie bus este Ethernet.
Topologia stea - star - atunci cand se utilizeaza aceasta
topologie toate calculatoarele sunt conectate la un
nod central care joaca un rol particular in functionarea retelei. Orice
comunicatie intre doua calculatoare va trece prin
acest nod central, care se comporta ca un comutator fata de ansamblul retelei.
Printre caracteristicile mai importante amintim:
- calculatoarele sunt conectate prin segmente de cablu la o componenta centrala
numita concentrator (hub - Host Unit Broadcast);
- calculatoarele nu pot comunica direct intre ele ci numai prin intermediul
concentratorului;
- aceste retele ofera resurse si administratie centralizate;
- retelele mari necesita o lungime de cablu mare;
- daca nodul central (hub - ul) se defecteaza, cade intreaga retea;
- daca un calculator sau cablul care il conecteaza la hub se defecteaza, numai
calculatorul respectiv este in imposibilitatea de a transmite sau receptiona
date in retea;
- poate utiliza in mare parte cablajul telefonic vechi existent intr-o
societate;
- transferul informatiei se face punct la punct dar, cu ultimele tipuri de
comutatoare, este posibil si un transfer multipunct.
Topologia inel –
(ring) - intr-o astfel de configuratie toate calculatoarele sunt legate
succesiv intre ele, doua cate doua, ultimul calculator fiind conectat cu
primul. Dintre caracteristicile mai importante enumeram:
- conecteaza calculatoarele printr-un cablul in forma de bucla (nu exista
capete libere);
- este o topologie activa - este acea topologie in care calculatoarele
regenereaza semnalul si transfera datele in retea - fiecare calculator
functioneaza ca un repetor, amplificand semnalul si transmitandu-l mai departe;
iar daca ii este destinat il copiaza;
- mesajul transmis de catre calculatorul sursa este retras din bucla de catre
acelasi calculator atunci cand ii va reveni dupa parcurgerea buclei;
- defectarea unui calculator afecteaza intreaga retea;
- transmiterea datelor se face prin metoda jetonului (token passing).
3. Retele per – to – per si retele
bazate pe server.
Retelele peer-to-peer (de
la egal la egal) sunt acele retele in care partajarea resurselor nu
este facuta de catre un singur calculator, ci toate
aceste resurse sunt puse la comun de catre calculatoarele din retea.
Aceste retele au anumite caracteristici:
- numarul maxim de calculatoare care pot fi conectate este de 10 calculatoare
la un workgroup;
- implica costuri mici, si de aceea sunt des utilizate de catre firmele mici;
- se utilizeaza atunci cand zona este restransa, securitatea datelor nu este o
problema, organizatia nu are o crestere in viitorul apropiat;
- toate calculatoarele sunt egale; este si client si server, neexistand un
administrator responsabil pentru
intreaga retea;
Retele bazate pe server (client / server) sunt acele
retele care au in componenta un server specializat: de fisiere si de
tiparire; de aplicatii; de posta; de fax; de comunicatii. Printre avantajele
retelelor bazate pe server amintim:
- partajarea resurselor;
- securitate;
- salvarea de siguranta a datelor;
- redundanta;
- numar de utilizatori.
Intr-o retea combinata exista doua
tipuri de sisteme de operare pentru a oferi ceea ce
multi utilizatori considera a fi o retea completa.
Toate retelele au
anumite componente, functii si caracteristici comune, precum:
- servere sunt acele calculatoare care ofera resurse partajate pentru
utilizatorii retelei;
- clienti sunt acele calculatoare care acceseaza resursele partajate in
retea de un server;
- medii de comunicatie, reprezinta modul in care sunt conectate
calculatoarele in retea (tipul cablului utilizat, a modemului);
- date partajate, reprezinta fisierele puse la dispozitie de serverele
de retea;
- resurse: fisiere, imprimante si alte componente care pot fi folosite
de utilizatorii retelei.
Alti termeni frecvent
utilizati sunt:
- subretea, termenul este potrivit in contextul
unei retele larg raspandite geografic, si se refera la colectia de ruter -
e si linii de comunicatie aflate in proprietatea operatorului de retea;
- retea, reprezinta combinatia dintre o subretea si gazdele sale
(host - uri). In cazul unui LAN, reteaua este formata
din cablu si gazde;
- inter - retea, ea se formeaza atunci cand se leaga intre ele retele
diferite. Legarea unui LAN si a unui WAN, sau legarea a doua LAN - uri formeaza
o inter - retea.
4. Modelul ISO – OSI (7 nivele)
ISO (Organizatia Internationala de Standardizare), una din cele mai importante organizatii de standardizare, a studiat diferite tipuri de retele existente in acea vreme (DECnet, SNA, TCP/IP) si a propus in 1984 un model de referinta numit OSI - Open System Interconnection). Acest model defineste sapte niveluri, impreuna cu standarde si un set de protocoale pentru ele. Este un model teoretic, construit pentru a schematiza comunicatia intr-o retea de calculatoare si pentru a explica traseul informatiei dintr-un capat in altul al retelei.
Modelul OSI al Organizatiei Internationale pentru Standardizare (ISO) este structurat pe sapte niveluri: Aplicatie, Prezentare, Sesiune, Transport, Retea, Legatura de date si Fizic.
1 Nivelul fizic
Nivelul fizic defineste specificatii electrice, mecanice, procedurale si functionale pentru activarea, mentinerea si dezactivarea legaturilor fizice intre sisteme. In aceasta categorie de caracteristici se incadreaza nivelurile de tensiune, timingul schimbarilor acestor niveluri, ratele de transfer fizice, distantele maxime la care se poate transmite si alte atribute similare care sunt definite de specificatiile fizice.Scopul nivelului fizic este de a transporta o secventa de biti de la o masina la alta. Pentru aceasta pot fi utilizate diverse medii fizice. Fiecare dintre ele este definit de largimea sa de banda, intarziere, cost si usurinta de instalare si de intretinere.
2 Nivelul legatura de date
Nivelul legatura de date ofera transportul sigur al informatiei printr-o legatura fizica directa. Pentru a realiza acest lucru, nivelul legatura de date se ocupa cu adresarea fizica, topologia retelei, accesul la retea, detectia si anuntarea erorilor si controlul fluxului fizic (flow control). Nivelul legatura de date este responsabil cu transmiterea corecta a datelor printr-o legatura fizica existenta, intre doua puncte conectate direct prin aceasta legatura fizica.
3.Nivelul retea este un nivel complex care ofera conectivitate si selecteaza drumul de urmat intre doua sisteme gazda care pot fi localizate in retele separate geografic. Acesta este nivelul cel mai important in cadrul Internetului, asigurand posibilitatea interconectarii diferitelor retele. Tot la acest nivel se realizeaza adresarea logica a tuturor nodurilor din Internet. La nivelul retea opereaza ruterele, dispozitivele cele mai importante in orice retea de foarte mari dimensiuni.
4 Nivelul transport
Nivelul transport segmenteaza datele in sistemul sursa si le reasambleaza la destinatie. Limita dintre nivelul transport si nivelul sesiune poate fi vazuta ca, granita intre protocoale aplicatie si protocoale de transfer de date. In timp ce nivelele aplicatie, prezentare si sesiune se preocupa cu probleme legate de aplicatii, cele patru niveluri inferioare se ocupa cu probleme legate de transportul datelor. Nivelul transport incearca sa ofere un serviciu de transport de date care sa izoleze nivelurile superioare de orice specificitati legate de modul in care este executat transportul datelor. Mai specific, probleme cum ar fi siguranta (reliability) sunt responsabilitatea nivelului transport. In cadrul oferirii de servicii de comunicare, nivelul transport initiaza, gestioneaza si inchide circuitele virtuale. Pentru a fi obtinuta o comunicatie sigura, servicii de detectare si recuperare din erori sunt oferite tot la acest nivel. Tot aici este realizat controlul fluxului (flow control).
5 Nivelul sesiune
Nivelul sesiune se ocupa cu stabilirea, mentinerea, gestionarea si terminarea sesiunilor in comunicarea dintre doua statii. Nivelul sesiune ofera servicii nivelului prezentare. De asemenea, el realizeaza sincronizarea intre nivelurile prezentare ale doua statii si gestioneaza schimbul de date intre acestea. In plus fata de regularizarea sesiunilor, nivelul sesiune ofera bazele pentru transferul eficient de date, pentru clase de servicii, pentru raportarea exceptiilor nivelurilor sesiune, prezentare si aplicatie.
6 Nivelul prezentare
Nivelul prezentare se asigura ca informatia transmisa de nivelul aplicatie al unui sistem poate fi citita si interpretata de catre nivelul aplicatie al sistemului cu care acesta comunica. Daca este necesar, nivelul prezentare face traducerea intre diverse formate de reprezentare, prin intermediul unui format comun. Tot nivelul prezentare este responsabil cu eventuala compresie / decompresie si criptare / decriptare a datelor.
7 Nivelul aplicatie
Nivelul aplicatie este cel care este situat cel mai aproape de utilizator; el ofera servicii de retea aplicatiilor utilizator. Difera de celelalte niveluri OSI prin faptul ca nu ofera servicii nici unui alt nivel, ci numai unor aplicatii ce sunt situate in afara modelului OSI. Exemple de astfel de aplicatii sunt editoare de texte, utilitare de calcul tabelar, terminale bancare etc. Nivelul aplicatie stabileste disponibilitatea unui calculator cu care se doreste initierea unei conexiuni, stabileste procedurile ce vor fi urmate in cazul unor erori si verifica integritatea datelor.
5. Repetor + Punte
Repetorul are
rolul de a copia biti individuali intre segmente de cablu diferite, si nu
interpreteaza cadrele pe care le receptioneaza, si reprezinta cea mai simpla si
ieftina metoda de extindere a unei retele locale. Pe masura ce semnalul
traverseaza cablul, el se degradeaza si este distorsionat. Acest proces poarta
numele de atenuare. Repetorul permite transportarea semnalului pe o
distanta mai mare, regenerand semnalele din retea si retransmitandu-le mai
departe pe alte segmente. Ele sunt utilizate in general pentru a extinde
lungimea cablului acolo unde este nevoie. Pentru a putea fi utilizate,
pachetele de date si protocoalele LLC (Logical Link Control) trebuie sa fie
identice pe ambele segmente; de asemenea ele trebuie sa foloseasca aceeasi
metoda de acces. De asemenea, repetorul este folosit pentru a face legatura
dintre medii de transmisie diferite (cabli coaxial - fibra optica, cablu coaxial
gros - cablu coaxial subtire).
In corespondenta cu
modelul OSI repetorul functioneaza la nivelul fizic, regenerand semnalul
receptionat de pe un segment de cablu si transmitandu-l pe alt segment.
Punte (se mai intalneste si sub
denumirea de: pod, bridge),
lucreaza la subnivelul MAC (Media Access Control) si functioneaza pe principiul
ca fiecare nod de retea are propria adresa fizica. Puntea interconecteaza
retele LAN de acelasi tip sau de tipuri diferite.
Puntile sunt utile in
situatiile urmatoare:
- extinderea fizica a unei retele LAN;
- interconectarea retelelor locale ce utilizeaza tehnici de control al
accesului la mediu diferite.
Puntile la randul lor
sunt de mai multe tipuri:
- punti transparente: in acest caz puntea examineaza adresele MAC din
pachetele care circula in retelele la care este conectata puntea si , pe baza
unor tabele de adrese, decid pentru fiecare pachet daca trebuie transmis pe o
retea sau pe alta;
- punti cu rutare prin sursa, sau punti Token Ring, in acest caz puntile
utilizeaza informatia de rutare inclusa de sistemul sursa in campul din cadrul
MAC. Aceste punti sunt specifice pentru interconectarea retelelor Token Ring.
In corespondenta cu
modelul OSI puntea lucreaza la nivelul legaturii de date (nivelul 2 -
subnivelul MAC) si in consecinta opereaza cu adresele fizice ale
calculatoarelor. Spre deosebire de repetor, puntea este capabila sa decodeze
cadrul pe care-l primeste pentru a face prelucrarile necesare transmiterii pe
reteaua vecina.
6.Router + Hub + Switch
Ruter - ul functioneaza la nivelul retea al
modelului ISO / OSI si este utilizat pentru interconectarea mai multor retele
locale de tipuri diferite, dar care utilizeaza acelasi protocol de nivel fizic.
Utilizarea lor asigura o mai mare flexibilitate a retelei in ceea ce priveste
topologia acesteia.
Ruter - ul permite
rutarea mesajelor de la sursa la destinatie atunci cand exista mai multe
posibilitati de comunicare intre cele doua sisteme.
Unitatea centrala dintr-o retea cu topologie de tip “stea” este denumita MAU (Multistation Access Unit) pentru o retea de tip Token – Ring si hub pentru alte retele.
Indiferent de denumire, aceasta unitate este la baza un repetor digital de semnal, cu mai multe porturi de intrare – iesire. MAU nu ia nici un fel de decizie logica, ignorand adresele si continutul mesajelor, realizand doar transferul datelor ca sir de biti de la un port la altul. In terminologia OSI, un hub sau un MAU este un dispozitiv de nivel fizic sau de nivel 1 (Phisical Lazer Device/L1 Device). Daca amplifica semnalul, Hub-ul este considerat activ, in caz contrar fiind vorba de unul pasiv.
Hub-ul este un nod (master) dintr-o retea “in stea”.
Arhitectura LAN se poate baza fie pe principiul partajarii benzii intre toti utilizatorii (media sharing) folosind un hub de partajare (Shared – Media Hub), care lucreaza ca un multiplexor TDM si limiteaza vitezele de transmisie la nivelul fiecarui nod in functie de standardul adoptat (10Base2, 10BaseT, 100BaseT, etc), fie pe principiul legaturii punct – la – punct, cu un hub cu matrice de comutatie (Switched Hub) care ofera pe fiecare port, unui singur calculator sau unui grup de calculatoare (segment LAN), viteza maxima de transmisie. Avantajul arhitecturii cu matrice de comutatie este acela ca prin realizarea legaturii fizice dintre noduri, nu apar coliziuni si nu mai este necesara aplicarea unei metode specifice de acces la mediu.
Din punct de vedere constructiv si functional, exista trei categorii de hub-uri de partajare:
Dezavantajul hub-ului este acela ca nu elimina restrictia ca un singur nod al retelei sa transmita la un moment dat, aplicand o anumita metoda de acces la mediul fizic. De aceea producatorii de echipamente pentru retele de calculatoare au introdus matricile de comutatie specifice centralelor telefonice (PBX- Public Branch eXchange) in comunicatiile de date, pentru realizarea in paralel a mai multor legaturi punct – la – punct simultane si evitarea congestiilor. Astfel s-au obtinut hub-urile cu matrice de comutatie (Switched Hubs) sau comutatoare pentru LAN (LAN Switch) – care sunt de nivel 2.
Conexiunile paralele, simultane dintre mai multi utilizatori ai retelei de calculatoare sunt create asemenea legaturilor virtuale telefonice folosind matrici de comutare.
Echipamentele care realizeaza comutarea cadrelor sunt denumite simplu comutatoare de retea (switch) si sunt utilizate in retele LAN cu diverse arhitecturi (Ethernet, Token – Ring, FDDI, Fast Ethernet), dar si pentru transmisiile in sisteme ATM (Asyncronous Transfer Mode) pentru comutarea semnalelor digitale de tip voce, audio, la viteze, la viteze foarte mari (622 Mbps, 1 Gbps). In WAN, se utilizeaza comutatoare de mare viteza, cu capacitati superioare pentru LAN.
Avantajele utilizarii unui switch sunt evidente:
prin intermediul switch-ului, se poate extinde reteaua structurata relativ simplu, fizic sau logic (retele virtuale VLAN – Virtual LAN).
reduce incarcarea retelei prin filtrarea traficului
poate interconecta segmente de LAN cu medii fizice diferite si viteze de transmisie diferite (10BaseT, 10BaseF, 100BaseT).
permite utilizarea sistemelor de prioritati pentru transmisie, prin introducerea in cadru a unui factor de calitate (Q0S – Quality of Service).
In functie de complexitatea operatiilor efectuate de switch, acesta poate lucra:
pe nivelul OSI 2 al legaturii de date, mai precis pe subnivelul MAC sau LLC ;
pe nivelul 3 de retea;
pe nivelul 4 de transport.
Un switch de subnivel MAC (Cut-through switch) citeste adresa MAC a destinatiei unui cadru si pe baza unui tabel de adrese (memorat pe durata procesului de “invatare” – learning), realizeaza legatura punct – la – punct dintre portul de intrare si cel de iesire si expediaza pachetul (forwarding). Decizia de comutare se poate lua si pentru fragmente foarte mici de pachete (sub 64B). Evident transferul este foarte rapid, dar este posibil ca acel cadru sa fie afectat de erori si nodul – destinatie sa solicite retransmisia lui. Astfel reteaua este folosita ineficient prin transmisia unui cadru eronat precum si a cererii de retransmisiei. Oricum acest switch este indicat in transmisiile in care se impun intarzieri mici de transmisie, fara un control strict al erorilor.
Un switch de subnivel LLC (Store – and – forward switch) citeste cadru primit, il memoreaza si testeaza secventa FCS pentru detectia eventualelor erori. Daca nu au aparut erori, cadrul este transferat catre portul corespunzator destinatie
7.Noduri si legaturi (pct 2.2)
In principiu, un sistem hipermedia este constituit din noduri (concepte) si legaturi (relatii). Un nod reprezinta, in mod uzual, un concept unic (o idee), putand contine text, grafica, animatie, audio, video, imagini sau programe. Un nod poate avea asociat un tip (detaliu, propozitie, colectie, observatie etc.) ingloband o informatie semantica. Nodurile sunt conectate de alte noduri prin intermediul legaturilor. Nodul sursa al unei legaturi se numeste referinta, iar cel destinatie referent, fiind denumite si ancore. Continutul unui nod se afiseaza la activarea legaturii.Modalitatea de stocare a informatiei in cadrul nodurilor variaza de la sistem la sistem, dar cele mai folosite tehnici utilizeaza limbajele de marcare (SGML sau, mai nou, XML), standardele actuale construite pe baza acestor limbaje fiind HyTime (Hypermedia/Time-based Structuring Language), MHEG (Multimedia and Hypermedia Information Coding Expert Group), HTML (HyperText Markup Language). Avantajul major este asigurarea independentei de platforma hardware si software, formatele proprietare conducand la greutati de navigare, cautare sau intretinere. Din moment ce nodurile pot contine informatii multimedia, sistemele hipermedia trebuie sa fie suficiente de flexibile pentru a suporta o multitudine de formate grafice, audio si video.
Legaturile sunt conexiuni intre noduri (sau concepte) dependente unul de altul, putand fi bidirectionale sau doar unidirectionale. Si legaturilor li se pot asocia tipuri (legatura de specificare, de elaborare, legatura membru, legatura de opozitie etc.), definind natura relatiei dintre noduri. Dupa Conklin, legaturile pot fi referentiale (non-ierarhice, utile pentru realizarea referintelor incrucisate, ele fiind cele care deosebesc cel mai bine hipermedia de celelalte forme de stocare a informatiei) sau organizationale (denumite ierarhice sau structurale, ilustrand relatiile parinte-copil dintre noduri, folosite la organizarea nodurilor in maniera ierarhica intr-o structura stricta). Legaturile organizationale sunt esentiale pentru liniarizarea hipertextului si permit autorilor sa verifice coerenta structurii hipertext.
De asemeni, legaturile pot fi statice (stabilite de autorul documentului) sau dinamice (create in momentul rularii sistemului hipertext, in functie de context sau de cerintele utilizatorilor). Ele pot fi utilizate, de exemplu, pentru a incorpora proceduri de securitate (o legatura poate fi disponibila doar pentru un anumit utilizator) ori sa permita utilizatorilor sa-si creeze legaturi personale intre diverse noduri care in mod uzual nu sunt conectate direct. Sisteme ca Hyper-G, Microcosm sau Deja-vu ofera suport pentru legaturi dinamice.
Activarea marcajelor unei legaturi duce la vizualizarea (activarea) nodurilor.
8.Modelul Dexter + Trellis
Modelul Dexter captureaza cele mai importante abstractizari prezente pe o varietate larga de sisteme hipermedia actuale sau viitoare. Scopul modelului este sa ofere o baza pentru compararea sistemelor si pentru dezvoltarea de standarde in vederea interschimbului de date si interoperabilitatii.Modelul Dexter imparte un sistem hipertext in trei nivele majore:
Runtime - este responsabil cu prezentarea hipertextului si interactiunea cu utilizatorul. Modelul Dexter nu intra in detaliile mecanismului de prezentare, specificatiile prezentarii oferind doar o interfata intre acest nivel si nivelul imediat inferior;
Storage - este cel mai important nivel, modeland o baza de date care este compusa dintr-o ierarhie de componente continand date interconectate prin legaturi relationale. Componentele poseda identificatori unici si legaturile pot fi identificate de un set de doi sau mai multi identificatori. Componentele corespund notiunii generale de noduri si pot contine text, imagini statice, audio, video etc. Componentele sunt tratate ca si containere generice de date si modelul nu specifica nici o structura a acestora (astfel, componentele text nu sunt diferentiate de componentele audio, de exemplu).
Component - nivelul specifica structura si continutul fiecarei componente a retelei hipertext. Acest nivel este unul deschis, putand fi inglobate noi forme de reprezentare a informatiei. Modelul Dexter presupune ca modele structurale precum SGML (Standard Generalized Markup Language) sau ODA (Open Document Architecture) vor fi utilizate pentru a captura continutul/structura nodurilor. Exista insa o interfata intre acest nivel si nivelul de stocare care analizeaza mecanismul de asociere de locatii (adrese) pentru continutul unei anumite componente.
Modelul Trellis
Richard Furuta si David Stotts dezvolta un sistem hipertext, bazat pe retele Petri, denumit Trellis, in care implementeaza modelul Trellis. Din acest model ei au dedus un meta-model de referinta, abreviat r-model. Modelul este structurat pe cinci nivele logice, in fiecare nivel putandu-se regasi una sau mai multe reprezentari a unei parti ori a intregului hipertext. Prin contrast cu modelul HAM sau alte abordari, nivelele reprezinta nivele de abstractizare si nu componentele sistemului.Nivelele pot fi grupate in trei categorii: abstracte, concrete si vizibile. Anumite aspecte ale hipertextului au fost deliberat excluse din cadrul modelului Trellis: semantica navigarii, comportamentul dinamic, caracteristicile continutului, descrierile de la nivelul fizic, interfetele cu utilizatorul.Astfel, modelul nu este indicat pentru modelarea unei aplicatii de genul unei carti electronice hipermedia.
9.
Majoritatea modelelor
hipertext au in vedere specificarea unor caracteristici ale sistemelor actuale
si mai putin ale celor viitoare. Cercetatorul Paul De Bra
si echipa sa propun un nou model hipertext,
orientat-obiect si extensibil, prezentandu-l la cea de-a patra
Conferinta a Hipertextului, organizata de ACM.Modelul,
Nodurile, legaturile si ancorele
Un nod este descris de un obiect-identificator (oid) si de o valoare. O ancora este referita, la fel, de un obiect-identificator si de o valoare (care ar trebui sa reprezinte, printre alte lucruri, un nod oid si locatia ancorei in cadrul acelui nod). O legatura este descrisa printr-un 4-uplu de forma (obiect-identificator, ancora sursa, ancora destinatie, valoare).In cadul modelului Tower, nodurile, legaturile si ancorele sunt 'cetateni', fiecare avand un oid si o valoare care poate denota orice. Separand informatiile despre ancore de legaturi si noduri avem avantajul de a izola mecanismul de legare de diverse detalii ale nodurilor conectate. Aceasta separatie este importanta in cazurile in care hiperdocumentul trebuie sa suporte integrarea informatiei provenita din colectii eterogene.
Obiectele sunt noduri, legaturi sau ancore. Valoarea unui astfel de nod poate fi: o valoare de baza (aleasa dintr-o multime de clase primare, dependenta de aplicatia hipertext), o valoare compusa, o valoare turn (tower value) sau o valoare oras (city value).
In cadrul acestei sectiuni ne vom referi la obiectele de baza.
Valoarea unui nod modeleaza un fragment de informatie care, depinzand de aplicatie, poate fi simpla (e.g. sir de octeti) sau compusa (e.g. formular electronic). Continutul unui nod de baza este inaccesibil sistemului hipermedia prin mijloace obisnuite si poate fi manipulat numai prin metode specifice nodului (e.g. editoare specializate), respectandu-se principiul incapsularii datelor.
O ancora de baza reprezinta locatia destinatie a unei legaturi, putand fi de tip uzual, ca pozitia in cadrul unui nod text, sau o locatie dependenta de aplicatie in cadrul unui nod complex, ca de exemplu o coordonata tridimensionala a unui corp 3D.
O legatura de baza este o relatie simpla dintre doua ancore de baza (e.g. o legatura dintre doua noduri). Valorile legaturii sunt alese in functie de aplicatie.
Turnurile
Functionalitatea obiectelor dintr-un hiperdocument este una multi-dimensionala si astfel descrierea completa a unui obiect consta din diferite nivele. De exemplu, un nod poseda:
dimensiune structurala constand din continutul lui (e.g. text) si operatiile de manipulare a acestui continut (e.g. editarea textului folosind un editor de text);
--un nivel de prezentare descriind afisarea sa pe ecran;
--o a treia dimensiune (nivel) este aceea a atributelor care ataseaza un rol semantic nodului (e.g. decizia).
Nodurile dependente de timp (cele video, de exemplu) poseda o dimensiune temporala definind scenariul prezentarii lor.Acestor dimensiuni le corespund diferite nivele de descriere a unui hiperdocument. Nivelele adreseaza, astfel, diverse informatii si componente din arhitectura unui sistem hipertext.
Un obiect turn este un obiect avand o valoare de tip turn (tower value). O astfel de valoare reprezinta o functie de asociere a unei multimi de etichete la o multime de obiecte. Fiecare eticheta consta dintr-un nivel de descriere, corespunzand unui nivel separat al functionalitatii hiperdocumentului. Domeniul de definire a functiei este fixat pentru fiecare clasa de obiecte turn.Toate obiectele sunt modelate prin turnuri. De pilda, un turn legatura poate consta din:
*un nivel structural stocand multimea de legaturi,
*un nivel de prezentare indicand cum vor fi figurate legaturile pe ecran,
*un nivel semantic definind relatia dintre turnul sursa si turnul destinatie al legaturii.
Numarul si natura nivelelor obiectelor turn sunt complet arbitrare, in functie de necesitati
Orasele
Un obiect al unui hiperdocument poate fi vizualizat din diverse perspective, depinzand de modul cum este accesat de catre utilizator.
Nodurile de tip oras sunt folosite pentru a vizualiza obiectele turn din diferite astfel de perspective. Elementele unui oras sunt denumite vizualizari (views), fiecare vizualizare constand dintr-un turn care descrie obiectul dintr-o perspectiva particulara. Aceste vizualizari modularizeaza informatia in conformitate cu diverse modalitati de accesare a datelor.
10.Protocolul de transport al hipertextelor HTTP (pana la pct. 3)
1. Introducere
Protocolul de transport al hiper-textelor HTTP (Hyper-Text Transport Protocol) reprezinta un protocol bazat pe TCP/IP destinat sistemelor hipermedia conlucrand in medii distribuite. HTTP a inceput sa fie proiectat si utilizat din anul 1990, dezvoltandu-se impreuna cu spatiul WWW.
Prima versiune, referita HTTP/0.9, a reprezentat un simplu protocol de transfer de date prin Internet. Urmatoarea versiune HTTP/1.0, definita de RFC 1945, a imbunatatit transferul de mesaje, permitandu-se mesaje in format MIME (Multipurpose Internet Mail Extensions), continand meta-informatii despre datele transmise si despre semantica dialogului cererilor si raspunsurilor dintre clientii si serverele Web.A urmat HTTP/1.1
care ofera mai multe functionalitati suplimentare, precum mecanisme de cautare, adnotare si actualizare, avand suport pentru URI (Uniform Resource Identifier), specificand adresele ca locatie (prin URL) sau prin nume (via URN). HTTP de asemeni este utilizat ca protocol generic pentru comunicarea intre agentii utilizator si portile (gateways) catre alte sisteme Internet, incluzand suport pentru protocoale ca SMTP (Simple Mail Transfer Protocol), NNTP (Network News Transfer Protocol), FTP (File Transfer Protocol), Gopher. In acest mod, HTTP permite accesul hipermedia la resurse disponibile din diverse aplicatii.
Protocolul HTTP este un protocol sigur, de tip cerere/raspuns, comunicatiile decurgand peste conexiunile TCP/IP, portul standard de acces fiind portul 80.
Terminologie
Vom folosi in cele ce urmeaza urmatorii termeni:
conexiune Un circuit virtual la nivelul transport stabilit intre doua programe care doresc sa comunice.
Mesaj Unitatea de baza a unei comunicatii HTTP, constand dintr-o secventa structurata de octeti, transmisa printr-o conexiune.
Cerere Un mesaj de cerere HTTP (vezi mai jos).
Raspuns Un mesaj de raspuns HTTP.
Resursa Un obiect de date sau serviciu care poate fi identificat de un URI. Resursele pot avea reprezentari multiple (e.g. formate, marimi, rezolutii etc.).
Entitate Informatia transferata intr-o operatie de cerere sau de raspuns. O entitate cuprinde atat meta-informatii, cat si continutul propriu-zis.
Reprezentare O entitate inclusa intr-un raspuns ce reprezinta o negociere intre client si server.
Negociere Mecanism de selectare a reprezentarii potrivite a unei date solicitate.
Client Un program care stabileste conexiuni cu scopul de a trimite cereri.
agent-utilizator Clientul care initiaza o cerere (navigator, editor, robot de traversare Web). Navigatoarele cele mai cunoscute sunt Netscape Navigator, Internet Explorer, Arena, Mosaic, Lynx.
Server O aplicatie care accepta conexiuni, raspunzand la anumite cereri transmise de clienti. Un program poate juca rol atat de server, cat si de client. Un server se poate comporta ca server initial, poarta, tunel sau proxy Web in functie de natura cererii. Cele mai cunoscute servere Web sunt: Apache, Netscape Enterprise Server, Microsoft Internet Information Server (IIS), Sun Web Server, Stronghold, MacHTTP, WebSite.
proxy (intermediar) Un program intermediar care ruleaza ca server, cat si drept client pentru a transmite cereri altor servere. Cererile trimise unui proxy pot fi rezolvate intern sau transmise mai departe, catre alte servere (posibil translatate). Un proxy trebuie sa implementeze cerintele de server si de client ale specificatiei HTTP.
Poarta Un server care lucreaza ca intermediar pentru alte servere, in mod transparent, fiind si un translator de protocoale.
Tunnel Un program intermediar functionand ca mijlocitor intre doua conexiuni.
Cache Un depozit local de memorare a mesajelor (datelor) de raspuns si un subsistem de control al acestuia. Memoria cache reduce timpul de raspuns si congestia retelei. Orice client si server poate include un cache.
11.Prezentarea SGML (precizari generale + caracteristici)
Precizari generale
SGML este un standard international pentru descrierea de marcaje (markups) ale textelor electronice. In fapt, SGML reprezinta un meta-limbaj, o descriere formala a unui limbaj, in acest caz, un limbaj de adnotare (de formatare) de texte.
Generalizand, putem defini marcajul sau codarea drept orice actiune de a interpreta explicit o portiune de text. La un nivel superficial, toate textele sunt codate: elementele de punctuatie, folosirea de majuscule, dispunerea enunturilor in pagina, chiar si spatiile dintre cuvinte putand fi privite drept marcaje. Codificarea unui text pentru procesarea computerizata este, in principiu, ca o transcriere a unui manuscris din scriptio continua intr-un format special, intern, dictat de utilizator prin folosirea, explicita sau nu, a unor directive/marcaje care definesc modul de interpretare a continutului textului.
Printr-un limbaj de specificare intelegem, astfel, un set de conventii de marcare utilizate pentru codificarea textelor. Un limbaj de marcare trebuie sa specifice multimea de marcaje obligatorii, permise, maniera de identificare a marcajelor si care este semantica fiecarui marcaj disponibil (similar procesului de specificare a sintaxei si semanticii unui limbaj de programare).
Exista trei caracteristici definitorii ale SGML:
marcaje
descriptive (descriptive markups) - folosirea de coduri de marcaje
care ofera nume speciale pentru a clasifica parti de document
(de exemplu <para>
sau end
identifica o portiune dintr-un anumit document, in cazul nostru
inceput de paragraf si respectiv de sfarsit de sectiune). Prin
contrast, un limbaj de marcare procedurala defineste o
actiune de indeplinit la un moment dat (e.g. move(
left_margin,2cm)
ori skip(this_line)
).
tipuri de documente - SGML introduce notiunea de tip de document si de definitie a tipurilor de documente: document type definition (DTD). Documentele sunt privite ca avand tipuri, asa cum au obiectele procesate de calculatoare. Un tip de document este definit formal de partile sale constituiente si de structura lor. De exemplu, definitia unui raport poate consta din titlu si numele autorului, urmate de un rezumat si de o secventa de mai multe paragrafe. Documentele avand asociat un tip, se poate utiliza un parser (analizor) pentru a verifica pentru un text corectitudinea sa, adica apartenenta sa la un tip de document si respectarea elementelor specificate in DTD. Astfel, documente de acelasi tip pot fi procesate intr-un mod uniform. Programele pot exploata informatiile incapsulate in definitiile de structura ale documentelor si se pot comporta deci intr-o maniera inteligenta. De aceea, SGML este luat in consideratie de cercetatori din domeniul inteligentei artificiale, in special de cei care se ocupa de procesarea limbajului natural.
independenta datelor - SGML asigura translarea documentelor codificate in acest mod de la o platforma la alta si de la un mediu software la altul fara pierderea informatiei. SGML ofera un mecanism general pentru substitutia sirurilor de caractere (independent de setul de caractere ales: ASCII, EBCDIC sau UniCode) si posibilitati de extindere a marcajelor.
12.Securitatea serviciilor WEB (pct 1 si 2)
Securitatea Web-ului nu se rezuma doar la criptarea transmisiilor de date intre clientul si serverul WWW. Una dintre cele mai importante probleme o reprezinta securitatea serverelor Web. Securitatea Web-ului poate fi regasita la mai multe nivele:
protectia criptografica a canalelor de comunicatie;
proiectarea unor extensii de securitate pentru standardele Internet existente;
administrarea sigura si eficienta a serverelor Web;
includerea in mediile Java a unor facilitati de securitate, criptografice.
In cadrul nivelului pentru realizarea criptarii comunicatiilor dintre server si clientii Web se pot lua in considerare mai multe abordari:
criptarea legaturii
Se cripteaza pachetele IP (via routere sau firewall-uri).
criptarea documentelor
Documentele stocate pe serverele Web pot fi criptate folosindu-se un sistem precum PGP (Pretty Good Privacy), la nivelul clientului trebuind decriptate.
SSL (Secure Socket Layer)
Reprezinta un sistem proiectat de Netscape care ofera o cale TCP/IP criptata intre doua masini, suportand protocoalele HTTP, TELNET sau FTP. SSL foloseste o varietate de sisteme de criptare pe chei publice si secrete.
Pentru nivelul s-au propus doua standarde menite a securiza tranzactiile HTTP:
HTTPS care este un sistem SSL pentru protocolul HTTP;
SHTTP (Secure HTTP) este un sistem de criptare pentru HTTP conceput de CommerceNet, oferind mecanisme de securitate prin semnatura, autentificare si cifrare, folosite independent sau impreuna.
Pentru nivelul in prezent limbajul Java ridica o serie de probleme de securitate ca:
accesarea unor resurse de pe masina pe care ruleaza un applet Java;
rularea applet-urilor Java fara a cere permisiunea utilizatorului (putandu-se initia un canal ascuns pentru extragerea de date confidentiale);
alterarea codului Java de catre intrusi.
Astfel, s-a constituit o biblioteca criptografica API Java Security care include clase pentru semnaturi digitale, interfete pentru gestiunea cheilor si a certificatelor si controlul accesului.
Produsele-software destinate pentru dezvoltarea de aplicatii Java sigure sunt deja numeroase, putand fi amintite J/CRYPTO sau J/SSL.
In continuare ne vom ocupa de nivelul cel mai important din punctul nostru de vedere.
Serverele Web au ca functionalitate de baza receptionarea de cereri anonime de la clienti si furnizarea de informatii intr-o maniera dorita a fi eficienta si rapida.
In ordinea importantei, problemele de securitate pot fi impartite astfel:
un atacator poate exploata bug-urile (deficientele) existente intr-un server Web sau din scripturi (CGI, ASP), obtinand acces neautorizat la fisiere vitale din sistem (fisiere de parole, fisiere continand surse de scripturi executate pe server si altele) sau pentru a detine controlul total asupra sistemului;
informatiile confidentiale stocate pe serverul Web (e.g. baze de date, aplicatii etc.) pot fi distribuite unor persoane neautorizate;
punctele vulnerabile necunoscute ale navigatorului pot permite accesarea de informatii private stocate pe masina clientului.
Din pacate, solutiile utilizate in mod curent nu pot rezolva toate problemele si, deseori, sunt contradictorii. De exemplu, pentru reducerea riscurilor de interceptare, multe organizatii achizitioneaza servere Web considerate sigure, implementand o pleiada de protocoale de criptare, dar aceste servere necesita certificate de autentificare semnate digital care trebuiesc actualizate periodic.
Se prezinta in continuare o serie de sfaturi pentru cresterea nivelului de securitate unui server Web:
Pe cat posibil, un server Web nu trebuie sa ruleze alte servicii si sa nu accepte conexiuni de la distanta; preferabil ar fi ca daemonul de posta electronica sa nu fie operational;
Serverul Web nu trebuie sa ruleze sub auspicii de superutilizator (root in UNIX). La fel, scripturile CGI nu trebuie executate ca root.
Fisierele de configurare si modulele serverului nu trebuie stocate pe o partitie care poate fi exportata.
Permisiunile atasate fisierelor serverului Web trebuie setate si monitorizate cu atentie.
Se va limita sau chiar inhiba executia directivelor Server Side Includes (SSI).
Scripturile CGI trebuie plasate intr-un singur director (de obicei cgi-bin) si modificarile lor trebuie monitorizate.
In cadrul directorului cgi-bin nu se permite accesul nelimitat. Utilizatorii locali nu trebuie sa poata instala, edita, sterge sau chiar vizualiza scripturi sau fisiere de configurare.
Autorii scripturilor (CGI, PHP sau ASP) nu trebuie sa faca publice sursele programelor lor, mai ales daca nu sunt in variante finale, deoarece ele pot contine puncte vulnerabile nebanuite sau bug-uri periculoase.
Scripturile nu trebuie sa poata fi preluate prin FTP anonim si nici fisierele de configurare ale serverului FTP nu trebuie accesate via WWW.
Se va interzice plasarea de la distanta pe serverul Web a fisierelor de configurare (e.g. .htaccess in cazul Apache).
Fisierele jurnal (log-urile) - pentru Apache de obicei stocate in directorul /var/log/httpd - nu trebuie sa poata fi accesate de utilizatorii ordinari sau de intrusi. Hackerii pot altera sau distruge informatiile din aceste fisiere, mai ales din fisierul access_log care inregistreaza toate accesarile paginilor de pe serverul Web.
Alte masuri, mai extreme, pot fi:
o stergerea tuturor conturilor care nu sunt necesare;
o inhibarea executiei sau stergerea compilatoarelor;
o stergerea programelor utilitare care nu sunt necesare pentru rularea sistemului de operare sau a serverului Web.
13.XML (trasaturi + deosebiri fata de SGML)
1 Trasaturi principale ale XML
Subset simplificat al SGML
o foarte puternic, dar usor de implementat
o fara limite in ceea ce priveste complexitatea structurilor care pot fi definite
o indeajuns de compact pentru a fi suportat de navigatoarele Web
Ofera suport pentru uzul international
o marcajele si continutul pot fi reprezentate in Unicode
o uneltele de dezvoltare XML pot suporta orice codificari
Metalimbaj
o conceput pentru a suporta definirea unui numar nelimitat de limbaje specializate, oferind suport de extinderi
o portabilitate
Orice document XML trebuie sa inceapa cu meta-elementul <?xml >.
In XML nu trebuiesc realizate definitii ale tipului de document (DTD) obligatorii.
Elementele vide nu sunt acceptate. Un element vid are o sintaxa modificata: <element />.
Numele de elemente si de atribute sunt case-sensitive (<tag> este diferit de <Tag> sau de <TAG>).
In XML pot fi specificate anumite instructiuni de procesare (processing instructions) de forma <?nume informatii ?>; nume, denumit tinta, identifica instructiunile de procesare pentru o aplicatie.
Incluziunile si excluziunile nu sunt permise, la fel parametrii de minimizare in declaratiile de elemente.
Numele incepand cu xml ori XML sunt rezervate. XML predefineste semantica atributelor xml:space si xml:lang
14. Specificatia tehnica a limbajului XML
Terminologie
Pentru a descrie elementele care tin de un document XML, in ceea ce urmeaza s-au folosit urmatorii termeni:
Poate Documentele pot sa se conformeze specificatiei, dar nu trebuie sa se comporte conform descrierii actiunii din specificatie.
Trebuie Documentele trebuie sa se comporte conform descrierii altfel se va semnala eroare.
Eroare O violare a unor reguli din specificatie. Un procesor XML poate ignora aceste erori.
eroare fatala O violare a unor reguli din specificatie. Dupa intalnirea unei astfel de erori, procesorul poate continua cautarea unor astfel de erori si poate sa le raporteze aplicatiei. Dupa descoperirea unei erori fatale este recomandat ca procesorul sa nu mai continue procesarea normala.
constrangere de validitate O regula care se aplica tuturor documentelor XML valide. Violarea acestor constrangeri de validitate reprezinta eroare si trebuie, la cererea utilizatorului, sa fie raportate de catre procesoarele XML care realizeaza validari.
constrangerile pentru documentele bine formatate O regula care se aplica tuturor documentelor XML bine formatate (valide). Violarea acestor constrangeri reprezinta eroare fatala.
Potrivire Doua siruri de numere care sunt comparate trebuie sa fie identice. La cererea utilizatorului, procesoarele pot normaliza anumite caractere la anumite forme canonice.
pentru compatibilitate O facilitate XML inclusa doar pentru a asigura faptul ca XML-ul ramane compatibil cu SGML-ul.
pentru interoperabilitate O recomandare inclusa pentru a creste sansele ca documentele XML sa poata fi procesate de procesoarele SGML existente.
15.Foi de stiluri (caracteristici generale)
XSL ofera urmatoarele:
formatarea bazata pe mostenire sau pozitie;
crearea de constructii de formatare incluzand text si grafica;
definirea de macro-uri de formatare;
foi de stiluri independente de directia de scriere (suport pentru internationalizare);
un set extensibil de obiecte de formatare;
publicare independenta de medii.
Fiecare foaie de stiluri XSL consta, simplist vorbind, din reguli compuse dintr-un model (pattern) si o actiune, modelul identificand un element sau grup de elemente XML asupra caruia se va aplica actiunea. Modelul poate specifica toate elementele de un anumit tip, toate elementele dintr-un subarbore de noduri XML, toate elementele avand un anume atribut specificat etc. Expresiile modelului sunt scrise intr-un limbaj derivat din XML, denumit XPath, iar actiunile (transformarile efectuate asupra elementelor documentului) sunt specificate in XSLT (XSL Transformations), ambele recomandari ale Consortiului Web incepand cu sfarsitul anului 1999. Expresiile vehiculate in cadrul XSL sunt inspirate din ECMAScript, limbaj script standardizat de Asociatia Europeana a Producatorilor de Calculatoare care va fi prezentat in una dintre sectiunile viitoare ale acestui text.
Principiile de proiectare a limbajului XSL au fost cele legate de suportul pentru aplicatiile de navigare, listare si editare interactiva, pentru prezentari vizuale si non-vizuale de date, de posibilitatea de extindere cu noi elemente si declaratii, de usurinta de parcurgere atat din punctul de vedere computational, cat si din punctul de vedere uman.
Principiile de proiectare a limbajului XSL au fost cele legate de suportul pentru aplicatiile de navigare, listare si editare interactiva, pentru prezentari vizuale si non-vizuale de date, de posibilitatea de extindere cu noi elemente si declaratii, de usurinta de parcurgere atat din punctul de vedere computational, cat si din punctul de vedere uman.
Desigur, specificatia XSLT este mult mai complexa, putandu-se realiza combinarea si includerea mai multor foi de stiluri pentru un acelasi document, conceperea unor sabloane de reguli, procesarea conditionata a elementelor XML, totul bazandu-se pe DOM (Document Object Model), model obiectual descris intr-unul dintre capitolele acestui material. Procesorul XSL va aplica in mod recursiv transformari asupra tuturor nodurilor care satisfac modelul sau sabloanele de reguli.
Toate foile de stiluri vor trebui sa apartina spatiului de nume xsl definit de Consortiul Web. Forma generala a declaratiei unei foi de stiluri este urmatoarea:
<?xml version='1.0'?>16.Tagul “Font”
Tag-ul utilizat pentru formatarea modului de afisare a
textului este <FONT></FONT>.
Tag-ul FONT suporta mai multi parametri, printre care
- SIZE=x, unde x este dimensiunea fontului (1 fiind dimensiunea cea mai mica);
- COLOR=#RRGGBB - culoarea cu care se va afisa fontul.Culoarea implicita este
negru;
- FACE=font - fontul cu care va fi scris textul respectiv Fontul implicit este Times NewRoman
Acesti parametri poti fi utilizati separat sau simultan in cadrul tag-ului
FONT. Astfel, instructiunea de mai jos afiseaza text folosind culoarea
albastru:
<FONT COLOR=#0000AA> Laboratorul de Tehnologii WEB </FONT>
Instructiunea de mai jos afiseaza acelasi text cu font arial, culoare albastra
si dimensiune mai mare:
<FONT COLOR=#0000AA SIZE=4 FONT=ARIAL > Laboratorul de Tehnologii WEB
</FONT>
Dupa cum se poate vedea, se pot utiliza mai multi parametri in cadrul aceluiasi
tag FONT. Acestia nu se despart prin virgula, ci printr-un
spatiu. De retinut ca parametrul FACE poate primi mai
multe fonturi.
Astfel, un tag de tipul <FONT
FACE=VERDANA,ARIAL></FONT> va
instrui browserul sa utilizeze fontul Verdana, iar daca acesta nu este gasit,
sa utilizeze Arial. Mai exista trei tag-uri utile pentru formatarea textelor: <B></B> - utilizat pentru
scrierea textelor cu bold, <I></I> - utilizat
pentru scrierea textelor cu italics (litere inclinate) si <U></U> - pentru a
scrie text subliniat. Desigur, pot exista combinatii intre tag-ul FONT
si tag-urile de subliniare, ingrosare sau inclinare, ca de exemplu:
<FONT
COLOR=#00AA00><B>Text verde ingrosat</B></FONT>
Tine cont ca tag-urile trebuie inchise in aceeasi ordine in care au fost
deschise. In fisierul index.html deschis in Notepad, sterge randul cu
'aici se completeaza informatia de prezentat in pagina' si
inlocuieste-l cu
<BR>
<FONT SIZE=4 COLOR=#0000AA><B> Laboratorul de Tehnologii WEB
</B></FONT>
<BR>
17.Tagul „TABLE”
Tabelele se utilizeaza folosind tag-ul <TABLE></TABLE>. Imaginati-va un tabel simplu deschis in Word care cuprinde mai multe casute. In fisierul HTML, casutele sunt organizate pe randuri (rows - linii orizontale de casute). La randul lor, randurile sunt organizate in elemente (casute)
.In interiorul unui tag de tip TABLE, randurile sunt declarate
folosind tag-ul <TR></TR>,
iar in cadrul fiecarui tag TR elementele sunt declarate cu tag-ul <TD></TD>. Fiecare element (casuta) poate contine text, imagini, link-uri,
etc. Un tabel de tipul celui de mai sus ar fi codificat astfel:
<TABLE>
<TR><TD>1</TD><TD></TD><TD></TD><TD></TD><TD></TD></TR>
<TR><TD></TD><TD></TD><TD></TD><TD></TD><TD></TD></TR>
<TR><TD></TD><TD></TD><TD></TD><TD></TD><TD></TD></TR>
</TABLE>
In exemplul de mai sus avem un tag <TABLE></TABLE>
care delimiteaza tabelul si trei tag-uri <TR></TR> corespunzand celor trei randuri ale
tabelului. Fiecare tag TR contine cate 5 tag-uri <TD></TD>. Intre
<TD> si </TD> se introduce continutul efectiv al fiecarei casute.
In exemplul de mai sus numai casuta din stanga-sus are continut - cifra 1 (nu
incercati exemplul de mai sus, intrucat casutele fara continut nu sunt
afisate).
Tag-urile de definire a tabelelor pot avea diverse atribute,
pentru formatarea tabelului. Astfel, tag-ul TABLE poate avea
- WIDTH=x sau WIDTH=x% - acesta specifica lungimea intregului tabel in pixeli
(de exemplu WIDTH=500) sau in procente fata de lungimea intregii ferestre (de
exemplu WIDTH=50%);
-HEIGHT=x sau HEIGHT=x% - similar cu WIDTH, dar pentru
inaltimea intregului tabel (exemple: HEIGHT=300 sau HEIGHT=100%)
- BORDER=x - daca x este 1 atunci tabelul va avea si 'cadru' (linii
de delimitare a elementelor. Daca x este 0, atunci acestea vor lipsi (deci
BORDER=0 sau BORDER=1);
- CELLSPACING=x - specifica spatiul dintre casute, in pixeli;
- CELLPADDING=x - specifica spatiul dintre marginea unei casute si continutul
acesteia, in pixeli.Si in acest caz pot fi folosite toate aceste atribute
impreuna, numai o parte a lor, sau nici unul. Un tag
TABLE ce le foloseste pe toate ar arata astfel:
<TABLE WIDTH=80% HEIGHT=200 BORDER=1
CELLPADDING=0 CELLSPACING=5>
.
</TABLE>
Si tag-ul TD poate avea tot felul de atribute interesante
- WIDTH=x sau WIDTH=x% - lungimea casutei in pixeli sau ca procent din lungimea
intregului tabel;
HEIGHT=x sau HEIGHT=x% - inaltimea casutei in
pixeli sau ca procent din inaltimea intregului tabel;
- BGCOLOR=#RRGGBB - culoarea fundalului casutei, ca de exemplu
-BGCOLOR=#EEEEDD.
- ALIGN=RIGHT, ALIGN=LEFT sau ALIGN=CENTER - modul cum va fi pozitionat
continutul casutei in casuta: la dreapta, la stanga sau central
- VALIGN=TOP, VALIGN=BOTTOM sau VALIGN=CENTER - similar, dar pentru
pozitionarea pe verticala: sus, jos sau central.
Tine cont de faptul ca textul din interiorul unei casute
trebuie formatat si el la randul sau. O casuta ce
ar contine un text rosu pe fond verde deschis s-ar codifica astfel:
<TD
BGCOLOR=#DDFFDD><FONT COLOR=#AA0000>text</FONT></TD>
Noteaza utilizarea atributului COLSPAN=3
in prima celula a celui de-al doilea rand. Acesta spune ca celula respectiva se
'intinde' pe lungimea a trei celule din structura normala a
tabelului.Desigur, acest al doilea rand va contine numai o singura celula, nu
trei. Similar se poate proiecta un tabel cu o celula care se intinde pe
verticala pe spatiul a doua celule
Se observa utilizarea atributului
in' ";} ?>a treia celula a primului rand al tabelului. Acesta spune
ca aceasta celula se intinde pe verticala pe 'inaltimea' a doua
randuri. Desigur, cel de-al doilea rand contine numai doua celule (nu
trei), intrucat a treia vine din randul de sus.
Tabelele pot reprezenta un instrument foarte puternic in cadrul unui fisier HTML. O tehnica interesanta de pozitionare cat mai exacta a unor informatii consta in utilizarea unor tabele in tabele (tag-uri TD care au drept continut un tabel, de exemplu). In acest caz este foarte importanta succesiunea corecta a tag-urilor TD, TR si TABLE pentru o afisare corecta. O alta tehnica interesanta este utilizarea tabelelor cu BORDER=0 (fara cadru) pentru gruparea unor date fara a da impresia existentei unui tabel propriu-zis.
18.Tagul „BLOCKQUOTE
<BLOCKQUOTE>
text
</BLOCKQUOTE>
are ca efect scoaterea in evidenta a textului din container prin indentarea din partea stanga. Partea dreapta ramane zdrentuita. Tag-ul BLOCKQUOTE provoaca si trecerea la un nou paragraf. BLOCKQUOTE poate fi imbricat in taguri precum BLOCKQUOTE, CENTER.
<BR [ CLEAR='left'|'right'|'all'|'none']>
reprezinta o
rupere de rand, fara a se trece la un nou paragraf (deci fara a se lasa spatiu
suplimentar intre randuri).
CLEAR are efectul anularii alinierilor precedente cand marginea stanga,
dreapta, ambele, sau niciuna sunt libere de imagini flotante (vezi IMG).
<CENTER>linie de text</CENTER>
produce centrarea
liniei de text intre marginile laterale.
Anumite browsere nu recunosc acest tag; unele editoare HTML convertesc tagul in
<CENTER><P>text</P></CENTER>
care introduce efectul suplimentar al formarii unui nou paragraf cu textul
centrat (vezi <P>).
Utilizarea tagului CENTER este, uneori, echivalenta cu <P ALIGN=center>.
<DIV [ ALIGN=left|center|right]> text </DIV>
marcheaza
inceputul unei noi diviziuni (sectiuni) a documentului.
ALIGN indica alinierea textului pentru intreaga diviziune. Este, de fapt,
singurul motiv pentru care poate, deocamdata, sa apara tagul DIV. In lipsa
optiunii ALIGN nu se produce absolut nimic in prezentarea documentului.
text reprezinta unul sau mai multe caractere.
DIV marcheaza doar locul unde incepe o noua sectiune in document, ca un simplu
comentariu, sau cu posibilitatea de a schimba alinierea textului.
Tagul DIV nu produce trecerea pe un rand nou.
<P [ ALIGN=left|center|right]> text [</P>]
indica inceputul
unui nou paragraf. De observat ca tagul de sfarsit este optional si, de fapt,
nici nu se utilizeaza in mod uzual (anumite editoare de HTML il genereaza
totusi).
ALIGN indica alinierea paragrafului. Daca s-a schimbat alinierea, atunci
aparitia tagului de sfarsit </P> reface alinierea implicita (la stanga).
text este textul paragrafului. In lipsa tagului
de sfarsit se considera pana la prima aparitie a unui nou tag P.
<PRE[ WIDTH=width]>text</PRE>
considera ca
textul este preformatat si va aplica un font neproportional pentru a afisa
exact forma predefinita a textului.
width indica lungimea maxima a unui rand. Unele
browsere (inclusiv Netscape Navigator) nu accepta atributul WIDTH.
Aparitia marcajelor <PRE> si </PRE> produce un nou paragraf.
19.Tagul „Hn ”
<Hn>text</Hn> -aplica unul dintre cele sase formate
predefinite de antet. Fiecare browser are formate proprii pentru stilurile
logice H1 H6.
Este de preferat ca stilurile sa se specifice in ordine, deci sa nu se
utilizeze, de exemplu, H3 fara a fi utilizat H2 etc. Vor fi rezervate, in
general, pentru diverse niveluri de titluri. Tagurile Hn provoaca o
rupere de rand si, implicit, au cate un rand gol inainte si dupa.
20.Tagul „SUB
<SUB>text</SUB> -muta textul selectat mai jos decat linia de baza a textului precedent si
aplica un font mai mic (face trecerea in indice inferior).
Nu produce rupere automata de rand.
21.Tagul SUP
<SUP>text</SUP> -muta textul selectat mai sus decat linia de baza a textului precedent si
aplica un font mai mic (face trecerea in indice superior).
Nu produce rupere automata de rand.
|