Referat, comentariu, eseu, proiect, lucrare bacalaureat, liceu si facultate
Top referateAdmitereTesteUtileContact
      
    


 


Ultimele referate adaugate

Adauga referat - poti sa ne ajuti cu un referat?

Politica de confidentialitate



Ultimele referate descarcare de pe site
  CREDITUL IPOTECAR PENTRU INVESTITII IMOBILIARE (economie)
  Comertul cu amanuntul (economie)
  IDENTIFICAREA CRIMINALISTICA (drept)
  Mecanismul motor, Biela, organe mobile proiect (diverse)
  O scrisoare pierduta (romana)
  O scrisoare pierduta (romana)
  Ion DRUTA (romana)
  COMPORTAMENT PROSOCIAL-COMPORTAMENT ANTISOCIAL (psihologie)
  COMPORTAMENT PROSOCIAL-COMPORTAMENT ANTISOCIAL (psihologie)
  Starea civila (geografie)
 

Ultimele referate cautate in site
   domnisoara hus
   legume
    istoria unui galban
   metanol
   recapitulare
   profitul
   caract
   comentariu liric
   radiolocatia
   praslea cel voinic si merele da aur
 
despre:
 
Specificarea si organizarea informatiilor pe Web
Colt dreapta
Vizite: ? Nota: ? Ce reprezinta? Intrebari si raspunsuri
 
e3t13tl

"Tehnica reprezinta fantezia realitatii."
(Lucian Blaga)
Incercare de definire si istoric
Metodologii
Localizarea resurselor Internet
Protocolul HTTP
Securitatea serviciilor Web

--------------------------------------------------------------------------------

1. Incercare de definire si istoric
1.1 World Wide Web
Radacinile spatiului World Wide Web se regasesc in inceputurile Internetului, cu peste 25 de ani in urma. In 1969 apare prima retea cu comutare de pachete, denumita ARPAnet (Advanced Research Projects Agency network), fondata de Pentagon, punctul de start al retelei Internet actuale.

In anul 1980, NSF (National Science Foundation) reproiecteaza modelul ARPAnet, transformindu-l intr-o retea moderna, arhitectura primind numele de Internet, interconectind la inceput super-calculatoare guvernamentale, institutii academice si centre de cercetare si utilizind o suita standard de protocoale de comunicatie reprezentata de TCP/IP. In anii care urmeaza, Internetul se dezvolta spectaculos, intr-o maniera exponentiala.

Serviciile traditionale ale Internetului se rezumau in anii '80 la posta electronica (e-mail), accesul la grupuri de stiri (usenet), conectare la distanta (telnet) si transfer de fisiere (FTP). In 1990-1991 apar doua noi servicii: Archie utilizat pentru cautarea fisierelor pe Internet si Gopher, structura de meniuri ierarhizate facilitind organizarea documentelor pe Internet.

Unul dintre cele mai importante si de succes servicii ale Internetului, World Wide Web-ul - sau, mai pe scurt, Web ori spatiul WWW - a fost creat la CERN (Centrul European de Cercetari Nucleare de la Geneva) in anul 1989 de catre fizicienii Tim Berners-Lee, Robert Caillau si echipa lor, cu scopul de a avea acces mai usor la informatiile tehnice ale manualelor de utilizare a calculatoarelor. Data de 12 noiembrie 1990 se considera a fi ziua de nastere oficiala a Web-ului. Dezvoltarea ulterioara a sistemului a fost facilitata de programul Mosaic, sub mediul X Window, foarte simplu de folosit si poseda facilitati multimedia, de la NCSA (Centrul National pentru aplicatiile supercalculatoarelor, Universitatea Urbana-Champaign) furnizat gratuit pe Internet incepind din 1993.




Web-ul reprezinta un sistem de distributie locala sau globala a informatiilor hipermedia. Din punct de vedere tehnic, spatiul Web pune la dispozitie un sistem global si standardizat de comunicare multimedia, informatiile fiind organizate asociativ si fiind distribuite in functie de cererile utilizatorilor, functionind conform modelului client-server. Web-ul, cu toata dezvoltarea lui spectaculoasa, nu trebuie confundat cu Internetul, ci poate fi vazut drept cea mai dinamica si "minunata" componenta software a acestuia, neputind exista fara infrastructura hardware a retelelor mondiale interconectate.

Cresterea masiva a numarului de servicii si produse Web este data de utilizarea unui tot mai bogat continut informational: imagini, video si sunet.

Combinarea si integrarea acestor medii formeaza multimedia, utilizata pe scara larga in reprezentarea si interschimbarea informatiilor. Diverse obiecte/documente multimedia incluzind hiperlegaturi definesc conceptul de hipermedia. Nu exista insa o definitie universal acceptata a multimediei. Putem privi multimedia drept sursa a activitatilor de design, stocare, interogare si utilizare a documentelor electronice compuse din "medii" multiple ca video, audio, animatie, text, grafica si imagine. In general, o aplicatie este considerata a fi multimedia, daca ea contine macar o media continua (video, de pilda) si una discreta (cum ar fi textul).

Pentru a intelege notiunea de hipermedia, trebuie sa intelegem ce inseamna hipertextul. In anul 1965, Ted Nelson inventeaza termenul hipertext (text non-linear), definindu-l drept "material scris sau grafic interconectat intr-o maniera complexa care in mod conventional nu poate fi reprezentat pe hirtie. El poate contine cuprinsuri ale propriului sau continut si relatiile dintre diverse parti componente; poate de asemeni contine adnotari, adaugiri si note de subsol pentru cei care doresc sa-l examineze".

Definitiile hipertextului sint diverse. De exemplu, iata doua dintre ele.

Conform cu J.Smith si S.Weiss, hipertextul este:

o forma de document electronic;

o metoda de organizare a informatiilor in care datele sint memorate intr-o retea de noduri si legaturi, putind fi accesata prin intermediul navigatoarelor interactive si manipulata de un editor structural.

In viziunea lui W.Weiland si B.Shneiderman, hipertextul denota o tehnica pentru organizarea informatiei textuale printr-o metoda complexa neliniara in vederea facilitarii explorarii rapide a unei cantitati mari de cunostinte. Conceptual, o baza de date hipertext poate fi gindita ca un digraf, unde fiecare nod poarta un fragment de text si unde arcele grafului conecteaza unele fragmente de text cu altele inrudite. Pentru a vizualiza textul dintr-o astfel de baza de date, utilizatorul se va folosi de o interfata, traversind legaturile.

