CATEGORII DOCUMENTE |
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:
|
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.
|
rezultatul va consta in executarea programului mscdex.exe iar apoi promptul ca arata ca mai jos:
|
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:
|
Daca fisierul autoexec.bat s-ar fi aflat intr-un alt director (de ex. probe) ar fi trebuit sa scriem:
|
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 |
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.
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.
|
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:
|
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:
|
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:
|
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 |
Vizualizari: 2451
Importanta:
Termeni si conditii de utilizare | Contact
© SCRIGROUP 2024 . All rights reserved