Scrigroup - Documente si articole

     

HomeDocumenteUploadResurseAlte limbi doc
AccessAdobe photoshopAlgoritmiAutocadBaze de dateCC sharp
CalculatoareCorel drawDot netExcelFox proFrontpageHardware
HtmlInternetJavaLinuxMatlabMs dosPascal
PhpPower pointRetele calculatoareSqlTutorialsWebdesignWindows
WordXml


Adrese URL absolute si adrese URL relative

html



+ Font mai mare | - Font mai mic



Adrese URL absolute si adrese URL relative

Daca ai parcurs pas cu pas acest tutorial, termeni precum adresa URL absoluta sau adresa URL relativa iti suna familiar. Chiar daca este asa, nu pot incheia lectia dedicata adreselor URL fara sa ma aplec asupra acestor notiuni elementare ale limbajului HTML. Chiar daca ai priceput notiunile de adresa URL absoluta si relativa, o recapitulare a acestora nu-ti poate dauna. In schimb, daca ai ajuns la aceasta pagina prin intermediul unei legaturi, este foarte probabil ca ordinea de prezentare a subiectelor tratate sa ti se para putin ilogica. In mod normal notiunile de adresa URL relativa (absoluta) ar fi trebuit prezentate imediat dupa descrierea unei adrese URL. Nu stiu ce sa zic. Sper sa fie bine cum am procedat.
 
Adresele URL absolute cuprind adresa completa catre o anumita resursa aflata pe internet.
Mai jos se afla un exemplu de adresa absoluta:



https://www.lumea3w.20m.com/thtml/intro.html

O adresa absoluta va cuprinde in mod obligatoriu protocolul folosit (http), numele domeniului (DNS-ul sau IP-ul), calea ce trebuie urmata si numele fisierului la care se face referire (in exemplul dat este vorba de fisierul intro.html aflat in directorul thtml). In cazul in care se apeleaza pagina de start a unui site (adica o adresa de forma www.numesite.com) se poate omite numele paginii de start dar numai dupa ce ai verificat daca serverul este setat sa incarce automat aceasta pagina.
 
Adresele absolute sunt utilizate in special in cazul in care se face referire la resurse ce nu sunt localizate pe acelasi site cu documentul in care este plasata o astfel de legatura. Asta nu inseamna ca folosirea lor este interzisa in alte cazuri.
 