Ideea de a reprezenta printr-o modalitate nelineara mai multe tipuri de medii este insa mult mai veche. Inceputurile hipertextului si multimediei apar intr-un articol publicat in iulie 1945 in Atlantic Monthly: "As We May Think", autorul lui fiind Vannebar Bush, profesor la MIT si Institutul Carnegie din Washington. El descrie o masina menita a ajuta omul in cadrul procesului de memorare, pe baza asociatiilor intre continut si forma, aceasta masina numind-o MEMEX (MEMory EXtended). MEMEX se baza partial pe tehnologia microfilmelor, fiind prevazuta cu dispozitive de selectie foto-optica si tastaturi, "dispozitiv ce poate stoca toate cartile, inregistrarile si comunicatiile si care este mecanizat in asa fel incit consultarea informatiilor se realizeaza flexibil si rapid." (Bush, 1945)

O alta persoana implicata in dezvoltarile de inceput ale multimediei este Douglas Engelbart, membru al Institutului de Cercetare de la Stanford unde dezvolta revolutionarul proiect Augment. Acest proiect deschide o directie importanta de cercetare odata cu prezentarea lui la Fall Joint Computer Conference in 1968.

In anul 1963, Engelbart propune dispozitive computerizate de scriere automata cu un deceniu inainte de aparitia primelor procesoare de texte evoluate.

In cadrul prezentarii din 1968, prima demonstratie publica a unor facilitati de baza standard ale actualelor programe de tehnoredactare, interfete grafice, aplicatii hipertext si multimedia, Engelbart ilustreaza urmatoarele idei inovative si inventii: mouse-ul, ferestre multiple pe ecranul computerului, facilitati de procesare de texte si hipertexte, posta electronica, teleconferinte, documente compuse din text si grafica, limbaje de comanda de tip script, interfata grafica.

A treia figura importanta in istoria multimediei este Ted Nelson, inventatorul termenului de hipermedia si a unui sistem hipermedia: Xanadu ("locul magic al memoriei literare" dupa cum il descrie poetul Samuel Taylor Coleridge in poemul "Kubla Kahn: Or, A Vision in a Dream", scris in anul 1798). Ideea de baza a proiectului Xanadu era aceea de a concepe un sistem care sa contina intreaga literatura universala, plus alte informatii, intr-un singur depozit de date.

Prototipul lui Xanadu exista intr-o versiune dezvoltata de Autodesk (niciodata facuta publica, in ciuda numeroaselor anunturi a unor variante de test) si in 1991 permitea:

stocarea digitala a informatiilor de tip text, grafica, video etc.

legaturi flexibile intre documente (la nivel de caracter, cuvint, fragment de imagine etc.)

atasarea de senzori activi partilor de documente

controlul versiunilor si compararea lor

accesul concurent si sigur al mai multor utilizatori

Desigur, in prezent, Xanadu a fost depasit de ceea ce inseamna Web-ul, dar multe din ideile de pionerat ale lui Nelson se regasesc in cadrul WWW si a altor sisteme hipermedia actuale.

In cadrul Laboratorului Media de la MIT, incepind cu anii '70, s-au dezvoltat o serie de sisteme multimedia clasice, surse de inspiratie pentru aplicatiile actuale. Dintre acestea se pot mentiona: Spatial Data Management System, Aspen Movie Map, Project Athena, care definesc si domeniile de interes ale hipermediei: simulari interactive, colaborari stiintifice la distanta, invatamint.

Astazi se estimeaza ca numarul serverelor WWW a depasit un milion. In ultimii trei-patru ani, Web-ul s-a dezvoltat exploziv si a dobindit un nou aspect, devenind domeniu public si extinzindu-se foarte mult in lumea afacerilor. Astfel, Web-ul poate fi considerat segmentul Internet cu cea mai rapida dezvoltare: in timp ce Internetul se dubleaza la fiecare 100 de zile, spatiul WWW numara deja peste un miliard de pagini.

Istoricul WWW-ului decurge in paralel cu istoricul HTML-ului, limbaj de marcare a documentelor hipermedia disponibile pe Web pe care il vom prezenta in unul dintre capitolele urmatoare.

1.2 Scurt istoric al HTML
Ca descendent al SGML-ului, limbajul HTML are o istorie care debuteaza cu publicarea in 1986 de catre Organizatia internationala pentru standardizare (ISO) a unui articol intitulat "Information Processing - Text and Office Systems - Standard Generalized Markup Language (SGML)". Dupa trei ani, Tim Berners-Lee de la CERN inainteaza o propunere - proiect ce a circulat sub numele de "HyperText and CERN" - de sistem de documente hipertext, denumit in octombrie 1990 World-Wide Web.

Tim Berners-Lee identifica un numar de considerente practice pentru sistemul propus care trebuia sa ofere:

accesul la distanta intr-o retea, acceptindu-se diverse tipuri de conexiuni;

accesul la o multitudine de surse de informatii stocate intr-o varietate de forme (text, grafica, sunet etc.) cu ajutorul unor tipuri diferite de sisteme de operare situate pe diferite platforme hardware;

capabilitati de extindere si dezvoltare in ceea ce priveste aria de acoperire prin cresterea numarului de legaturi, fara existenta unui control central.

Tim Berners-Lee scrie de asemeni prima aplicatie Web, un pachet de server Web rulind pe calculatoare NeXT. In noiembrie 1990, Nicola Pellow incepe sa conceapa un navigator (browser) text care la sfirsitul aceluiasi an era disponibil in cadrul CERN.

In mai 1991, CERN prezinta WWW la seminarul anual si browserele in mod linie pentru platforme ca VAX, RS6000 si SUN sint disponibile pe grupurile de stiri alt.hypertext, comp.sys.net, comp.text.sgml si comp.mail.multi-media (august 1991).

Dan Connolly se alatura proiectului Web, iar experienta sa in utilitare de documentare on-line si sisteme formale il ajuta sa dezvolte specificatia pentru HTML. Pe data de 15 ianuarie 1992 apare pentru prima data, disponibil prin FTP anonim, un browser text conceput de CERN, interpretind noul limbaj HTML, prezentat si la AIHEP'92 - La Londe. Proiectului Web i se alatura Jean-Francois Groff si Carl Barker.

In 1993, primul navigator grafic, numit Mosaic, rulind sub X Window este proiectat de Marc Andreesen si facut public de NCSA (luna februarie). Mosaic utilizeaza primul standardul HTML, bazat pe tag-uri, inspirat dupa SGML. In aprilie 1993, dupa aproape un an si jumatate de la introducerea Web-ului, existau deja 60 de servere WWW.

Urmeaza ulterior prezentarea standardului HTML 2.0 (IETF RFC 1866) care include abilitati de afisare mai precisa a imaginilor, utilizarea de formulare, tabele, tipuri de legaturi etc. HTML 2.0 permite dezvoltarea masiva a Web-ului si toate browserele WWW moderne il suporta fara restrictii. In fapt, standardul HTML 2.0 doar pune in ordine anumite facilitati practice aparute incepind cu anul 1994. Netscape extinde o parte din specificatiile HTML 2.0 in 1996 adaugind o serie de tag-uri utile in versiunea foarte populara Netscape Navigator 2.0.

