Home - Rasfoiesc.com
Educatie Sanatate Inginerie Business Familie Hobby Legal
Doar rabdarea si perseverenta in invatare aduce rezultate bune.stiinta, numere naturale, teoreme, multimi, calcule, ecuatii, sisteme




Biologie Chimie Didactica Fizica Geografie Informatica
Istorie Literatura Matematica Psihologie

Internet


Index » educatie » » informatica » Internet
» Servere web - Ce este un server web?


Servere web - Ce este un server web?


Servere web

1. Ce este un server web?

In general toate calculatoarele care se conecteaza la internet se pot imparti in doua categorii: servere si clienti. Acele calculatoare care ofera servicii cum ar fi http sau ftp se numesc servere, iar restul care benficiaza de aceste servicii se numesc clienti. Spre exemplu cand accesam pagina https://www.yahoo.com pentru a citi o pagina, Yahoo! ne ofera un calculator (probabil un cluster cu foarte multe calculatoare) care se ocupa de acea cerere.

Este posibil ca un calculator sa indeplineasca si rolul de server si rolul de client in acelasi timp, dar daca vorbim despre internet in general, majoritatea se incadreaza in una dintre cele doua categorii.



Este posibil deasemenea ca un calculator sa aiba simultan instalate si functionabile mai multe servere. Spre exemplu putem crea un calculator, cu o sngura adresa IP care sa fuctioneaza ca server http, ftp si de mail in acelasi timp.

Diferentierea serviciilor care sunt oferite unui client sa face prin tipul de cerere pe care serverul o primeste de la acel client. Astfel cerereile se fac comform unui anume protocol cum ar fi http sau ftp. Raspunsul va fi de acelasi tip ca si cererea iar conexiunea dintre client si servere se va initializa pe un port specific fiecarui protocol in parte daca nu este specificat altfel in cererea clientului.

Exista o multitudine de servicii care sunt oferite de catre servere prin internet sau alte retele, unele mai cunoscute si mai folosite, altele mai putin folosite si destinate unui numar mai restrans de utilizatori.

Iata o lista cu cateva dintre cele mai cunoscute servicii oferite de catre servere:

Servere DNS - fac conversia intre nume de domenii si IP-uri

Servere HTTP - ofera paginile web asa cum le cunoastem noi

Servere FTP - permit incarcarea sau descarcarea de fisiere printr-un protocol specializat

Servere mail - ofera posibilitarea de a citi sau trimite mesaje de tip email

Servere SQL - ofera posibilitatea de a opera asupra bazelor de date gazduite pe aceste servere

In aceasta lucrare voi vorbi despre mai multe servere web folosite in mod constant de catre orice utilizator care foloseste o conexiune la internet. Fie ca doar cautam niste informatii pe un motor de cautare, ca ne citim email-urile sau ca descarcam ceva de pe o pagina de internet, folosim in mod curent mai mult de jumatate din serverele despre care vom vorbi fara macar sa ne dam seama de acest lucru.

Iata serverele pe care le vom prezenta:

  • Servere DNS
  • Servere HTTP
  • Servere FTP
  • Servere SQL

2. Serverul DNS

Am inceput cu acest server deoarece el este primul server pe care il folosim atunci cand introducem in bara de adrese a unu browser numele site-ului pe care dorim sa il accesam.

DNS (domain name server) functioneaza invizibil pentru utilizator, cu toate acestea este incredibil de important pentru internet-ul pe care il cunoastem la ora actuala. Reteua DNS existenta formeaza poate cea mai mare baza de date de pe planeta la ora actuala.

Ce face un server DNS?

Serverul DNS actioneaza ca un imens dictionar. Atunci cand dorim sa accesam pagina de internet www.google.ro este necesar ca numele acestei pagini sa fie translatate intr-o adresa IP cum ar fi 193.230.161.3 Acest lucru este necesar deoarece toate computerele si serverele care au acces la internet detin o astfel de adresa. Imaginati-va cum ar fi daca pentru fiecare pagina pe care dorim sa o accesam ar trebui sa tinem minte patru grupuri de cate trei cifre. Probabil ca am ajunge sa le trecem intr-un carnetel. Dar de ce sa facem asta cand putem avea o baza de date imensa care sa ne traduca numele fiecarui site intr-o adresa IP. Cu asta se ocupa un server DNS.

Iata o diagrama care reprezinta acest proces:

Ca sa intelegem magnitudinea acestui sistem ar trebui sa ne gandim doar ca exista in acest moment milioane de adrese IP folosite si majoritatea au un nume corespondent, trebuie sa mai luom in calcul ca o singura persoana poate fece cu usrinta o suta de cereri DNS intr-o singura zi si exista zilnic sute de mii de persoane care utilizeaza internet-ul.