O adresa URL (fie absoluta fie relativa) nu trebuie sa cuprinda nici un spatiu gol si nici semne precum diez (#) sau alte semne ce au o functie rezervata intr-o adresa URL. Redarea unor astfel de caractere se face utilizand
codurile escape.
 
Pentru a nu avea neplaceri este bine ca atat numele fisierelor salvate cat si scrierea adreselor URL sa se faca cu litere mici.

Adresele URL relative pot fi utilizate numai in cazul in care fisierele ce sunt apelate se gasesc la aceeasi locatie cu fisierele din care se face apelarea. Mai clar spus, ele trebuie sa se regaseasca pe acelasi site adica adresa URL de baza este aceeasi (prin adresa URL de baza intelegand expresia www.numesite.com). Adresele URL relative sunt scrise in raport cu pozitia in care se afla documentul din care se face apelarea (care contine legatura). Acesta este luat drept punct de referinta atunci cand scriem o adresa relativa. Modalitatea de apelare a fisierelor este similara cu cea utilizata in sistemul de operare MS-DOS. Pentru a vedea cum se lucreaza in MS-DOS am sa dau un exemplu concret.
 
Sa luam cazul fisierului mscdex.exe aflat in subdirectorul COMMAND din directorul WINDOWS. Daca trecem in modul MS-DOS Prompt, la prompter va trebui sa scriem urmatoarea expresie pentru a putea apela fisierul mscdex.exe

Observatie: eu am presupus ca te afli in directorul radacina C:. In realitate te afli in directorul WINDOWS. Pentru a putea ajunge in directorul radacina va trebui sa tastezi la prompter comanda cd... Incepand din acest punct poti rula exemplul dat mai jos.

C:>CD WINDOWSCOMMANDmscdex.exe

rezultatul va consta in executarea programului mscdex.exe iar apoi promptul ca arata ca mai jos:

C:WINDOWSCOMMAND>

Acum, daca dorim sa apelam fisierul autoexec.bat care se afla in directorul radacina (implicit acesta este si director tata pentru fisierul autoexec.bat) va trebui sa scriem la promptul DOS o expresie de forma:

C:WINDOWSCOMMAND>CD.autoexec.bat

Daca fisierul autoexec.bat s-ar fi aflat intr-un alt director (de ex. probe) ar fi trebuit sa scriem:

C:WINDOWSCOMMAND>CD.probeautoexec.bat

Dupa cum se vede, expresia este scrisa pentru a face un salt inapoi in ierarhia directoarelor. Intrucat suntem cu doua directoare mai jos fata de directorul radacina vom folosi de doua ori expresia pentru a ajunge in directorul radacina. Apoi vom scrie probeautoexec.bat care, o data ajunsi in directorul radacina, este calea normala catre fisierul autoexec.bat.
 
In mod similar se procedeaza si in HTML cu exceptia faptului ca in loc de backslash () pentru separarea directoarelor se foloseste semnul slash (/). Pentru deplasarea in sus catre un director tata se utilizeaza doua puncte ( ).

Observatie: Daca vrei sa faci un site mai intai il vei face pe hard-ul calculatorului tau. Pentru aceasta vei realiza un director in care vei pune toate fisierele. De regula aceste fisiere vor fi plasate in mai multe directoare (unul pentru fisiere html, unul pentru imagini, etc). In momentul in care vei transfera continutul intregului director pe serverul de web, acesta se va comporta exact ca un HDD.

Mai jos am prezentat cateva exemple ilustrate in care am realizat diverse adrese relative. Cred ca este suficient pentru a te face sa intelegi cum lucreaza adresele relative. Documentele scrise cu albastru sunt documentele din care se face referirea (in aceste documente este plasata legatura)

SRC='document.html' documentul se afla in acelasi director cu documentul HTML referit

HREF='tutorial/document.html' documentul la care se face referire se afla in subdirectorul tutorial (la un nivel imediat inferior) in timp ce fisierul exemplu.html se afla in directorul probe

HREF='../document.html' documentul la care se face legatura se afla in directorul imediat superior (pentru a face acesta referire in sens superior am folosit '../'

HREF='../../document.html' documentul la care se face referire se afla la doua nivele superioare fata de fisierul exemplu.html

HREF='../tutorial/document.html' calea ce trebuie parcursa este un director in sus (pentru a ajunge in directorul probe) si un director in jos pentru a ajunge in directorul tutorial

HREF='../../../audio/tutorial
/document.html' Este vorba de 3 nivele in sus (sunt numerotate) pentru a ajunge in directorul principal si de 2 nivele in jos pentru a ajunge in subdirectorul tutorial. In practica ar trebui evitate asemenea structuri alambicate.

Nu este obligatoriu sa se utilizeze adrese relative insa, de cele mai multe ori, se prefera acest lucru intucat exista o serie de avantaje incontestabile. Pe langa faptul ca nu mai suntem nevoiti sa scriem intreaga adresa URL, utilizarea adreselor relative confera portabilitate site-ului. Cu alte cuvinte, daca un vizitator salveaza mai multe pagini el va putea accesa acele pagini prin intermediul legaturilor. In plus se poate oferi si o varianta 'offline' a site-ului si in acest caz utilizarea adreselor relative este obligatorie. De asemenea, utilizand adrese relative putem evita un volum de munca suplimentar in cazul in care dorim sa mutam site-ul la alta adresa.

Utilizarea adreselor absolute chiar si in cazul in care s-ar fi putut folosi adrese relative, poate spune multe despre credibilitatea unui site. Acest lucru este valabil in special in cazul 'firmelor'. De exemplu, o firma care promite diverse minuni contra unei sume de bani dar care are un site ce contine adrese relative, poate ridica multe semne de intrebare. Utilizarea adreselor relative poate ascunde in asemenea cazuri ceea ce noi romanii numim 'teapa'. In asemenea cazuri credibilitatea unei firme ar trebui sa fie sugerata prin toate mijloacele. Utilizarea unor adrese relative poate indica realizarea in graba a unui site sau intentia de 'a spala putina' dupa ce s-a dat lovitura. In tot cazul, aceste idei le-am regasit tot pe internet dar nu inseamna ca sunt de aceeasi parere. Nu de alta dar si 'tepele' au inceput sa se dea profesional.

Precizarea adresei URL de baza - elementul BASE

Elementul BASE stabileste adresa URL de baza fata de care se calculeaza adresele URL relative. Elementul BASE trebuie declarat la inceputul documnetului HTML, intre tag-urile <HEAD> si </HEAD> si are doua atribute: HREF si TARGET. Ele sunt similare cu cele utilizate in cazul unei ancore. Singura deosebire este la atributul HREF in sensul ca acesta nu poate avea drept valoare decat adresa URL absoluta pentru documentul in cauza (sau a altui document). Elementul BASE nu are tag de sfarsit.
 
Elementul BASE se foloseste numai pentru adresele relative. Daca o pagina contine si adrese relative si adrese absolute, elementul BASE va influenta numai adresele relative.
 
In afara de cazul in care un site s-ar baza pe cadre (termenul este nou asa ca nu te chinui sa-l intelegi), nu exista prea multe motive pentru a utiliza elementul BASE. De regula se utilizeaza cand un document care contine adrese relative este publicat pe un alt site (ca si cum cineva ar dori sa preia un document din acest site si sa-l publice pe site-ul sau) sau in cazul in care am trimite prin e-mail un document html care contine adrese relative. Mai jos este dat un model de utilizare a tag-ului BASE.

<HTML>
<HEAD>
<TITLE>Elementul BASE</TITLE>
<BASE HREF='https://lumea3w.20m.com/thtml/intro.html' TARGET='_blank'>
</HEAD>
<BODY>

<A HREF='../index.html'>HOME</A>
</BODY>
</HTML>

In exemplul dat toate adresele relative vor fi afisate intr-o noua fereastra. De notat ca fiecare document are propriul element BASE (in exemplul dat este vorba de documentul intro.html aflat in directorul thtml). Cind va fi actionata legatura existenta in acel document, browser-ul va taia expresia thtml/intro.html din adresa URL de baza si va adauga index.html la aceasta. In final adresa relativa la care va puncta legatura va fi de forma HREF='https://lumea3w.20m.com/index.html. In cazul in care adresa relativa ar fi fost de forma probe/index.html atunci, in urma prelucrarii de catre browser, adresa relativa ar fi devenit HREF='https://lumea3w.20m.com/thtml/probe/index.html'.
 
Am spus mai devreme ca valoarea atributului HREF trebuie sa fie adresa URL a documentului in cauza.
Acest lucru este partial adevarat si trebuie tratat cu mare atentie. Nu de alta dar pot exista situatii in care un element BASE incorect precizat nu va putea 'rezolva' corect adresele relative. Pentru a fi mai explicit am sa dau exemplul site-ului meu. Asa cum ai observat fiecare lectie are si o varianta pentru tiparire. Acest lucru nu insemna ca am scris de doua ori acelasi lucru. Pur si simplu am copiat textul de baza dintr-un document in altul. Ceea ce s-a modificat a fost doar macheta (sablonul) paginii.
 
Problema care se iveste intr-o astfel de situatie este ca legaturile relative nu mai sunt rezolvate corect deoarece variantele pentru tiparire le-am plasat intr-un alt director intitulat tipar. In aceasta situatie nu-mi ramine decat sa modific manual legaturile relative sau sa precizez un element BASE pentru documentul nou creat. In cazul in care folosesc elementul BASE va trebui sa specific drept valoare a atributului HREF adresa URL de unde am preluat documentul, si nu adresa URL actuala. Pentru a intelege mai bine am sa dau exemplul acestei pagini (url.html). Initial continutul acestei pagini este plasat la adresa:

https://www.lumea3w.20m.com/thtml/url.html

O legatura relativa de forma ../index.html va puncta fisierul index.html aflat in directorul radacina. Daca continutul acestei pagini este copiat si plasat la o adresa URL de forma:

https://www.lumea3w.20m.com/thtml/tipar/lectia11.html

atunci o legatura relativa de forma ../index.html nu va mai face referire la fisierul index.html aflat in directorul radacina, ci va puncta catre acelasi fisier dar aflat in directorul thtml. Problema este ca in acest director nu exista fisierul specificat. In concluzie, adresa URL care va fi specificata in tag-ul BASE va fi identica cu adresa URL a paginii de unde am luat textul sursa si va fi de forma:

https://www.lumea3w.20m.com/thtml/url.html

De remarcat ca nu am schimbat numel fisierului. Am facut asa pentru ca o eventuala legatura interna sa duca la documentul original si nu la varianta de tiparire.
 
Utilizarea tag-ului <BASE> impiedica functionarea adreselor relative atunci cand se doreste o citire offline. In aceasta situatie adresa URL de baza specificata in BASE va fi adaugata la toate adresele relative. De exemplu, o adresa relativa de forma probe/tutorial.html va fi interpretata de browser ca fiind https://www.numesite.com/probe/tutorial.html.

Observatie: Am citit pe un site (nu mai stiu exact unde dar, daca-mi aduc bine aminte, cred ca era vorba de www.eboz.com) un sfat care spunea ca utilizarea elementului BASE ar duce la o accesare mai rapia a paginii. In sprijinul acestei afirmatii era dat exemplul portalului YAHOO. Eu unul nu prea sunt de acord cu asemenea povesti. In primul rand viteza acestui site se datoreaza unei combinatii foarte fericite de echipament foarte performant dar si un cod HTML foarte robust si lipsit de elemente inutile. Cei de la YAHOO nu folosesc nici macar ghilimelele pentru a delimita diferite valori in codul HTML. Ei stiu foarte bine ca orice caracter in plus inseamna si o dimensiune mai mare a fisierului HTML. Cred ca acesta este si motivul pentru care au preferat sa utilizeze o singura data elementul BASE in loc sa precizeze fiecare legatura cu o adresa URL absoluta (si sunt destule legaturi). Si, ca sa fiu sincer, m-am documentat si am constatat ca utilizarea elementului BASE nu se face pentru toate documentele de pe site. In general parerea unanima este ca prezenta elementului BASE nu se justifica decat in situatiile de care am amintit ceva mai devreme in aceasta lectie.



Politica de confidentialitate | Termeni si conditii de utilizare



DISTRIBUIE DOCUMENTUL

Comentarii


Vizualizari: 2451
Importanta: rank

Comenteaza documentul:

Te rugam sa te autentifici sau sa iti faci cont pentru a putea comenta

Creaza cont nou

Termeni si conditii de utilizare | Contact
© SCRIGROUP 2024 . All rights reserved