HTML+ se dorea a fi o incercare de a extinde HTML-ul, prima data publicata de Dave Raggett in 1993 si prezentata la prima conferinta Web in 1994.

O extensie a HTML+ a fost HTML 3.0 care n-a fost niciodata standardizata. Ea a fost propusa de tinarul pe atunci Consortiu W3, format in 1994 de catre CERN si MIT cu scopul de a alcatui un standard viabil al limbajului HTML si de a ghida conceperea de pagini Web. Acest consortiu este cel care propune, certifica si urmareste intreaga dezvoltare a spatiului WWW.

In luna iulie 1996, consortiul Web anunta oficial standardul HTML 3.2 adaugind specificatii pentru tabele, imagini, applet-uri, perfect compatibil cu HTML 2.0. In ianuarie 1997, standardul a fost aprobat si toate navigatoarele il suporta.

Proiectantii de navigatoare (ca Netscape si, mai nou, Microsoft) au adaugat diferite facilitati care nu apar definite de nici un standard HTML. De exemplu, Netscape Navigator 3.0 oferea la data lansarii posibilitati de adaugare de elemente multimedia direct in paginile Web, fundaluri reprezentate de imagini, cadre (frames) etc. care nu aparusera inca in specificatiile HTML, plus suport pentru script-uri Java interpretate direct de catre client.

Urmatoarea versiune a HTML-ului dezvoltata de consortiul W3, denumita Cougar, este standardul HTML 4.0, aparut relativ recent, in anul 1997, care aduce suport pentru accesibilitatea paginilor Web din partea persoanelor cu handicap, foi de stiluri interne, suport lingvistic si pentru formule matematice, evenimente etc. Dupa cum stipuleaza inventatorul Web-ului si directorul W3C, Tim Berners-Lee:

"Cu HTML 4.0, orice aplicatie Web va fi independenta de navigator."
HTML 4.0 este disponibil in trei variante:

HTML 4.0 Strict

HTML 4.0 Transitional

HTML 4.0 Frameset

Versiunile actuale ale celor mai cunoscute navigatoare (Netscape Communicator 4, 6, Internet Explorer 5 si Opera 4) suporta standardul HTML 4.

Pentru a asigura fiabilitatea si corectitudinea comunicatiilor pe WWW, Consortiul Web a introdus HTML Validation Service (https://validator.w3.org/) care verifica daca un anumit document se conformeaza standardului HTML 4.0. Tim Berners-Lee declara ca HTML 4.0 n-a fost conceput pentru navigatoare, ci pentru aplicatii viitoare si produse Web.

Ultima directie de standardizare a Consortiului WWW este cea a rescrierii HTML-ului in termenii meta-limbajului extensibil XML, pentru a creste flexibilitatea si a oferi proiectantilor de aplicatii Web o mai mare adaptabilitate. Astfel, HTML 4.0 este urmat de XHTML 1.0, standardizat relativ recent, in luna ianuarie 2000.

2. Metodologii
2.1 Hipertextul
Conceptul esential prezent in cadrul hipertextului este cel al legaturilor (ce apar in cadrul aceluiasi document si/sau intre documente diferite). Aceasta caracteristica de legare permite organizarea non-lineara a informatiilor.

O parte dintre avantajele hipertextului fata de textul tiparit sint:

forma neliniara a hipertextului ofera capabilitati eficiente de parcurgere a continutului;

mediile electronice pot stoca o cantitate impresionanta de informatii;

hipertextul ofera o mai buna vizualizare a continutului si o navigare rapida, oricit de complexe ar fi documentele, tinind cont de specificatiile utilizatorilor;

in cadrul sistemelor hipertext, interogarile, filtrarile, diversele preferinte si adnotarile utilizatorilor pot fi refolosite ori de cite ori este necesar, putind fi stocate in cadrul structurii hipertext a documentelor folosite.

Principalele probleme cu care se confrunta informaticienii in ceea ce priveste hipertextul sint cele legate de:

conversie (in general automata) a textului liniar in forma hipertext si liniarizare a hipertextului;

proiectare (design) a documentelor hipertext;

accesare concurenta a bazelor de date hipertext in context distribuit;

construire a unor mecanisme optime pentru cautarea si interogarea inteligente in cadrul informatiilor hipertext;

suportare a extensiilor multimedia;

prezentare a documentelor hipertext intr-o forma usor de parcurs de catre utilizatori etc.

2.2 Noduri si legaturi
In principiu, un sistem hipermedia este constituit din noduri (concepte) si legaturi (relatii). Un nod reprezinta, in mod uzual, un concept unic (o idee), putind contine text, grafica, animatie, audio, video, imagini sau programe. Un nod poate avea asociat un tip (detaliu, propozitie, colectie, observatie etc.) inglobind o informatie semantica. Nodurile sint conectate de alte noduri prin intermediul legaturilor. Nodul sursa al unei legaturi se numeste referinta, iar cel destinatie referent, putind fi 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 conducind 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.


O structura hipertext compusa din mai multe noduri si modul de vizualizare folosind un browser hipertext
Legaturile sint conexiuni intre noduri (sau concepte) dependente unul de altul, putind 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 deosebesc cel mai bine hipermedia de celelalte forme de stocare a informatiei) sau organizationale (denumite ierarhice sau structurale, ilustrind relatiile parinte-copil dintre noduri, folosite la organizarea nodurilor in maniera ierarhica intr-o structura stricta). Legaturile organizationale sint esentiale pentru liniarizarea hipertextului si permit autorilor sa verifice coerenta structurii hipertext.


Exemplu de structura hipertext liniara avind legaturi referentiale si legaturi bidirectionale
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 sint conectate direct. Sisteme ca Hyper-G, Microcosm sau Deja-vu ofera suport pentru legaturi dinamice.

Activarea marcajelor unei legaturi duce la vizualizarea (activarea) nodurilor.

Conceptele de mai sus isi au originile in istoria omenirii. Talmudul (utilizind din plin comentarii si adnotari imbricate, colaterale), Ramayana si Mahabharata sint prototipuri antice ale reprezentarii hipertextului. Dictionarele si enciclopediile tiparite pot fi considerate vechi forme de hipertext, fiind vazute ca retele de noduri-text unite de legaturi-referinte.

obiect hipertext nod structura nod-secvential cale lineara cale alternativa cale conditionata nod de explorare continut atomic sursa interna sursa externa nod compus legatura structura legatura secventiala legatura de explorare continut