Sistemul DNS este o baza de date, si nici o alta baza de date de pe paneta primeste atatea cereri sau sufera atat de multe schimbari in fiecare zi. Asta e ceea ce face sistemul DNS unic.

Ce este o adresa IP?

Pentru a pastra o ordine pe internet, fiecare computer care acceseaza aceasta retea primeste un numar numit o adresa IP. IP este prescurtarea cuvintelor Internet Protocol. O adresa IP este defapt un numar exprimat pe 32 de biti separate in 4 octeti(grupari de cate 8 biti) si despartiti prin punct. Un octet are valori intre 0 si 256 (2 la puterea 8).

Un server are o adresa IP care se schimba foarte rar pe cand un utilizator obisnuit are o adresa IP care se poate schimba odata cu fiecare conectare la internet sau poate ramane stabile acest lucru depinzand de provider-ul de internet.

O adresa IP este tot ceea ce este necesar pentru ca doua calculatoare conectate la internet sa comunice intre ele.

Ce sunt domeniile?

Domeniile sunt numele associate unei adrese IP, care la randul ei probabil este asociata unui server.

Sa vedem cateva exemple de domenii:

www.google.ro

www.yahoo.com

www.mit.edu

www.slackware.org

Terminatiile .RO .COM .EDU si .ORG se numesc top level domains (in traducere libera domenii de cel mai inalt nivel). Exista cateva sute de astfel de domenii printre care COM, EDU, GOV, MIL, NET, ORG si INT. Deasemenea mai exista si combinatii de cate doua litere pentru fiecare tara in parte cum ar fi: .RO .US .UK .DE.

In fiecare astfel de domenii exista cateva milioane de subdomenii, spre exemplu domeniul .RO are ca subdomenii google, bcr, pub plus multe altele. Fiecare din aceste subdomenii trebuie sa fie unice. Dupa cum probabil v-ati gandit deja fiecare subdomeniu are la randul sau mai multe subdomenii proprii (ex: encarta.msn.com).

Diagrama urmatoare reprezinta foarte bine aceasta ierarhie:

Astfel in interogarea unui server DNS cu privire la un anume domeniu, acesta va cauta IP-ul asociat printr-o parcurgere arborescenta incepand de la coada domeniului cautat (de la domeniul de cel mai inalt nivel, care ii va oferi date despre subdomeniul cautat care la randul sau va face acelasi lucru pana cand se va ajunge la inceput-ul domeniului cautat)

Deoarece nu pot exista subdomenii cu acelasi nume, exista anumite reguli dupa care se inregistreaza aceste subdomenii. In functie de fiecare domeniu de cel mai inalt nivel in care se doreste inregistrarea subdomeniului pot exista alte reguli. Spre exemplu inregistrare unui subdomeniu cu .RO se face pe viata si costa putin mai mult decat un domeniu .COM pentru care se plateste o taxa in fiecare an.

Fiecare domeniu are undeva un DNS care se ocupa de cererile pentru el. Spre exemplu daca dorim accesarea adresei encarta.msn.com, serverul DNS care se ocupa de cererile computerului meu ar trebui sa stie IP-ul serverului DNS care se ocupa de domeniul .COM si il intreaba pe acesta IP-ul subdomeniului MSN. Acest subdomeniu are probabil la randul lui un DNS care ii spune DNS-ului meu IP-ul asociat subdomeniului encarta si asa eu pot accesa computerul asociat domeniului cautat fara ca eu sa tin minte 3 adrese IP.

3. Serverul HTTP

Serverul Apache este un server de tip http. Acest server trimite continutul paginilor web pe care le vizualizam atunci cand introducem in browser o adresa cum ar fi www.pub.ro .

Sa presupunem ca primesc un telefon si cineva imi spune sa citesc un articol foarte bun care se afla la pagina https://www.pub.ro/articol.html . Deschid un browser, introduc adresa indicata si pe ecran imi este afisata aceeasi informatie oriunde as fi in lume, indifferent de browser, de calculatorul pe care il folosesc sau de sistemul de operare.

Acest lucru este posibil multumita serverului http care serveste aceasta pagina browser-ului care imi afiseaza pagina.

La nivel foarte vag, diagrama de mai jos explica ce se intampla atunci cand accesam o pagina web.

Vom explica in continuare mai in detaliu cum acest lucru a fost posibil. Iata ce s-a intamaplat in spatele acestui proces care la prima vedere pare destul de simplu:

Browser-ul a impartit adresa pe care dorim sa o vizitam in 3 parti:

o           Protocolul ("http")

o           Numele serverului ("www.pub.ro")

o           Numele fisierului ("articol.html")

Computer-ul nostru a facut o cerere catre un server DNS pentru a afla IP-ul asociat domeniului www.pub.ro (am vorbit despre acest lucru mai devreme)

Dupa ce a afla acest IP, browser-ul a facut o conexiune cu server-ul web care se conecteaza la internet de la adresa IP respectiva pe portul 80 (portul pe pe care functioneaza implicit un server http)

Urmand protocolul http, browser-ul face o cerere de tip GET catre serverul web la care este conectat, pentru pagina: https://www.pub.ro/articol.html

Serverul trimite informatia dorita in format html catre browser

Browser-ul citeste tag-urile html si afiseaza pagina in concordanta cu acestea.

Serverele HTTP nu ofera doar pagini in format html, ci pot oferi si obiecte legate de acestea prin link-uri, cum af fi poze sau fisiere de diferita natura. Se intelege de la sine ca protocolul HTTP poate fi folosit si pentru transferal de fisiere. Cu toate acestea exista un protocol specilizat pentru a face acest lucru, despre care vom vorbi mai tarziu, el se numeste FTP si e prescurtarea pentru File Transef Protocol (adica protocol pentru transfer de fisiere).

Iata o lista cu alte servicii de baza care sunt oferite de catre un server de acest tip:

HTTP - serverul accepta la cereri de tip HTTP si ofera un raspuns la aceste. In general raspunsul este constituit din o pagina html dar poate contine si imagini, video, sunet, etc. Dupa o analiza a cererii, daca se ajunge la concluzia ca aceasta nu este buna, i se da clientului un raport al posibilei probleme.

Logare - serverele au optiunea de a tine asanumite log-uri. Acestea sunt niste fisiere care contin detalii despre clientii care au facut cereri catre server si detalii despre ei. Administratorii serverelor au posibilitatea de a citi aceste fisiere si de a folosi diverse analizatoare de log-uri pentru a depista eventuale probleme sau pentru a imbunatati calitatea serviciilor oferite.

Iata si o lista cu majoritatea serviciilor suplimentare care functioneaza impreuna cu cele de baza (acestea sunt optionale si pot fi instalate daca administratorul servereului respectiv doreste acest lucru):

Configurabilitatea - configurarea sau schimbarea felului cum    se comporta serverul prin modificarea anumitor fisiere sau prin acccesarea unei interfete care permite acest lucru.

Autentificarea - serverul poate cere un username si o parola pentru accesarea unor anumite pagini sau resurse oferite de catre acesta

Oferirea de pagini nonstatice - serverul poate oferi pagini care sunt modificate in functie de tipul si de datele associate cererii care vine catre acesta. Prin instalarea de pachete suplimentare cum ar fi: SSI, CGI, PHP, ASP, ASP.NET si altele, este posibila trimiterea unor pagini personalizate in functie de cererea venita.

Suport pentru module - pentru a extinde capabilitatile serverului se poate adauga sau modifica module care sunt legate de catre serverul propriuzis, acest lucru da o mare flexibilitate in privinta lucrurilor pe care acesta le paote face.

HTTPS - permite accesarea criptata a datelor prin portul 443 in loc de traditionalul port 80

Arhivarea continutului - pentru a micsora banda folosita pentru comunicatii

Gazde virtuale - pentru a servi mai multe site-uri folosind aceeasi adresa IP

Suport pentru fisiere mari - pentru a servi fisiere mai mari de 2 G pentru sisteme pe 32b

Limitarea benzii - incetineste viteza raspunsurilor pentru a nu satura banda si pentru a putea servi mai multi clienti

Iata cateva soft-uri care indeplinesc functia de server:

Apache HTTP Server facut de Apache Software Foundation

Internet Information Services (IIS) facut de Microsoft

Sun Java System Web Server facut de Sun Microsystems

Zeus Web Server facut de Zeus Technology

Mai exista probabil inca cateva mii de tipuri de servere web dar fiecare este croit pentru o anume sarcina, cele precizate mai sus fiind cele mai folosite la momentul actual.

4. Serverul FTP

Protocolul FTP (file transfer protocol) este folosit pentru transferul de fisiere intre doua calculatoare cu o conexiune la internet sau care fac parte din aceeasi retea de calculatore. Protocolul presupune existenta a doua calculatoare, un server si un client. Clientul poate uploada sau downloada fisiere de pe server si poate rula comenzi pe acesta.