Structura ierarhica a conceptului de obiect hipertext
2.3 Conceperea documentelor hipertext
Intelegerea si navigarea printr-un document de tip hipertext depind de abilitatea utilizatorului de a contrui o reprezentare mentala coerenta a structurii hipertextului, raminind in responsabilitatea creatorului documentului sa asigure aceasta coerenta. Construirea unui document hipertext coerent poate fi considerata o problema de design, fara a exista insa legi pentru conceperea de documente hipertext "corecte", desi cercetatori precum Manfred Thuring, Usha Rao sau Jeff Conklin au stabilit o serie de reguli pentru aceasta. In viziunea acestora, un document hipertext coerent consta din trei componente: partea de continut, partea de organizare si partea de prezentare a informatiilor.


Explorarea informatiilor hipermedia continute de Encyclopaedia Britannica 2000
Partea de continut
Nodurile si legaturile pot fi considerate drept obiecte proiectate, pentru asigurarea coerentei putindu-le fi asociate proprietati (semantici). Partea de continut contine obiecte purtatoare de informatie, acestea fiind noduri continut care contin date si legaturi de tip continut care conecteaza nodurile continut pe baza unor relatii semantice. Nodurile continut pot fi atomice sau pot fi compuse din alte noduri (marimea unui nod este determinata de autor). Precizind natura semantica a relatiilor dintre noduri, legaturile pot fi clasificate pe mai multe nivele dupa cum urmeaza:

nivelul 1: legaturile nu au asociate etichete;

nivelul 2: legaturile poseda etichete descriind intelesul global al relatiei dintre obiecte (i.e. "este ilustrat de" sau "este discutat de");

nivelul 3: legaturile au etichete mai detaliate (precum "este vizualizat grafic prin", "este criticat de").

Aceasta clasificare poate fi rafinata, in sensul ca ierarhia nivelelor legaturilor depinde de starea actuala de cunoastere a autorului documentului.

Partea de organizare
Obiectele din cadrul acestei parti maresc coerenta prin structurarea retelei hipertext din perspectiva cititorului acelui document. Autorul poate pregati diverite variante ale documentului in functie de audienta lor.

Nodurile de structura organizeaza nodurile continut si legaturile intr-o maniera specifica, fiecare nod de structura avind un nume si un nod de start. Acestea pot fi de doua tipuri:

noduri de secventa care permit autorului sa defineasca secventa de citire a continutului hipertextului (cititorul poate fi constrins sa urmeze secventa de noduri indicata de autor);

noduri de explorare care ofera utilizatorului posibilitati de explorare a retelei hipertext.

Legaturile de structura se pot clasifica astfel:

legaturi de secventa asociate continutului fiecarui nod de secventa care poseda o secventa de prezentare (se utilizeaza pentru a defini ordinea de parcurgere: liniara, arborescenta etc.);

legaturi de explorare oferind acces la nodurile de explorare.

Nodurile de secventa impreuna cu legaturile de secventa pot oferi diverse secvente de prezentare a continutului hipertext (ca de exemplu cai de vizitare secventiale, arborescente sau conditionale).

Partea de prezentare
Partea de prezentare are in vedere vizualizarea structurii si continutului hipertextului si ofera mecanisme de navigare. Autorii pot adopta diferite stiluri de prezentare a informatiilor:

textual - nu se ofera o vizualizare grafica a structurii, prezentarea fiind limitata la afisarea continutului unuia sau mai multor noduri;

grafic - exista o vizualizare grafica a structurii hipertext (e.g. harta legaturilor dintre noduri, arbore de navigare etc.);

combinat - ofera ambele posibilitati de prezentare.

2.4 Structuri hipermedia
Hiperdocumentele pot fi structurate asemeni retelelor (grafurilor), fara restrictii in ceea ce priveste marimea nodurilor sau modul de realizare a legaturilor dintre ele. Uneori o structura hipertext poate deveni extrem de mare si atunci, de cele mai multe ori, se folosesc legaturi organizationale pentru a putea fi parcursa de utilizatori. Structura hiperdocumentelor devine deosebit de importanta din punctul de vedere al problemei parcurgerii in intregime a nodurilor si a regasirii informatiilor (utilizatorii se pot confrunta cu asa-numita "pierdere in spatiu" - lost in space, atunci cind nu mai stiu unde se afla in cadrul structurii hipermedia).


Parcurgerea arborescenta a nodurilor hipertext in enciclopedia Encarta 2000
Exista mai multe abordari pentru realizarea unei structuri hipermedia valide si usor de parcurs.

Cea mai uzuala se bazeaza pe metafora cartii tiparite, structura lineara putind acompania un alt tip de structura, folosindu-se legaturi organizationale intre nodurile hiperdocumentelor. Alte legaturi pot fi utilizate pentru a oferi ceea ce se numeste "capabilitatea non-liniara controlata" de a parcurge hipertextul (legaturi catre cuprins, referinte, note de subsol, glosar de termeni etc. pot apare cu succes pentru a imbunatati structura documentelor). Structurile liniare pot fi utilizate pentru realizarea a ceea ce se numeste "tour-guide" a unui sistem, fiind pregatite in prealabil de care experti pentru a ghida un novice printr-o retea de noduri hipertext.

Se ofera suport pentru traversarea unui text liniar in cadrul unui sistem hipermedia, dar aceasta abordare isi dovedeste slabiciunea atunci cind luam in considerare explorarea hiperdocumentelor liniare de dimensiuni considerabile.

A doua maniera de realizare este structura liniara cu salturi, adoptata de Apple in cadrul sistemului HyperCard, constind dintr-o structura arborescenta in care utilizatorii pot sa traverseze nodurile in oricare directie urmind o cale liniara, dar de asemeni sint capabili sa faca salturi de la orice nod la un nod principal denumit nodul acasa ("home"). Nodul acasa poate fi o biblioteca avind in componenta diverse documente liniare (e.g. carti electronice).


Exemplu de structura liniara cu salturi
Daca informatia dintr-un hiperdocument se poate divide in mod natural in ierarhii ordonate, atunci se utilizeaza o structura ierarhica, aceasta abordare regasindu-se in modelul Dexter si permitind cu succes utilizatorilor sa navigheze printr-o retea hipertext complexa. Autorul poate crea ierarhii de informatii utilizind legaturi organizationale si apoi sa adauge legaturi referentiale facilitind interconectarea acestor ierarhii. In cadrul unei structuri de tip ierarhic mentinerea integritatii si explorarea nodurilor se realizeaza mai usor.

In cadrul literaturii de specialitate, hipermedia este vazuta ca imitatoare a memoriei umane, nodurile putind fi structurate ca o pinza (retea). Astfel, se pot realiza documente hipertext structurate semantic, prin impletirea hipermediei cu inteligenta artificiala, utilizindu-se diverse metode precum retele semantice, noduri semi-structurate, harti de concepte etc.

Este posibil, desigur, ca in cadrul unui singur hiperdocument sa coexiste mai multe principii de structurare (vezi figura). Caile liniare sint uzuale pentru a parcurge o arie de interes intr-o ordine prestabilita, reteaua permite navigarea, iar ierarhia ofera o structura de tip index.


Coexistenta a trei principii de structurare a hipertextului
(exemplu dat de Waterworth si Chignell)
2.5 Modele
Pentru a realiza sisteme hipermedia deschise, cu fuctionalitati integrate, s-au propus diverse modele, pe o parte dintre ele le vom trece in revista in continuare.

Hypertext Abstract Machine (HAM)
Una dintre primele incercari de a propune un model de implementare hipertext a fost Hypertext Abstract Machine (HAM), un sistem general multi-utilizator pentru stocarea hipertextului, bazat pe tranzactii, aparut in 1988. Modelul este structurat pe nivele, constind din:

interfata cu utilizatorul - un mediu interactiv bazat pe ferestre;

aplicatia - aplicatia curenta care poate rula pe aceeasi masina sau pe o masina diferita de cea pe care ruleaza HAM;

masina hipertext abstracta (HAM) - un motor utilizat pentru managementul tuturor informatiilor referitoare la hipertext si pentru comunicarea cu aplicatia prin intermediul unui protocol siruri de octeti;

sistemul de stocare sau sistemul de fisiere gazda - un depozit de date care memoreaza toate structurile hipertext si bazele de date.


Nivelele modelului HAM
Modelul de stocare HAM consta din cinci tipuri de obiecte:

grafuri - retele de noduri si legaturi continind unul sau mai multe contexte;

contexte - partitii de date in cadrul grafurilor;

noduri;

legaturi;

atribute (asociind semantici).

Asupra obiectelor HAM se pot realiza operatii de creare, stergere, distrugere, modificare, filtrare, interogare si altele. Arhitectura HAM ofera un sistem de control al versiunilor, securitatea si filtrarea datelor.

Hypermedia Design Model (HDM)
Modelul a fost dezvoltat ca parte a proiectului HYTEA de catre un consortiu european, in anul 1991. Facilitatile de baza ale HDM sint reprezentarea aplicatiilor hipertext prin intermediul primitivelor: entitati-tip compuse din ierarhii de componente, diverse perspective ale unei componente, legaturi structurale legind componentele apartinind aceleasi entitati sau unor entitati diferite, semantici de navigare. Aceste primitive sint similare obiectelor definite de HAM.

Modelul este gindit a fi independent de sistem, putind fi utilizat la translarea aplicatiilor hipertext dintr-un mediu intr-altul.

HDM poate fi folosit pentru crearea unor hiperdocumente de dimensiuni mari sau pentru definirea topologiei unei retele hipertext, neputind oferi suport pentru documente mici sau pentru asocierea de informatii nodurilor.

In cadrul HDM se pot defini specificatii de nivel inalt, una dintre facilitatile interesante fiind aceea prin care un autor poate defini "perspective" permitind prezentari alternative ale informatiei hipertext. Aceasta poate fi de folos atunci cind sistemul este bilingv sau cind reprezentarile sint atit text, cit si grafice.

Modelul Dexter
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, modelind o baza de date care este compusa dintr-o ierarhie de componente continind 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 sint tratate ca si containere generice de date si modelul nu specifica nici o structura a acestora (astfel, componentele text nu sint diferentiate de componentele audio, de exemplu).

Component - nivelul specifica structura si continutul fiecarei componente a retelei hipertext. Acest nivel este unul deschis, putind fi inglobate noi forme de reprezentare a informatiei. Modelul Dexter presupune ca modele structurale precum SGML (Standard Generalized Markup Language), 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 putindu-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.

Modelul Tower

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, prezentindu-l la cea de-a patra Conferinta a Hipertextului, organizata de ACM.

Modelul, denumit Tower (turn), contine elemente structurale de baza ca noduri, legaturi si ancore, obiecte de tip turn si obiecte de tip oras. Obiectele turn sint utilizate sa modeleze diverse descrieri ale unui obiect (fiind similare, oarecum, nivelelor modelului Dexter). Tipul, modalitatile de stocare, modalitatile de vizualizare etc. reprezinta nivele ale obiectului turn. Orasele constau din multimi de vizualizare peste obiectele turn.

Modelul permite fiecarui tip de obiect sa fie obiect virtual (i.e. rezultatul unei functii sau algoritm), operatorii pentru definirea structurilor virtuale fiind Apply-to-All, Filter, Enumeration si Abstraction, utili pentru prelucrarea informatiilor hipertext. Semantica navigarii este descrisa prin intermediul retelelor Petri.


Modelul Tower
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 sint "cetateni", fiecare avind un oid si o valoare care poate denota orice. Separind 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 pot fi 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, depinzind 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), respectindu-se principiul incapsularii datelor.

O ancora de baza reprezinta locatia destinatie a unei legaturi, putind 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 sint 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:

o dimensiune structurala constind 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 avind 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, corespunzind unui nivel separat al functionalitatii hiperdocumentului. Domeniul de definire a functiei este fixat pentru fiecare clasa de obiecte turn.

Toate obiectele sint modelate prin turnuri. De pilda, un turn legatura poate consta din:

un nivel structural stocind multimea de legaturi,

un nivel de prezentare indicind 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 sint complet arbitrare, in functie de necesitati.

Orasele
Un obiect al unui hiperdocument poate fi vizualizat din diverse perspective, depinzind de modul cum este accesat de catre utilizator.

Nodurile de tip oras sint folosite pentru a vizualiza obiectele turn din diferite astfel de perspective. Elementele unui oras sint denumite vizualizari (views), fiecare vizualizare constind dintr-un turn ce descrie obiectul dintr-o perspectiva particulara. Aceste vizualizari modularizeaza informatia in conformitate cu diverse modalitati de accesare a datelor.

2.6 Standarde
Fata de documentele clasice, statice si structurate, documentele hipermedia sint nestructurate si pot fi dinamice. Astfel, standardele curente referitoare la documente nu surprind suficient caracterul structurii hipertext. O ierarhie arborescenta este relevanta dar nu-i suficienta pentru hipertext, iar formele actuale de SGML sau ODA nu ofera toate capabilitatile dorite pentru reprezentarea si interschimbarea hipertextului. Un unic standard nu poate acoperi diversitatea formatelor si actiunilor ce pot fi executate asupra hiperdocumentelor. Asadar, au fost propuse o serie de standarde hipermedia dintre care vom mentiona HyTime si MHEG.