Serverele FTP ruleaza exclusiv prin TCP/IP. Serverul asteapta conexiuni implicit pe portul 21 dar pentru ca transferul efectiv a unui fisier sa se realizeze este nevoie de realizarea unei conexiuni pe alt port.

In functie de modul in care se face transferul, modalitatea prin care se realizeaza noua conexiune pentru transferarea fisierului este diferita:

In modul activ - clientul FTP deschide un port aleator mai mare de 1023, apoi trimite serverului numarul portului care a fost deschis pe care asculta conexiuni iar serverul se conecteaza la client pe acest port si trimite fisierul

In modul pasiv - serverul deschide un un port la intamplare mai mare de 1023 si ii trimite clientului numarul portului deschis apoi asteapta conexiunea pe acest port din partea clientului

In timp ce un fisier este trimis prin stream-ul de date, stream-ul de control trece in repaus. Acest lucru poate crea probleme deoarece unele firewall-uri opresc conexiunile dupa o anumita perioada de repaus, prin urmare este posibil ca stream-ul de control sa fie deconectat inainte ca transferul fisierului sa fie finalizat, cu toate acestea fisierul trimis prin stream-ul de date va fi transferat cu success.

Puncte slabe a serverelor FTP

Username-ul si parola sunt trimise ca text ceea ce predispune la atacuri cu software pentru monitorizarea traficului din retea

Este nevoie de mai multe conexiuni TCP pentru a transfera fisiere si pentru control, ceea ce poate crea probleme cu unele firewall-uri

Clientii din spatele unor firewall-uri pot avea probleme la deschiderea de porturi in modul active. Acest inconvenient se poate rezolva deoarece se poate folosi modul pasiv

FTP este un protocol cu latenta mare datorita numarului de comenzi necesare pentru a transfera un fisier

Nu exista o modalitate de a verifica integritatea fisierelor primite

Nu exista detectie de erori

Nu exista o modalitate de a modifica data ultimei modificari a fisierelor sau data crearii lor

FTP anonim

Multe site-uri ruleaza cate un server FTP anonim. Acestea pot fi accesate folosind user-ul "anonymous" sau "ftp" si permit transmiterea de fisiere de catre oricine. O alternativa pentru FTP anonim este Interneg Gopher si Trivial File Transfer Protocol.

Formaturi de date

Cand se transfera fisiere intr-o retea se pot folosi formaturile de date:

ASCII

Binar

In modul ASCII fiecare caracter este trimis individual prin codul sau ASCII. Avantajul acestei modalitati este ca daca serverul este spre exemplu UNIX si clientul este un MAC, serverul va citi caracterele din fisierul de tip text in format propriu iar clientul scrie fiecare caracter primit intr-un fisier text de format propriu.

In mod binar fisierele sunt trimise bit cu bit. Orice fisier care nu este de tip text si este trimis in formatul ASCII va fi corupt.

5. Serverul SQL

SQL (Structured Query Language) este cel mai popular limbaj pentru manipulare, modificare citire si scriere a datelor din baze de date.

Exista mai multe variante de servere SQL, cele mai cunoscute fiind: MySQL, PostgreSQL si Microsoft SQL Server.

Cele mai cunoscute operatii sunt cautarea in baza de date dupa anumite criterii, adaugarea de informatii, stergerea de informatii, si modificarea lor.

Cum se leaga toate acestea intre ele?

Toate serverele prezentate lucreaza in general impreuna pentru a oferi clietilor pagini web dinamice.

Astfel, cand accesam o pagina web se intampla urmatoarele lucruri:

introducem in browser un domeniu cum ar fi https://www.ipb.ro/document.php

acest domeniu este transformat intr-o adresa IP de catre serverul DNS

browser-ul face o cerere de tip HTTP catre serverul web corespondent acelui IP.

serverul web cauta documentul document.php iar daca in acesta exista cereri pentru date dintr-un server SQL se intampla urmatoarele:

o             serverul web face o cautare intr-un server SQL care este descris prin domeniul serversql.ro

o             serverul DNS returneaza serverului web IP-ul serveruluiSQL

o             serverul web face o cautare pentru datele dorite la adresa IP indicata de serverul DNS

o             Serverul SQL trimite rezultatele cautarii serverului web

o             Serverul web integreaza datele intr-o pagina in format html (de obicei) si o trimite browser-ului

Browser-ul interpreteaza datele primite si le afiseaza

Aceasta este modalitatea prin care obtinem majoritatea paginilor web generate dinamic.





Politica de confidentialitate





Copyright © 2024 - Toate drepturile rezervate