HyTime
HyTime (Hypermedia/Time-based Structuring Language) reprezinta un standard international pentru reprezentarea legaturilor hipertext si sincronizarea informatiilor continute de documentele multimedia. Bazat pe SGML, in conformitate cu ISO 8879, HyTime a fost standardizat in cadrul grupului special SIGLINK al ACM in 1992 si ofera o multitudine de extensii precum posibilitatea folosirii de pointeri sau scheme de adresare in vederea localizarii datelor, independenta de notatiile de continut a nodurilor, de tipurile legaturilor, de modalitatile de procesare, prezentare si semanticile utilizate. HyTime suporta adresarea prin nume, dupa pozitia nodului in cadrul documentului si dupa constructia semantica asociata acelui nod. HyTime permite combinarea oricaror tipuri de tehnologii multimedia si hipertext (proprietare sau nu), dar nu are in vedere standardizarea prezentarii, interfetei cu utilizatorul sau limbajelor de interogare.

HyTime a fost creat pentru a fi utilizat ca infrastructura a aplicatiilor multimedia sincronizate sau nesincronizate, permitind schimbul de informatii hipertext independent de platforma hardware sau software folosita.

MHEG
Scopul standardului MHEG (Multimedia and Hypermedia Information Coding Expert Group) este de a defini reprezentarea si codificarea informatiilor multimedia si hipermedia pentru a facilita serviciile de interschimb de hiperdocumente in orice context (dispozitive de stocare, retele de telecomunicatii sau retele de difuzare audio-vizuala). MHEG ofera:

abstractizari pentru prezentari in timp-real incluzind sincronizarea si interactivitatea informatiilor multimedia;

abstractizari pentru schimbul de informatii in timp-real folosindu-se o zona temporara de memorare minimala;

abstractizari pentru manipularea directa a informatiilor fara a necesita procesari suplimentare;

facilitati de realizare de legaturi intre elementele obiectelor multimedia compuse.

2.7 Aplicatii
Tehniciile hipertext (hipermedia) pot fi utilizate in diverse aplicatii precum carti electronice, enciclopedii, sisteme de help on-line, sisteme de invatare asistata de calculator (CAL - Computer-Aided Learning), scriere colaborativa de documente, chioscuri informationale interactive, sisteme decizionale etc.

In prezent exista o serie de sisteme hipertext operationale dintre care se pot aminti Hyperwave (https://www.hyperwave.com), Microcosm (https://www.multicosm.com/microcosm/index.html), Storyspace (https://www.eastgate.com/Storyspace.html), Webthing (https://www.webthing.com/self-org/) si, desigur, World Wide Web (https://www.w3.org/pub/WWW/WWW/).

Hyperwave
Vom descrie in continuare un sistem hipermedia avansat - Hyperwave (initial denumit Hyper-G) - dezvoltat la Universitatea tehnica din Graz, Austria, de H.Havrer si F.Kappe. Hyperwave ofera:

acces folosind hiper-legaturi, navigare si cautare ierarhice

reducerea fragmentarii colectiilor de documente stocate pe servere multiple

suport pentru documente in mai multe limbi

identificarea si controlul accesului utilizatorilor (securitate)

integrarea in sistemele informationale deja existente in Internet

consistenta documentelor

Serverul Hyperwave
Hyperwave a fost conceput sa stocheze resurse hipermedia numeroase care pot fi regasite pe diferite servere. Dezvoltarea si administrarea pe termen lung a bazelor de date distribuite devin cruciale atunci cind dimensiunea acestora create foarte mult. Pentru aceasta, Hyperwave impune o structurare a documentelor memorate. Fiecare document este membru al uneia sau mai multor colectii, aceste colectii formind o ierarhie.

In afara de a suporta diverse facilitati ca asignarea unor atribute obiectelor multimedia sau indexarea si cautarea lor, serverul Hyperwave mentine o ierarhie a utilizatorilor organizati in grupuri.

Unui document i se pot asocia atribute ca:

permisiuni de citire/scriere pentru grupuri sau utilizatori

cuvinte-cheie de cautare

titluri in diverse limbi

proprietati de afisare

o durata de accesibilitate

costul vizualizarii

fanioane de actualizare concurenta

Aceste atribute sint memorate intr-o baza de date separata, pentru facilitarea operatiunilor de extragere si manipulare.

Documentele
Un server Hyperwave poate contine diverse tipuri de documente:

(hiper)documente in formate precum HTML sau HTF (Hyperwave Text Format) ori neformate

imagini (JPEG, GIF, PNG, TIFF etc.)

filme in formatul MPEG

documente Postscript

lumi tridimensionale in formate VRML/SDF

programe (applet-uri Java, de exemplu)

Este posibila definirea de legaturi spre o serie de documente sau parti ale lor. Se pot insera si pseudo-documente speciale de catre script-uri ce vor fi executate de server la cererea clientilor. Folosind acest mecanism, continutul poate fi creat "din zbor" si prezentat utilizatorului (sint suportate script-uri CGI, HGI sau cod SQL). Aceasta faciliteaza si operatiunile de cautare sau indexare.

Prin facilitatile oferite, Hyperwave se poate considera a fi un veritabil sistem hipermedia.

Virtual Shakespeare
In cele ce urmeaza, vom prezenta un proiect de vizualizare tridimensionala a unor mari cantitati de text, cum sint piesele de teatru ale lui William Shakespeare, proiect bazat pe diverse metodologii hipertext si pe tehnici vizuale de filtrare a informatiei.

De cele mai multe ori se doreste ca parcurgerea unor documente de dimensiuni considerabile sa se realizeze simplu, rapid si natural. Cercetatorii de la laboratorul Visible Language Workshop (MIT), condusi de profesorul Muriel Cooper, au propus in anul 1996 in cadrul proiectului Virtual Shakespeare o metoda de vizualizare tridimensionala a continutului textual al pieselor lui Shakespeare, prin intermediul unei camere virtuale care poate naviga libera prin hiperdocumente.


Un filtru vizual aplicat pentru replicile Titaniei, regina zinelor din "Visul unei nopti de vara"
Intr-un alt plan, se pot parcurge indicatiile regizorale referitoare la personajele scenei
Corpusul generos (insumind peste 1 milion de cuvinte) poate fi explorat la nivel de replica de personaj, tablou, act sau piesa luata in intregime. S-a conceput un model de vizualizare bazat pe display-uri de inalta rezolutie pentru optimizarea navigarii si a schimbarilor de scala a textului. Daca utilizatorul se afla prea departe de textul reprezentat 3D, atunci textul va fi inlocuit cu o textura mai simpla (tehnica denumita greeking), pentru a se mentine forma originala a liniilor de text, chiar daca infatisarea cuvintelor s-a pierdut. Tranzitia de la diverse nivele de detaliu trebuie sa se realizeze in mod natural, astfel incit cititorul sa aiba impresia ca intreaga informatie se afla pe ecran. Cu cit textul se afla mai departe de camera virtuala de vizualizare, cu atit va deveni mai intunecat, aplicindu-se legile cromatice din artele plastice. De altfel, replicile unor personaje diferite vor fi reprezentate cu culori diferite. Pentru ca fonturile sa fie corect reprezentate la toate scarile alese s-au folosit tehnologii Adobe. Pentru a evita problemele de vizualizare a notelor de subsol si a referintelor incrucisate, acestea vor putea fi parcurse in alt plan, diferit de cel al textului principal. Atunci cind se va accesa un alt document prin intermediul unei legaturi, utilizatorul va "sari" pur si simplu in alt plan de vizualizare, putind astfel parcurge in paralel mai multe fragmente de informatie, denumite de Muriel Cooper peisaje informationale (information landscapes).

Toate aceste metode faciliteaza usurinta in explorarea continutului textual al hiperdocumentelor, chiar si de catre cei care nu detin cunostinte de informatica sau de catre persoanele cu diverse handicapuri.

3. Localizarea resurselor Internet
Localizarea resurselor Internet se realizeaza apelind la URI (Uniform Resource Identifiers), identificatori uniformi de resurse.

URI sint caracterizati de definitiile de mai jos:

Resursa
Poate fi orice lucru ce poseda o identitate. Ca exemple tipice pot fi enumerate: un document electronic, o imagine, un serviciu, o colectie de alte resurse. Nu toate resursele pot fi accesate via retea, dar pot fi considerate resurse (non-electronice) si fiintele umane, organizatiile, cartile dintr-o biblioteca. O resursa se poate mentine constanta in timp desi continutul ei - entitatile careia ii corespund - se poate modifica.

Identificator

Este un obiect care poate juca rolul unei resurse. In cazul URI, obiectul este o secventa de caractere avind o sintaxa bine-definita.

Uniformitate
Permite ca diverse tipuri de identificatori de resurse sa fie utilizate in acelasi mod, chiar daca mecanismul desemnat sa acceseze aceste resurse (protocolul folosit) difera. Se permite o interpretare semantica uniforma a mai multor conventii sintactice comune desemnind identificatori ai unor resurse eterogene. Mai mult, se pot introduce noi tipuri de identificatori de resurse fara a modifica modul de adresare a vechilor tipuri.

Termenul URL (Uniform Resource Locator) se refera la un subset URI ce identifica resursele printr-o reprezentare a mecanismului de accesare a lor (e.g. localizarea retelei), nu identificindu-le prin nume sau alte atribute. Regulile de generare a unui URL valid sint prezentate in anexa 1.

Termenul URN (Uniform Resource Name) include tot un subset al URI care ramine permanent si unic, chiar daca resursa a disparut ori a devenit inaccesibila.

Exemple: ftp://ftp.is.co.za/rfc/rfc2396.txt schema ftp pentru serviciile protocolului de transfer de fisiere (FTP)

https://www.infoiasi.ro/Ibusaco/teach/ schema http pentru serviciile protocolului de transfer a hipertextelor (HTTP)

mailto:busaco@thor.infoiasi.ro schema mailto pentru adrese de posta electronica (SMTP)

news:comp.infosystems.www.servers.unix schema news pentru grupurile de stiri USENET (NNTP)

telnet://delta.ac.tuiasi.ro:7777 schema telnet pentru servicii interactive via protocolul TELNET

3.1 Componentele sintaxei URI
URI pot fi reprezentate ca siruri de caractere apartinind unui alfabet limitat (literele alfabetului latin, cifrele si citeva caractere de punctuatie).

Un URI poate contine urmatoarele caractere rezervate:

reserved = ";" | "/" | "?" | ":" | "@" | "&" |
"=" | "+" | "$" | ","

Un URI generic este compus din urmatoarele componente principale:

schema://autority path?query

Existind mai multe metode de a accesa resursele, vor fi mai multe scheme pentru a le identifica:

schema = alpha (alpha | digit | "+" | "-" | ".")*

Componenta autoritate este definita de o locatie de server Internet sau de o secventa speciala de inregistrare, e precedata de "//" si e terminata de urmatorul "/", "?" sau de sfirsitul URI-ului.

autority = server | reg_name reg_name = (unreserved | escaped | "$" | "," | ";" | ":" |
"@" | "&" | "=" | "+")+ server = a a userinfo "@" i hostport i userinfo = (unreserved | escaped | ";" | ":" | "&" | "=" |
"+" | "$" | ",")+ hostport = host a ":" port i host = hostname | IPv4addr hostname = (domainlabel ".")* toplabel a"."i domainlabel = alphanum | alphanum (alphanum | "-")* alphanum toplabel = alpha | alpha (alphanum | "-")* alphanum
IPv4addr = digit+ "." digit+ "." digit+ "." digit+ port = digit+

Serverul poate fi dat fie prin adresa IP (de exemplu 193.231.30.225), fie prin adresa DNS (e.g. thor.infoiasi.ro), eventual urmat de un numar de port.

Componenta cale contine date identificind o resursa:

path = a abs_path | opaque_path i path_segm = segment ( "/" segment )* segment = pchar* ( ";" param)* param = pchar* pchar = unreserved | escaped | ":" | "@" | "&" |
"=" | "+" | "$" | ","

Calea poate contine secvente de segmente de cale separate prin "/". In cadrul unui segment, caracterele "/", ";", "=" si "?" sint rezervate. Fiecare segment poate include o secventa de parametri, dupa ";".

Componenta de interogare este un sir de informatii interpretate de resursa:

query = uric*

In cadrul componentei de interogare, caracterele ";", "/", "?", ":", "@", "&", "=", "+", "," si "$" sint rezervate.

3.2 Referinte URI
O referinta URI este utilizata aici sa desemneze o utilizare comuna a unui identificator, putind fi absoluta sau relativa si putind contine informatii suplimentare:

URI-ref = a absoluteURI | relativeURI i a "#" fragment i

Sintaxa unui URI relativ e o forma prescurtata a unui URI absolut, in care unele componente lipsesc si anumite componente de cale ("." si "..") au un inteles special (vezi mai jos).

Atunci cind o referinta URI este utilizata sa realizeze o actiune de accesare a unei resurse, se poate folosi un identificator de fragmentare constind din anumite informatii spre a fi interpretate de agentul utilizator dupa ce operatia de transfer a resursei s-a finalizat cu succes.

fragment = uric*

Semantica identificatorului de fragmentare este o proprietate a datelor rezultate in urma actiunii de accesare si transfer a resursei. Formatul si interpretarea identificatorilor de fragmentare sint dependente de tipul de media.

3.3 Referinte URI relative
Majoritatea documentelor (resurselor) sint stocate in maniera arborescenta (ierarhica). Adresarea relativa permite o partiala independenta a locatiei si a schemei de acces.

relativeURI = (net_path | abs_path | rel_path) a "?" query i rel_path = rel_segm a abs_path i rel_segm = (unreserved | escaped | ";" | "@" | "&" |
"=" | "+" | "$" | ",")+

Anumite scheme URI nu permit sintaxa ierarhica, deci nu pot utiliza referinte relative.

4. Protocolul de transport al hipertextelor: HTTP
4.1 Introducere
Protocolul de transport al hiper-textelor HTTP (Hyper-Text Transport Protocol) este un protocol bazat pe TCP/IP destinat sistemelor hipermedia conlucrind in medii distribuite. HTTP a inceput sa fie proiectat si utilizat din anul 1990, dezvoltindu-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, permitindu-se mesaje in format MIME (Multipurpose Internet Mail Extensions), continind 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, avind suprt pentru URI (Uniform Resource Identifier), specificind 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, incluzind 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 decurgind peste conexiunile TCP/IP, portul standard de acces fiind portul 80.

4.2 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, constind 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 atit meta-informatii, cit 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 ce initiaza o cerere (navigator, editor, robot de traversare Web). Navigatoarele cele mai cunoscute sint Netscape Navigator, Internet Explorer, Arena, Mozaic.

server

O aplicatie care accepta conexiuni, raspunzind la anumite cereri transmise de clienti. Un program poate juca rol atit de server, cit 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 sint: Apache, Netscape Enterprise Server, Microsoft Internet Information Server (IIS), Sun Web Server, Stronghold, MacHTTP, WebSite.

proxy (intermediar)

Un program intermediar care ruleaza ca server, cit 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.

tunel

Un program intermediar functionind 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.

In figura urmatoare vom ilustra structura unui server Web sub Linux:


Structura platformei Web in Linux
4.3 Mesaje HTTP
Un mesaj HTTP este divizat intr-o parte de antet si o parte corp. Antetul cuprinde o serie de cimpuri (unele dintre ele obligatorii) oferind informatii despre versiunea de protocol folosit, codificarea datelor, tipul de medii, lungimea si tipul mesajului etc. Sintaxa unui antet de mesaj este:

message-header ::= field-name ":" a field-value i CRLF

Formatul unei cereri este urmatorul:

Request ::= Method Request-URI ProtocolVersion CRLF
a message-header i a CRLF data i
Method ::= string data ::= MIME-data

Raspunsul la o cerere are urmatoarea sintaxa:

status-line ::= HTTP-version status-code reason CRLF status-code ::= digit digit digit reason ::= string

Structura
Orice mesaj HTTP trebuie sa debuteze cu un cimp indicind versiunea protocolului in prima linie a mesajului:

HTTP-Version ::= "HTTP-Version" ":" "HTTP" "/" digit "." digit

In prezent este operational protocolul 1.1 deci toate mesajele de cerere si de raspuns vor incepe cu linia HTTP/1.1.

Mesajele pot fi codificate conform autoritatii IANA (Internet Assigned Numbers Authority) fiind permise codificarile:

gzip (GNU zip) este un cod Lempel-Ziv (LZ77) cu suma de control pe 32 de biti

compress este un cod produs de programul compress din toate mediile UNIX, dupa codificarea Lempel-Ziv-Welch (LZW)

Aceste codificari sint specificate de cimpul Content-Transfer-Encoding.

Pentru MIME, se specifica tipul si subtipul mediului de informatii (de exemplu: text/html, text/plain, image/jpeg, video/mpeg etc.) in cimpul Content-Type. Un mesaj poate fi tranmis in format multipart, constind din mai multe entitati, toate avind o sintaxa comuna. Daca o aplicatie receptioneaza un subtip nerecunoscut, in mod automat il va trata ca multipart/mixed.

Cimpul Accept dintr-un mesaj de cerere poate specifica multimea de tipuri de date returnata de server ca raspuns:

Accept ::= "Accept" ":" (media-range a accept-params i)+ media-range ::= ("*/*" | type "/*" | type "/" subtype)* accept-params ::= ";" "q=" qvalue accept-extension* accept-extension ::= ";" token a "=" (token|string) i type ::= string subtype ::= string qvalue ::= digit "." digit

Simbolul "*" specifica toate tipurile/subtipurile de medii dintr-o anumita categorie. De exemplu, pentru a accepta doar imagini, indiferent de format, se va transmite Accept: image/*.

Pot fi specificati unul sau mai multi factori de calitate relativa. De pilda, cererea Accept: audio/*; q=0.2, audio/basic este interpretata astfel: "se prefera tipul audio/basic dar serverul va trebui sa trimita toate tipurile audio avind calitatea de cel putin 80%".

Locatia unei resurse HTTP va fi data de cimpul Content-Location in formatul URI, conform schemei https:

Content-Location ::= "Content-Location" ":" http-URL http-URL ::= "https://" host a ":" port i a abs_path i

De exemplu: https://www.infoiasi.ro/Ibusaco/egon/http.html

Daca portul nu apare, se ia prin definitie portul 80, rezervat protocolului HTTP. Adresele host vor fi tratate indiferent de scrierea cu caractere majuscule sau nu (case-insensitive), dar calea de directoare abs_path este tratata case-sensitive. Daca abs_path nu apare, se va considera "/", iar caracterele rezervate vor fi echivalente cu codul lor in hexa, precedat de "%" (in forma "% hex hex").

De exemplu, aceste trei URI sin echivalente:

https://www.infoiasi.ro:80/Ibusaco/poems.html https://www.infoiasi.ro/%7Ebusaco/poems.html https://WWW.InfoIasi.Ro/%7ebusaco/poems.html

Corpul mesajului va contine informatiile propriu-zise ale unei cereri sau raspuns, specificate de o entitate. O entitate-corp difera de corpul mesajului numai daca sint aplicate codificari.

4.4 Formatul mesajelor de cerere
Linia de cerere a unui mesaj HTTP este definita astfel:

Request-Line ::= Method Separator Request-URI Separator HTTP-Version CRLF
Method ::= "OPTIONS" | "GET" | "HEAD" | "POST" | "PUT" | "DELETE" | "TRAC


Colt dreapta
Creeaza cont
Comentarii:

Nu ai gasit ce cautai? Crezi ca ceva ne lipseste? Lasa-ti comentariul si incercam sa te ajutam.
Esti satisfacut de calitarea acestui referat, eseu, cometariu? Apreciem aprecierile voastre.

Nume (obligatoriu):

Email (obligatoriu, nu va fi publicat):

Site URL (optional):


Comentariile tale: (NO HTML)


Noteaza referatul:
In prezent referatul este notat cu: ? (media unui numar de ? de note primite).

2345678910

 
Copyright© 2005 - 2024 | Trimite referat | Harta site | Adauga in favorite
Colt dreapta