130260998-visual-basic

262
http://www.east.utcluj.ro/mb/mep/antal Universitatea Tehnica din Cluj-Napoca Catedra Mecanica si Programare Conf. Dr. Ing. ANTAL Tiberiu Alexandru Prefa- ta 7 Cartea îs - i propune sa 7 -i ini- tieze pe cei care doresc sa 7 cunoasca 7 realizarea paginilor Web dinamice folosind tehnologia Microsoft. Se prezinta 7 elementele de baza 7 pentru realizarea paginilor statice cu HTML. Urmeaza 7 limbajul Visual Basic Script, apoi, în final, tehnologia ASP s - i obiectele ei. Deoarece ASP poate interac- tiona cu bazele de date rela- tionale, cartea prezinta 7 conceptele specifice bazelor de date rela- tionale, într-o forma 7 simplificata 7 , împreuna 7 cu modalitatea de manipulare a datelor unei baze de date Microsoft Access prin ADO. Aduc mul- tumiri artistului plastic clujean Marin Leschian pentru lucra 7 rile "Vacan- ta 7 eterna 7 " (coperta 7 fa- ta 7 ) s - i "Armata lui Don Quijote" (coperta spate) pe care le-am folosit pentru a îmbra 7 ca aceasta 7 carte. Multe mul- tumiri Ramonei pentru lectura s - i corectura manuscrisului. Aceasta 7 edi- tie mai con- tine, fa- ta 7 de prima, o introducere în re- tele de calculatoare, explicarea conceptului de foaie de stil, o mai clara 7 descriere a conceptelor legate de bazele de date rela- tionale s - i mai multe exemple.

description

visual basic

Transcript of 130260998-visual-basic

  • http://www.east.utcluj.ro/mb/mep/antal

    Universitatea Tehnica din Cluj-NapocaCatedra Mecanica si Programare

    Conf. Dr. Ing. ANTAL Tiberiu Alexandru

    Prefa-ta7Cartea s-i propune sa7-i ini-tieze pe cei care doresc sa7 cunoasca7 realizarea paginilor Webdinamice folosind tehnologia Microsoft. Se prezinta7 elementele de baza7 pentru realizareapaginilor statice cu HTML. Urmeaza7 limbajul Visual Basic Script, apoi, n final, tehnologia ASPs-i obiectele ei. Deoarece ASP poate interac-tiona cu bazele de date rela-tionale, cartea prezinta7conceptele specifice bazelor de date rela-tionale, ntr-o forma7 simplificata7 , mpreuna7 cumodalitatea de manipulare a datelor unei baze de date Microsoft Access prin ADO.

    Aduc mul-tumiri artistului plastic clujean Marin Leschian pentru lucra7rile "Vacan-ta7 eterna7"(coperta7 fa-ta7 ) s-i "Armata lui Don Quijote" (coperta spate) pe care le-am folosit pentru a mbra7caaceasta7 carte.

    Multe mul-tumiri Ramonei pentru lectura s-i corectura manuscrisului.

    Aceasta7 edi-tie mai con-tine, fa-ta7 de prima, o introducere n re-tele de calculatoare, explicareaconceptului de foaie de stil, o mai clara7 descriere a conceptelor legate de bazele de daterela-tionale s-i mai multe exemple.

  • http://www.east.utcluj.ro/mb/mep/antal

    Universitatea Tehnica din Cluj-NapocaCatedra Mecanica si Programare

    Conf. Dr. Ing. ANTAL Tiberiu Alexandru

    Celor care nc| mai cauta7 dei, deja, au cam obosit.

  • http://www.east.utcluj.ro/mb/mep/antal

    Universitatea Tehnica din Cluj-NapocaCatedra Mecanica si Programare

    Conf. Dr. Ing. ANTAL Tiberiu Alexandru

    CUPRINS - 5

    CUPRINSConcepte de reele de calculatoare i protocoale de reea. . . . . . . . . . . . . . . . . . . . 10

    Modalit|i de clasificare a reelelor. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11Reele LAN (Local Area Networks). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11Reele WAN (Wide Area Networks). . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11Reele MAN (Metropolitan Area Networks). . . . . . . . . . . . . . . . . . . . . . 11Reele VPN (Virtual Private Networks). . . . . . . . . . . . . . . . . . . . . . . . . . . 11

    Condiiile de conectare a unui calculator la o reea. . . . . . . . . . . . . . . . . . . . . 11Placa de reea.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12Topologii de reea.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

    Despre protocoale de reea. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13Introducere n TCP/IP.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

    Configurarea conexiuni TCP/IP n Windows XP i 2000. . . . . . . . . . . 14Protocolul HTTP. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

    Ce este ASP?.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20De la HTML la ASP. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20CGI. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20Avantaje ASP. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

    Independena de limbajul de programare. . . . . . . . . . . . . . . . . . . . . 21ASP este simplu de nv|at. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

    Alte metode pentru crearea de pagini Web dinamic. . . . . . . . . . . . . . . . . . . 22Programe CGI. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22Ce este ISAPI?. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

    Aplicaii ISAPI.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22Filtre ISAPI. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

    Cnd se folosesc ASP i HTML mpreun|?. . . . . . . . . . . . . . . . . . . . . . . . . . . . 23Comparaie ntre ASP i alte tehnologii de dezvoltare a aplicaiilor Web . . 23

    Etapele desf|ur|rii dialogului, ntre client i server, pe Web. . . . . . . . . . . . . . . . . . 25Modul n care clientul trimite cererea. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25Prelucrarea cererii de c|tre server. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25P|rile componente ale unui URL. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26Modul n care server-ul r|spunde la o cerere. . . . . . . . . . . . . . . . . . . . . . . . . 27Modul n care clientul prelucreaz| r|spunsul. . . . . . . . . . . . . . . . . . . . . . . . . 27Prelucrarea cererilor ASP. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28Ce este un Script?. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29Modul n care server-ul separ| script-ul de coninutul HTML.. . . . . . . . . . . . 30Modul n care server-ul prelucreaz| script-ul. . . . . . . . . . . . . . . . . . . . . . . . . 30Navigatorul i codul ASP. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30

    Introducere n HTML.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31Ce este HTML?. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31Sintaxa HTML - marcaje i atribute. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31Structura unui document HTML. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33

    Marcajul . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33Marcajul . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33Marcajul . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34Marcajul . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34

    Marcajul . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34

  • http://www.east.utcluj.ro/mb/mep/antal

    Universitatea Tehnica din Cluj-NapocaCatedra Mecanica si Programare

    Conf. Dr. Ing. ANTAL Tiberiu Alexandru

    6 - CUPRINS

    Formatarea textului. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35Stiluri de antete. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35Aliniere, tipuri de caractere. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36Containere de text. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36

    Paragraful. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37Text preformatat. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37

    Stiluri de liste. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38Lista neordonat|.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38Lista ordonat|. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38Definiii. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40

    Alte elemente. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41

    Includerea imaginilor n documentele HTML. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42Marcajul . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42Plasarea imaginilor n pagin|. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43Ocuparea cu text a spaiului din jurul imaginii. . . . . . . . . . . . . . . . . . . . . . . . 44Imagini de fond. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45

    Realizarea hiperleg|turilor. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47Marcajul de ancorare. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47Ancorarea la imagini. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50

    Tabele. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52Marcajele , i . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52Marcajele i .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58

    Cadre (FRAMEs). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61Avantajele cadrelor. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68Dezavantajele cadrelor.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68Modalit|i de evitare a cadrelor. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68

    Foi de stil (Style Sheets).. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69Stocarea regulilor de stil. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70

    Stocarea extern| a regulilor de stil. . . . . . . . . . . . . . . . . . . . . . . . . . . . 70Stocarea intern| a regulilor de stil. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71Exemplu: Meniuri i fonduri cu CSS.. . . . . . . . . . . . . . . . . . . . . . . . . . . . 71Exemplu: Tabele cu CSS. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74

    Formulare (Forms). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77Definirea unui formular.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77Elemente de intrare. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78

    Butonul Submit. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78Butonul Reset.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79Introducerea textelor n formulare. . . . . . . . . . . . . . . . . . . . . . . . . . . . 79Selectarea mai multor opiuni, dintre mai multe variante, prin butoane

    de validare. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82Selectarea unei singure opiuni, dintre mai multe variante, prin butoane

    de opiune . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83Selectarea din liste. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84Controale ascunse. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86

    Transmiterea datelor din formular prin e-mail.. . . . . . . . . . . . . . . . . . . . . . . . 86Limbajul de programare VBScript. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88

  • http://www.east.utcluj.ro/mb/mep/antal

    Universitatea Tehnica din Cluj-NapocaCatedra Mecanica si Programare

    Conf. Dr. Ing. ANTAL Tiberiu Alexandru

    CUPRINS - 7

    Cuvinte cheie. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88Variabile. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97Subrutine i funcii. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99Operatori VBScript. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101

    Operatori aritmetici. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101Operatori de comparaie. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102Operatori de concatenare. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102Operatori logici. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102

    Instruciuni de ramificare. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104If ... Then.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104Select ... Case. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104

    Instruciuni de ciclare. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105For ... Next. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105While ... Wend. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106Do ... While.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106

    Operaii cu iruri. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107Funcii pentru manipularea irurilor . . . . . . . . . . . . . . . . . . . . . . . . . 107

    Expresia de c|utare. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108Clase VBScript. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110

    Definirea membrilor dat|.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111Implementarea propriet|ilor clasei. . . . . . . . . . . . . . . . . . . . . . . . . . . 111

    Property Get. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111Property Let. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112Crearea metodelor clasei. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112

    Definirea evenimentelor clasei. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112Evenimentul Initialize. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112Evenimentul Terminate. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113

    Obiecte client. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116Inserarea script-ului n pagina Web. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116

    Ierarhia obiectelor de script. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116Obiectul Window. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117

    Propriet|ile obiectului Window.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117Metodele obiectului Window.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117Evenimentele obiectului Window. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119

    Obiectul Document. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119Propriet|ile obiectului Document. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119Coleciile obiectului Document. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120Metodele obiectului Document. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121

    Obiectul Navigator. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122Obiectul Form.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123

    Propriet|ile obiectului Form. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123Transferul (submit) formularelor. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124Manipularea controalelor unui formular. . . . . . . . . . . . . . . . . . . . . . 124Propriet|ile controalelor. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124Metodele controalelor. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125Evenimentele controalelor. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125

    Exemplu: Utilizarea evenimentelor asociate controalelor.. . . . . . . . . . . . . . 127Exemplu: Aplicaie pentru calculul dobnzii bancare. . . . . . . . . . . . . . . . . . 128Exemplu: Accesul la coninutul paginii de Web, din VBScript, folosind obiectul

    Document. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130

  • http://www.east.utcluj.ro/mb/mep/antal

    Universitatea Tehnica din Cluj-NapocaCatedra Mecanica si Programare

    Conf. Dr. Ing. ANTAL Tiberiu Alexandru

    8 - CUPRINS

    Marcajul .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133

    Obiecte server. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138Obiectul Response. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139

    Trimiterea unui r|spuns cu obiectul Respose. . . . . . . . . . . . . . . . . . 139Utilizarea variabilelor n r|spunsul dat de server. . . . . . . . . . . . . . . 140

    Colecia Response.Cookies. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140Metoda Response.AddHeader. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142Metoda Response.Redirect. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143

    Propriet|ile Response.Expires i Response.ExpiresAbsolute. . . . . . . . . . . 144Obiectul Request. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145

    Colecia Request.ClientCertificates. . . . . . . . . . . . . . . . . . . . . . . . . . . 145Colecia Request.Cookies.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146Colecia Request.Forms .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149Colecia Request.QueryString. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154Colecia Request.ServerVariables. . . . . . . . . . . . . . . . . . . . . . . . . . . . 157

    Obiectul Application. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160Variabile ale aplicaiei - Application. . . . . . . . . . . . . . . . . . . . . . . . . . . 161Metodele Application.Lock i Application.Unlock. . . . . . . . . . . . . . . 163

    Obiectul Session. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164Fazele unei sesiuni. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165

    nceputul sesiunii. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165Identificarea sesiunii. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165Terminarea sesiunii. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165

    Proprietatea Session.TimeOut. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166Metoda Session.Abandon. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166Fiierul global.asa.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166

    Obiectul Server.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169Proprietatea Server.ScriptTimeOut.. . . . . . . . . . . . . . . . . . . . . . . . . . . 169Metoda Server.HTMLEncode. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169Metoda Server.URLEncode.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170Metoda Server.CreateObject. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170Directiva include. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171Metoda Server.Execute.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173Metoda Server.Transfer. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173Metoda Server.MapPath. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175Metoda Server.GetLastError. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 176

    Obiectul Scripting Dictionary. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178Propriet|ile obiectului Dictionary. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178Metodele obiectului Dictionary.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178

    Obiectul FSO. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181Afiarea fiierelor dintr-un director. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182Verificarea existenei unui fiier. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185Deschiderea unui fiier. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 186Obiectul TextStream. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 187

    Scrierea ntr-un fiier.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 190Citirea dintr-un fiier. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 190tergerea unui fiier.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 190

    Realizarea unei aplicaii cu securitate la legare. . . . . . . . . . . . . . . . . . . . . . 190

  • http://www.east.utcluj.ro/mb/mep/antal

    Universitatea Tehnica din Cluj-NapocaCatedra Mecanica si Programare

    Conf. Dr. Ing. ANTAL Tiberiu Alexandru

    CUPRINS - 9

    Instruciuni pentru tratarea erorilor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 196Instruciunea On Error Resume Next. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 196Instruciunea On Error Goto 0.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 196Obiectul Err. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197Stocarea erorilor n fiiere.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 200

    E-mail. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 204Trimiterea unui e-mail cu obiectul NewMail.. . . . . . . . . . . . . . . . . . . . . . . . . 205Folosirea componentei w3 JMail pentru trimiterea unui e-mail . . . . . . . . . 206

    Accesul la baze de date relaionale. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 208Conceptul de dat|.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 209Modelul de date relaional.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 209Conceptul de redundan|. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 210Terminologii alternative ale modelului relaional.. . . . . . . . . . . . . . . . . . . . . 210Conceptul dependenei funcionale. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 211Tipuri de dependene funcionale. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 212Conceptul de normalizare. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 212Etapele procesului de normalizare. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 212

    Forma nenormal|.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 213Prima form| normal|. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 213Anomaliile relaiilor 1NF. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 214A dou| form| normal|. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 215A treia form| normal|. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 216

    Introducere n SQL. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 217Instruciunea SELECT. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 217

    SELECT cu un singur tabel. . . . . . . . . . . . . . . . . . . . . . . . . . . . 218SELECT cu mai multe tabele. . . . . . . . . . . . . . . . . . . . . . . . . . . 218

    Instruciunea INSERT. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 218Instruciunea UPDATE. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 219Instruciunea DELETE. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 219

    Introducere n ADO. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 219Set|ri specifice pentru deschiderea conexiunii. . . . . . . . . . . . . . . . . 220

    Alegerea valorii propriet|ii Mode. . . . . . . . . . . . . . . . . . . . . 221Setarea propriet|ii ConnectionString. . . . . . . . . . . . . . . . . . 222Alegerea propriet|ii CursorLocation. . . . . . . . . . . . . . . . . . . 223

    Deschiderea conexiunii. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223Gestiunea tranzaciilor cu obiectul Connection. . . . . . . . . . . . . . . . . 223Obiectul mulime de nregistr|ri (Recordset). . . . . . . . . . . . . . . . . . . 224

    Deschiderea unei mulimi de nregistr|ri.. . . . . . . . . . . . . . . 224Parcurgerea unei mulimi de nregistr|ri. . . . . . . . . . . . . . . . 225

    Metoda Connection.Execute. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 227Obiectul Command. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 229Metoda Command.Execute.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 231

    Crearea unei aplicaii ASP ce interacioneaz|, prin ADO, cu o baz| de dateMicrosoft Access. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 234Crearea bazei de date Microsoft Access. . . . . . . . . . . . . . . . . . . . . . 234Formularele HTML i ASP ale aplicaiei. . . . . . . . . . . . . . . . . . . . . . . 237

    INDEX. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 259

    BIBLIOGRAFIE.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 264

  • http://www.east.utcluj.ro/mb/mep/antal

    Universitatea Tehnica din Cluj-NapocaCatedra Mecanica si Programare

    Conf. Dr. Ing. ANTAL Tiberiu Alexandru

    10 - Concepte de ret-ele s-i protocoale de ret-ea

    Concepte de reele de calculatoare i protocoale de reean domeniul reelelor de calculatoare, termenul dispozitiv utilizator este folosit pentru a definiun echipament electric care este conectat la ret-ea (calculator, imprimanta, scanner etc.) n scopul schimbului de date cu un alt echipament al reelei. Denumirea e data din punctul de vedere alutilizatorului de ret-ea (de exemplu daca discut-ia nu ar fi la nivel de ret-ea ci de calculator,dispozitive ar putea fi: disc, placa video, modem etc.). Termenul dispozitiv de reea este folositpentru a descrie echipamentele electrice necesare pentru interconectarea dispozitivele utilizatorn vederea schimbului de date. Aceste dispozitive sunt conectate prin cabluri electrice (sau, direct,prin unde radio - wireless) s-i asigura transmisia, recept-ia, gestionarea datelor ce se doresc a fitransferate ntre dispozitivele utilizator. Cteva dintre numele de dispozitive vehiculate mai dessunt prezentate, pe scurt, n continuare:

    Repeater (repetor) - dispozitiv de ret-ea care se foloses-te pentru refacerea sau repetarea semnalelor(exista repetoare care pot face retransmisia datelor ntre doua ret-ele care folosesc protocoalediferite).

    Hub (concentrator) - punct de conectare comun la nivelul unei ret-ele, se folosesc pentruinterconectarea segmentelor (segmentul este o port-iune de ret-ea ntre doua bridge-uri, router-esau switch-uri) de LAN. Hub-ul are mai multe porturi (interfet-e de plci de reea). Atunci cndun pachet (mesajele de transmis sunt divizate n pachete, fiecare pachet se transmite individuals-i poate parcurge o ruta individuala catre destinat-ie) ajunge pe un anumit port se copiaza pe toatecelelte porturi pentru ca toate segmentele de LAN sa-l vada. Exista s-i hub-uri inteligente carecitesc adresa destinat-ie a pachetelor s-i le trimit numai unui singur port, acestea mai pot avea s-idiferite facilitat-i de monitorizare s-i administrare a traficului.

    Bridge (punte) - dispozitiv de ret-ea ce conecteaza doua LAN-uri sau doua segmente de LAN cefolosesc acelas-i protocol (de exemplu, Ethernet).

    Switch (comutator) - dispozitiv de ret-ea ce filtreaza s-i expediaza pachete ntre doua segmente deLAN. Switch-ul opereaza la nivelul legaturii de date (nivelul 2 OSI - Open SystemInterconnection) eventual la nivelul numit ret-ea (nivelul 3 OSI).

    Router - un dispozitiv ce transfera pachete de date ntre ret-ele distincte. Tipic, router-ul esteconectat la doua LAN-uri sau WAN-uri respectiv ntre un LAN s-i furnizorul de servicii Internet.Router-ele realizeaza dirijarea eficienta a pachetelor de date pe liniile cele mai convenabile.

    Gateway - un calculator din ret-ea care se foloses-te pentru accesarea unei alte ret-ele, deoarece esteunicul punct de interact-iune cu alte ret-ele, deseori, va fi s-i proxy server s-i firewall; daca ret-eauaeste subnetata (are subret-ele) este router-ul care transfera traficul n afara subret-elei din care faceparte stat-ia transmit-atoare.

    Proxy server - un server (un calculator care gestioneaza anumite resurse) care este as-ezat ntreun client de aplicat-ie, de exemplu un navigator de Web, s-i un server real, de exemplu un serverde Web. Proxy server-ul va intercepta cererile catre server-ul real s-i va ncerca sa le ndeplineascasingur, daca nu poate transfera cerererile server-ului real. Avantajele folosirii unui proxy stau ncres-terea performant-elor (rspunsul este dat imediat, nu mai ajunge la server-ul real care estebombardat de mii de cereri s-i cam ocupat cu ele) s-i filtrarea cererilor.

    Firewall - un sistem electric sau o aplicat-ie ce gestioneaza accesul (filtreaz) la sau de la o ret-eaprivata.

  • http://www.east.utcluj.ro/mb/mep/antal

    Universitatea Tehnica din Cluj-NapocaCatedra Mecanica si Programare

    Conf. Dr. Ing. ANTAL Tiberiu Alexandru

    Concepte de ret-ele s-i protocoale de ret-ea - 11

    Modalit|i de clasificare a reelelorExista multe criterii de clasificare a ret-elelor, iata cteva posibilitat-i:

    # extinderea geografica: LAN, MAN, WAN etc.;# topologie: stea, magistrala, inel etc.;# mediul de transmisie: cupru, fibra optic, radio, microunde, satelit;# proprietar: public, privat;# tehnologia folosita: comuntata (switched) / conexiune permanenta (permanent

    links), cu legatura fizica (physical link) sau virtuala (virtual link), orientata peconexiune (connection-oriented) sau fara conexiune (connectionless), cu difuzare(broadcast) sau punct la punct (point-to-point) etc.;

    # viteza: banda larga (broadband), banda ngusta (narrowband).

    Nu voi discuta toate tipurile posibile, voi aminti nsa cele mai uzuale denumiri.

    Reele LAN (Local Area Networks)Ret-eaua locala permite interconectarea unor calculatoare aflate la distanta mica (un birou sau maimulte birouri) n scopul partajarii fis-ierelor din calculatoare, a imprimatelor s-i a comunicat-ieilocale. Multe dintre LAN-urile actuale folosesc uzual tehnologia Ethernet. Alte tehnologii folositepentru ret-ele LAN sunt Token Ring s-i FDDI.

    Reele WAN (Wide Area Networks)Ret-eaua WAN este, tipic, raspndita pe o arie geografica mai mare dect LAN-ul (distant-a ntreprocesoare este de ordinul kilometrilor sau mai mult). WAN-ul se formeaza prin conectarea maimultor LAN-uri s-i asigura accesul la calculatoarele locale, server-e, imprimate de la o distant-amare respectiv comunicat-ia ntre calculatoare. Cteva dintre tehnologiile specifice WAN-urilorsunt: modem-urile, ISDN (Integrated Service Digital Network), DSL (Digital Subscriber Line),SONET (Synchronous Optical Network).

    Reele MAN (Metropolitan Area Networks)MAN este o ret-ea de date ce are o raspndire geografica ntre LAN s-i WAN, cel mai des lanivelul unui oras-. Majoritatea MAN-urilor beneficiaza de conexiuni private dar foarte rapide pefibra optica sau alte medii de comexiune digitala rapida. Se formeaza prin legarea mai multorLAN-uri, eventual s-i prin unde radio pentru a oferi aceste servicii n spat-ii publice (aeroport,magazine, etc.)

    Reele VPN (Virtual Private Networks)VPN este o ret-ea care foloses-te un mediu de transmisie public pentru a forma o ret-ea privata decalculatoare. Oricine are acces la aceasta ret-ea va putea lucra cu toate facilitat-ile ei, n condit-iide securitate buna, chiar daca se afla la distant-a fizic mare de ret-ea s-i se leaga la ea folosind oconexiune clasica la Internet (care este nesecurizata). Diferite metode de criptare s-i mecanismede securizare sunt folosite pentru a permite doar accesul utilizatorilor autorizat-i la ret-ea s-i pentruevitarea interceptarii datelor.

    Condiiile de conectare a unui calculator la o reeaPentru ca un calculator s poat fi legat la o reea, prin care s putem avea acces la Internet i laWWW, acesta trebuie s:

    # aib cel puin o plac de reea;# folosesc un sistem de operare ce tie lucra cu protocoale TCP/IP (Transmission

    Control Protocol/Internet Protocol);# aib instalate aplicat-iile ce interpreteaza s-i afis-eaza datele transferate prin reea

    ntr-o forma inteligibila pentru oameni.

  • http://www.east.utcluj.ro/mb/mep/antal

    Universitatea Tehnica din Cluj-NapocaCatedra Mecanica si Programare

    Conf. Dr. Ing. ANTAL Tiberiu Alexandru

    12 - Concepte de ret-ele s-i protocoale de ret-ea

    Placa de reeaPentru conectarea unui calculator la o reea de calculatoare acesta trebuie s conin, la nivel fizic,un dispozitiv de reea numit placa de ret-ea (NIC - Network Interface Card). Acesta asiguracomunicat-ia electrica ntr-o ret-ea. Placa de reea foloses-te o linie de ntrerupere (IRQ - InterruptReQuest), un spat-iu de adrese I/O (Input/Output - Intrare/Ies-ire) s-i o zona de RAM (RandomAccess Memory - memorie volatila) pentru a interact-iona cu SO (Sistemul de Operare). O liniede ntrerupere este o linie electric special n calculator prin care acesta poate fi oprit dinfunct-ionare normala de catre un dispozitiv care transmite un semnal electric pe linia respectiv.Semnalul ntrerupe temporar funct-ionarea curenta a calculatorului pentru ca acesta sa poatedecida ce urmeaza sa faca. Daca procesul care prezinta date este rapid, atunci calculatorul vaprelua datele, altfel acestea risca sa se piarda, dupa care s-i va relua activitatea din care a fostoprit. Deoarce mai multe semnale de ntrerupere pot sosi pe rnd sau simultan pe o singura liniede ntrerupere, fiecarui dispozitiv ce poate ntrerupe calculatorul trebuie sa i se dea un numar unicpentru a putea fi identificat de calculator. Aceasta valoare este specificata atunci cnd respectivuldispozitiv este intodus fizic n calculator s-i se poate face manual sau automat (asta dacadispozitivul este PnP - Plug and Play). Placa de reea este un astfel de dispozitiv ce trebuie saprimesca un numar de IRQ. Aceasta trebuie instalat pe orice echipament ce va accesa ret-eauadeoarece asigur cuplarea la nivel electric cu aceasta. Exista mai multe tipuri de plci de reea:

    notebook-urile pot avea placa de reea ncorporat sau ataata extern pe prinPCMCIA;

    PC-urile pot avea s-i ele placa de baza cu plac de reea ncorporat sau pot fiatas-ate ca placi distincte.

    Fiecare plac de reea are un numar de identificare unic numit adresa MAC (Media AccessControl). Acest numar este folosit (de exemplu, n foarte raspndita tehnologie de reea Ethernet -o arhitectura de ret-ea locala dezvoltata de firma Xerox) pentru a derula comunicat-ia de date astat-iei (numita host) prin ret-ea.

    Reeaua Ethernet apare n 1976, trecnd ulterior prin mai multe revizii i standardizri. Aceastafolosea pentru conectarea fizic a plcilor de reea un singur cablu coaxial (cablul de reea).Datele transmise n aceast reea erau sparte n pachete. Denumirea de pachet este, azi, un termengeneric, reprezentnd unitatea de date ce se transmite ntr-o reea. Pachetele de date erautransmise pe baza unui algoritm CSMA/CD (Carrier Sense Multiple Access / CollisionDetection). n situaia n care mai multe pachete de date ncercau s fie transmise simulan decalculatoare diferite ale reei pe cablul de reea aprea o coleziune (coleziune era detectat ipachetul era retransmis dup un timp aleator). Implementarea unei astfel de reele este simpl, darca urmare a competiiei calculatoarelor n vederea accesului la cablul de reea (mediul detransmisie), caracteristicile de transmisie nu sunt deterministe. Viteza tipic a transferului de datepe aceast reea era de 10 Mbps. Ca urmare a simplitii, tehnologia Ethernet a evoluat repedemrindu-i viteza transferului de date la 100 Mbps (Fast Ethernet) respectiv 1 Gbps (GigabitEthernet).

    Topologii de reeaTopologia se refera la modul de aranjare a legaturilor fizice ntre calculatoarele ret-elei. Ctevadintre ele se vd n Figura 1 (star - stea, bus - magistrala, ring - inel). Topologia stea conecteazatoate cablurile (pe fiecare cablu este un singur calculator) la un singur punct central (hub-ul).Topologia magistrala foloses-te un singur cablu pe care se leaga toate calculatoarele, cea inel leagadoua cte doua calculatoare s-i primul cu ultimul rezultnd o ret-ea de cablu n forma inelara.Termenul de topologie logica este folosit pentru de defini modul de comunicat-ie n ret-ea s-i poate

  • http://www.east.utcluj.ro/mb/mep/antal

    Universitatea Tehnica din Cluj-NapocaCatedra Mecanica si Programare

    Conf. Dr. Ing. ANTAL Tiberiu Alexandru

    Concepte de ret-ele s-i protocoale de ret-ea - 13

    fi cu difuzare (broadcast) sau cu transfer de jetoane (token passing). n cazul difuzarii, uncalculator transmite mesaje catre toate celelalte calculatoare ale ret-elei, prin cablul de ret-ea.

    Nu exista o ordine specifica n care calculatoarele folosesc mediul de transmisie, din acest motivpot sa apara s-i conflicte (dup cum am spus deja, Ethernet funct-ioneza dup acest model). ncazul lucrului cu jeton, acesta este transmis secvent-ial fiecarui calculator din ret-ea. Calculatoulcare are jetonul (token-ul) poate transmite date n ret-ea, daca acesta nu are date de transmis vapasa jetonul mai departe (nu-l t-ine). Acest proces se repeta cu parcurgerea tuturor calculatoarelordin ret-ea. TokenRing este o ret-ea care lucreaza dupa aceasta procedura.

    Despre protocoale de reeaReelele de comunicaie ntre calculatoare pot fi organizate ca o grupare de protocoale aproapeindependente, fiecare dintre acestea opernd la un anumit nivel. Tipic, nivelul cel mai de josasigur comunicaia fizic ntre calculatoare, n timp ce nivelul cel mai nalt const n aplicaiileutilizatorului. Fiecare nivel curent, se folosete de nivelul inferior, pentru a pune la dispoziianivelului superior, un grup de servicii. La fiecare nivel, programe rulate pe calculatoarele reeleifolosesc protocoale corespunztoare nivelului pentru a comunica ntre ele. Avantajulprotocoalelor pe nivele const n specificaiile clare ale metodelor de transmitere a informaiilorde la un nivel la altul ca parte a protocolului. Astfel, orice modificare la nivelul protocolului nuafecteaz celelalte nivele, aceast independen simplificnd proiectarea i ntreinereaprogramelor de comunicaie.

    Pentru cele ce urmeaz voi considera c suita de procoale TCP/IP este organizat pe 5 nivele deprotocoale. Prezentarea este mult simplificat fiind meinute numai acele concepte care au fostdeja discutate, respectiv cele ce vor fi utilizate mai departe la Web i Internet. Anumitor nivelele corespund anumite concepte i dispozitive de reea, dup cum urmeaz:

    Nivel TCP/IP Descriere Dispozitive de reea iconcepte specifice

    nivelului

    5 - Aplicaie Asigur transparena reelei, alocarea deresurse etc. la nivelul utilizatoruluireelei.

    Figure 1 -Topologii deret-ea

  • http://www.east.utcluj.ro/mb/mep/antal

    Universitatea Tehnica din Cluj-NapocaCatedra Mecanica si Programare

    Conf. Dr. Ing. ANTAL Tiberiu Alexandru

    14 - Concepte de ret-ele s-i protocoale de ret-ea

    4 - Transport (TCP) Asigur realizarea unei conexiuni unpunct A i unul B, pentru ca datele sajung fr erori i n ordinea corect.

    3 - Internet (IP) Asigur determinarea rutei pachetelor dedate de la transmitor la receptor.

    router, subreea, adresIP

    2 - Plac de reea Asigur fragmentarea datelor n pachetece conin informaii de indentificare iurmrire n vederea transmiterii lanivelul fizic.

    switch, adres MAC,Ethernet

    1 - Fizic Corespunde conexiunilor electrice imecanice.

    hub

    Introducere n TCP/IPAceast protocol a devenit interesant atunci cnd proprietarii de LAN-uri au neles c poate fiutilizat att pentru transportul datelor ntr-o LAN ct i pentru interconectarea mai multorLAN-uri. La interconectarea LAN-urilor datele pot fi transferate ntre calculatoarele unorLAN-uri distincte, dar numai cu ajutorul unor dispozitive de reea de tipul router sau gateway.TCP este un protocol de comunicaie sigur (garanteaz c toate datele ajung la destinaie frerori, n ordinea n care s-au trimis), asigur controlul fluxurilor (atunci cnd receptorul nu maipoate accepta date acesta va opri transmisia cu un semnal, iar cnd recepia devine din nouposibil o va reporni cu un semnal), este multiplexat (mai multe semnale electrice sunt combinatepentru a partaja mediul de transmisie respectiv cablul de reea) i orientat pe conexiune(transportul de date ntre calculatoare se face ntr-un flux continuu, n trei faze bine definite:stabilirea conexiunii, transferul de date i eliberarea conexiunii). Protocolul IP este frconexiune, ce lucreaz cu prioriti (tipurilor de trafic li se atribuie prioriti, n funcie deprioritate traficul poate sau nu tolera ntrzieri, de exemplu videoconferinele trebuie s meargn timp real, n timp ce e-mail-ul poate fi ntrziat) i comutare de pachete (pachetele de date suntexpediate individual ntre calculatoare, fr existena unei rute prestabilite). IP asigur transportulpachetelor pe diferite rute, fragmentarea (proces prin care un pachet este divizat n poriuni maimici numite fragmente, cu scopul adaptrii acestora la cerinele reelei fizice prin care pacheteletrebuie s treac;procesul invers senumete reasamblare) i reasamblareapachetelor.

    Configurareaconexiuni TCP/IP nWindows XP i 2000Sistemul de operareWindows trebuie safie configurat salucreze cu TCP/IP pefiecare calculator alreelei pentru ca sapoate ex is ta ocomunicat- ie ntreaces t ea . P e n t r u Figure 2 - Start>Run>Cmd>ipconfig

  • http://www.east.utcluj.ro/mb/mep/antal

    Universitatea Tehnica din Cluj-NapocaCatedra Mecanica si Programare

    Conf. Dr. Ing. ANTAL Tiberiu Alexandru

    Concepte de ret-ele s-i protocoale de ret-ea - 15

    vizualizarea setarilor TCP/IP, n Windows 95, 98 s-i Me se foloses-te aplicat-ia winipcfg, nNT/2000 s-i XP se foloses-te ipconfig.

    Calculatorul trebuie sa fie conectat la ret-ea pentru ca datele (vezi Figura 2) cu privire laconexiune sa poata fi afis-ate.

    Pentru ca un grup de calculatoare sa fie ntr-o ret-ea locala trebuie ca la:# IP Address: primele 3 grupe de numere sa fie aceleas-i, iar numerele din ultima

    grupa se fie, toate, distincte;# Subnet Mask: sa fie aceeas-i;# Default Gateway: sa fie aceeas-i.

    Funct-ionarea conexiunii la ret-ea se face cu aplicat-ia ping (Packet InterNet Groper). Aceastaverifica daca o adresa de IP exista s-i daca accepta cereri. ping lucreaza trimit-nd un pachetspecial numit ICMP (Internet Control Message Protocol Echo Request) catre o anumita destinat-ie.Fiecare pachet trimis este o cerere de raspuns, ping se foloses-te pentru a verifica dac funct-iilede transmisie s-i recept-ie ale NIC, configurarea TCP/IP s-i a ret-elei sunt funct-ionale.

    ping 127.0.0.1 - 127.0.0.1 este o adresa rezervata pentru testare a conexiunii ntre client s-iserver (loop back address test). Aceasta permite realizarea unei conexiuni ntre client s-i serverprin TCP/IP pe acelas-i calculator (nu este nevoie de alte elemente de ret-ea). Fiecare calculatorare adresa 127.0.0.1 asignata interfet-ei de loop back care mai poarta s-i numele de local host,majoritatea NIC-urilor au implementata aceasta bucla de testare interna. Orice transmisie pe acestport nu iese din NIC pe cablul de ret-ea ci este redirectata spre interfat-a de testare s-i ajunge dinnou n coada de intrare ip. Se emite o cerere de ecou s-i un raspuns la acesta prin mesaj ICMP princare se verifica condit-iile de funct-ionare ale NIC-ului s-i a instalarii respectiv ale configurariicorecte ale TCP/IP.

    ping IP_adresa_calc_local - verifica daca configurarea TCP/IP a ret-elei este corecta, adica daca IP-ul este adaugat corect ret-elei locale s-i daca dispozitivul de ret-ea la care este legatcalculatorul este activ (pornit).

    ping IP_adresa_default_gateway - verifica daca conexiunea cu router-ul (default gateway-ul)funct-ioneaza corect s-idaca se poate facelega tura cu altecalculatoare dinret-eaua locala.

    p i n gIP_adresa_calc_alta_retea - verificadac a s e p oa t ecomunica prin routercu calculatorul aflatla distana ntr-o altaret-ea.

    D a c a t o t u l lfunct- ioneaza bineping ntoarce adresa Figure 3 - ping www.utcluj.ro

  • http://www.east.utcluj.ro/mb/mep/antal

    Universitatea Tehnica din Cluj-NapocaCatedra Mecanica si Programare

    Conf. Dr. Ing. ANTAL Tiberiu Alexandru

    16 - Concepte de ret-ele s-i protocoale de ret-ea

    verificata. Daca raspunsul este Request timed out atunci nu s-a primit raspuns n timpul alocatde la calculatorul ping-uit. Durata de timp alocata as-teptarii raspunsului se modifica folosindopt-iunea w, de exemplu pentru as-teptare de 5 secunde scriem ping -w 5000 adr_IP.

    Pe Windows XP i 2000 mai putet-i utiliza s-i pathping care face mult mai multe (determina IP-ulunui calculator dintr-o alta ret-ea, ntrzierile s-i pierderile de pachete de date).

    n ret-elele bazate pe potocoalele TCP/IP (aici este inclus s-i Internet-ul) calculatoarele se mainumesc s-i gazde (host), fiecare gazda trebuie sa aiba o adresa de IP-unica. TCP permite stabilireaunei conexiuni ntre doua host-uri cu scopul interschimbarii unor fluxuri de date. TCP garanteazatransferul de date s-i recept-ia pachetelor n aceeas-i ordine n care s-au transmis. Protocolul IP seocupa numai de pachete. Aici este specificat formatul pachetelor de date (numite s-i datagrame)s-i schema de adresare. IP se aseamana cu sistemul pos-tal. Permite adresarea s-i punerea unuipachet la pos-ta, dar fara sa faca o legatura directa ntre expeditor s-i destinatar. TCP este cel careface aceasta legatura virtuala ntre sursa s-i destinat-ie. mpreuna, TCP/IP, permit stabilirea uneiconexiuni ntre doua gazde n scopul trasferului de mesaje pentru o durata limitata de timp.Versiunea curenta a protocolului IP este 4, de aceea se mai foloses-te s-i scrierea IPv4. Ca urmarecerinelor de cres-tere a Internetului, att n numar de gazde ct s-i de trafic, a fost creat noulstandard IPv6.

    Adresa de IP identifica unic un calculator sau alt dispozitiv (imprimanta) al ret-elei TCP/IP.Ret-elele ce folosesc protocolul TCP/IP dirijeaza mesajele pe baza adresei IP a destinatarului.Forma unei adrese IP este un numar de 32 de bit-i, scrise ca 4 numere ntregi separate prin puncte.Fiecare numar poate fi ntre 0 s-i 255, de exemplu 168.212.226.204 poate fi o adresa de IP. ntr-oret-ea izolata de Internet atribuirea acestor adrese se poate face aleator, condit-ia fiind aceea canumerele folosite sunt unice. Daca aceasta ret-ea privata va fi nsa legata la Internet esteobligatorile folosirea unor adrese de IP nregistrate (pentru evitarea dublurilor). Cele patru numerese folosesc pentru a identifica o anumita ret-ea s-i o gazda particulara. 168.212.226.204 se scrie nbinar 10101000.11010100.11100010.11001100. Daca subnet mask-ul este 255.255.255.000,adica 11111111.11111111.11111111.00000000 n binar, primii 24 de bit-i din IP se folosescpentru identificarea ret-elei, iar ultimii 8 identifica calculatorul gazda (host-ul) din ret-ea.Dimensiunea ret-elei este funct-ie de numarul de bit-i folosit-i la definirea gazdelor. Daca subnetmask-ul are 8 bit-i pot exista cel mult 256 de adrese de gazde pentru o anumita ret-ea. Daca subnetmask-ul are 16 bit-i (255.255.0.0) atunci sunt 65536 de adrese de gazde disponibile n ret-ea.

    n concluzie, adresa IP este formata din doua regiuni, una care identifica ret-eaua, alta careidentifica gazda (nodul din ret-ea). Clasa adresei determina care parte a adresei apart-ie de ret-eas-i care apart-ie de gazda. Toate gazdele unei ret-ele trebuie sa aiba acelas-i prefix de ret-ea s-i trebuiesa aiba o valoare de gazda unica.

    Exista mai multe organizat-ii (de exemplu, pentru Europa avem Rseaux IP Europens NetworkCoordination Centre.) care nregistreaza s-i administreaza adresele de IP din urmatoarele clase:

    Clas Cei maisemifica-tivi bii aiadresei

    Domenii de adreseposibile

    Adresa de subnetmask

    Reele peclas

    Gazde peclas

    Utilizare

    A 0xxx 0.0.0.0 - 127.255.255.255 255.0.0.0 128 16.777.214 Reele foarte mari,ntotdeauna subnetate

    B 10xx 128.0.0.0 -191.255.255.255

    255.255.0.0 16,384 65,535 Reele mari, tipic,subnetate

  • http://www.east.utcluj.ro/mb/mep/antal

    Universitatea Tehnica din Cluj-NapocaCatedra Mecanica si Programare

    Conf. Dr. Ing. ANTAL Tiberiu Alexandru

    Concepte de ret-ele s-i protocoale de ret-ea - 17

    C 110x 192.0.0.0 -223.255.255.255

    255.255.255.0 2,097,152 254 Reele mici

    D 1110 224.0.0.0 -239.255.255.255

    255.255.255.255 268,435,456 0[2] Grupuri de adrese demulticast (nu existgazde)

    E 1111 240.0.0.0 -255.255.255.255

    nedefinit nedefinite nedefinite Rezervate n scopuriexperimentale

    Este posibil ca administratorul unei ret-ele sa divizeze o ret-ea n mai multe ret-ele virtuale numitesubret-ele (procesul este numit subnetare). Pentru aceasta bit-ii din subnet mask care t-in de gazdase mprumuta adresei de ret-ea prin trecerea bit-ilor dorit-i din 0 n 1. De exemplu, fie adresa deret-ea 192.168.10.0 cu subnet mask-ul 255.255.255.0. Pentru a face din aceasta ret-ea doua ret-elesubnet mask-ul se face 255.255.255.128 (adica din 11111111.1111111.11111111.00000000acesta devine 11111111.11111111.1111111.10000000). Aceasta nseamna ca n loc de 24 de bit-ise folosesc 25 de bit-i pentru ret-ea s-i numai 7 pentru host-uri. Rezulta doua ret-ele distincte cu 128de adrese de host posibile fiecare. Prima ret-ea va avea domeniul de adrese n 192.168.10.0 -192.168.10.127, iar cea de-a doua 192.168.10.128 - 192.168.10.255.

    Toate ret-elele trebuie sa rezerve orice adresa de gazda ce are tot-i bit-ii 0 respectiv 1 pentru ret-ea.Astfel fiecare subret-ea va avea o adresa specifica de ret-ea s-i una de difuzare (broadcast). ntr-oret-ea cu 256 de gazde, 0 s-i 255 vor fi adrese rezevate, deci, vor fi numai 254 de adrese de gazdeposibile. Pentru exemplul de mai sus, cnd numai 7 bit-i se folosesc pentru adresele de gazde,numarul maxim ar fi de 126 din 128 (pentru prima subret-ea 192.168.10.0 este adresa de ret-ea iar192.168.10.127 adresa de difuzare).

    Toate gazdele care dorim sa comunice direct n ret-ea trebuie sa fie n aceeas-i ret-ea, adica s aibaacelas-i subnet mask. Daca se folosesc subnet mask-uri diferite vor crede ca sunt n ret-ele diferites-i nu vor putea comunica direct, ci doar indirect, cu ajutorul unui router.

    Fra a intra n prea multe detalii, protocolul TCP/IP este cel ce st la baza Internetului. Acestaasigur trasportul datelor ntre aplicaiile, rulate pe calculatoarele unor reele distincte. Ceea cenumim generic Internet, este cea mai mare (n sensul rspndirii geografice) grupare de reele decalculatoare. Are o structur ierahic cu trei nivele: reele de tranzit cum sunt ARPAnet, NSFNet,MILNET - asigur traficul de volum foarte mare ntre reele pe care le leag , reele de mijloc -reele intermediare, care conecteaz reelele mici la cea de tranzit, reele mici - la nivelul uneiastfel de reele traficul este de tipul local.

    Protocolul HTTPProtocolul HTTP este ASCII i folosete protocolul TCP/IP pentru a realiza transmisia datelorprin Internet. Definiiile care urmeaz v formeaz cadrul necesar nelegerii celor ce se vorprezenta n continuare.# Protocol - un set de reguli formale ce descriu modul de transmitere al datelor, deseori,

    ntr-o reea.# Port - un canal logic ntr-un sistem de comunicaie. Protocolul TCP folosete numere de

    port pentru demultiplexarea mesajelor. Fiecare aplicaie are un numr de port unic asociatcu aceasta. Numrul de port al server-elor de Web este 80.

    # Server - un program care furnizeaz un serviciu unor alte programe (clienii). Legturantre client i server se realizeaz prin intermediul unor mesaje transferate, deseori,printr-o reea i folosete un protocol oarecare pentru codificarea cererilor clienilor i arspunsurilor date de server. Server-ul este rulat continuu ateptnd sosirea cererilor saupoate fi pornit ca urmare a unei cereri lansate de un program special.

  • http://www.east.utcluj.ro/mb/mep/antal

    Universitatea Tehnica din Cluj-NapocaCatedra Mecanica si Programare

    Conf. Dr. Ing. ANTAL Tiberiu Alexandru

    18 - Concepte de ret-ele s-i protocoale de ret-ea

    # Web server - un program server rulat pe un site de Web care trimite ca rspuns paginiWeb la cererile HTTP ale navigatoarelor. Cteva nume de astfel de programe sunt:Apache, HTTPd, Personal Web Server i IIS.

    # Site de Web - un calculator pe Internet pe care se ruleaz un server de World Wide Web(WWW). Un site particular este identificat printr-un nume de gazd (hostname).

    # WWW (World Wide Web) - sistem informaional client-server, hipertext, distribuit, iniiatde Laboratorul European de Fizica Particulelor din Geneva, Elveia. Pe WWW totul(documente, meniuri, etc.) se reprezint prin obiecte hipertext n formatul HTML.Legturile hipertext refer documente prin URL (standard pentru specificarea locaieiobiectelor pe Internet). Acestea pot referi o resurs local sau una aflat la distanaccesibil prin FTP, Gopher etc. sau via protocolul HTTP folosit pentru transferuldocumentelor hipertext. Un program client, dintre cele care urmeaz, se ruleaz pecalculatorul utilizatorului (deseori, numit i navigator de Internet) - NCSA Mosaic,Netscape Navigator, Internet Explorer, Mozila FireFox etc. - furniznd dou servicii denavigare de baz: urmrirea unei legturi i transmiterea unei cereri server-ului.

    HTTP este un protocol de aplicaie, n situaia concret, se folosete de ctre clientul de Web ide ctre server-ul de Web pentru a comunica. n vederea realizrii legturii ntre client i servertrebuie s cunoatem adresa IP a serverului i portul TCP asociat aplicaiei server (numrul deport sau, mai pe scurt, portul, asigur identificarea aplicaiei sau procesului de pe calculator).Unele dintre aceste informaii pot fi calculate (adresa de IP se poate determina din numeleserverului, care este coninut n URL, cu ajutorul unui server de nume de domenii), altele suntimplicite (am spus deja c numrul de port implicit, pentru server-ele de Web, este 80). Otranzacie ntre clientul i serverul de Web este declanat de client prin emiterea unei comenzide cerere (request), apoi server-ul trimite clientului un rspuns (response) la comand (veziFigura 4). De exemplu, comanda GET a protocolului HTTP trimite server-ului de Web numelefiierului pe care dorim s-l vizualizm. Server-ul va rspunde cu fiierul cerut, dar l va precedacu un grup de informaii care descriu transferul i formatul informaiilor transferate. Astfel,HTTP/1.0 este versiunea protocolului HTTP, 200 este codul de stare succes iar OK un mesaj ce

    Figure 4Dialog HTTP

  • http://www.east.utcluj.ro/mb/mep/antal

    Universitatea Tehnica din Cluj-NapocaCatedra Mecanica si Programare

    Conf. Dr. Ing. ANTAL Tiberiu Alexandru

    Concepte de ret-ele s-i protocoale de ret-ea - 19

    explic codul de stare. Dup Content-Type, urmeaz coninutul fiierul cerut. Cea mai simplmetod de vizualizare a rspunsului transmis de server ctre client este utilizarea unei aplicaiiede tip terminal (de ex. telnet sau netcat). Server-ul de Web monitorizeaz portul 80 pentrua vedea dac sunt clieni ce doresc s se lege la el.

    n Figura 5, seiniiaz o conexiunecu server-ul de Webmare, ce are adresaIP 127.0.0.1 .Aplicaia netcat (nc)este gratuit ipermite conectarea dela distan la uncalculator, folosindTCP/IP. Modul deutilizare este cel deemulare de terminalr e s p e c t i v a c e s tcalculator apare lanivelul celui la cares - a c o n e c t a ta s e m e n e a u n u isimplu terminal de lacare se pot introduce caractere, se poate poziia cursorul, se poate terge ecranul etc. Pentru arealiza aceast conectare la server-ul de Web cu netcat se introduce linia nc -v -v IP port. Utilizarea lui -v asigur afiarea detailat a tuturor informaiilor legate de conexiune. Duprealizarea conexiunii, tot ceea ce se scrie pe ecranul terminalului va fi trimis exact server-ului.Deoarce ne legm la un server de Web, trebuie si trimitem o comand a protocolului HTTP.Prin GET /poze/t.htm HTTP/1.0 i se cere server-ului s trimit clientului coninutul paginii cunumele t.htm stocat n directorul virtual poze. Tasta trebui apsat de dou ori, dupcare acesta va trimite rspunsul lui clientului. Deoarece clientul nostru nu este un navigator, cidoar un emulator de terminal (nu tie interpreta limbajul HTML n care s-a scris pagina), pe ecran,rspunsul apare afiat n ASCII.

    Se observ c rspunsul are trei pri distincte:# prima linie care ne spune starea rspunsului (HTTP/1.1 200 OK);# antetul (header): o regiune format din perechi nume: valoare terminat

    cu o linie vid;# corpul (body): coninului scris n limbajul HTML al paginii cerute.

    Aceast descriere a dialogului ntre sever-ul de Web i client a fost prezentat prin prismaprotocolului HTTP, deoarece nvarea se face mai comod dac cititorul vede mcar o parte adescrierii. Etapele acestui dialog vor fi ns reluate, ntr-un context mai general i mai puintehnic, pentru asigurarea percepiei golbale asupra procesului.

    Figure 5 - Utilizarea netcat-ului pentru descarcarea unei pagini deWeb

  • http://www.east.utcluj.ro/mb/mep/antal

    Universitatea Tehnica din Cluj-NapocaCatedra Mecanica si Programare

    Conf. Dr. Ing. ANTAL Tiberiu Alexandru

    20 - Introducere n ASP

    Ce este ASP?Active Server Pages (ASP) este o combinaie de tehnologii ce permit crearea unor documente careconin poriuni de HTML i de program. Utilizarea ASP oblig la nvarea unor colecii deinstrumente de dezvoltare, limbaje de programare, tehnici i tehnologii de programare. ASP, deasemenea, necesit folosirea unui Web server care prelucreaz cererile clienilor i formuleazrspunsurile n mod dinamic, individualizate pe baza unui proces logic, a unui fiier, a unor datedintr-o baz de date i prelucreaz datele individuale ale clientului utilizator. ASP permite tratareafiecrui utilizator ca o entitate unic, dei toi utilizatorii ruleaz acelai program pe un singurcalculator care este Web server-ul.

    De la HTML la ASPHyperText Markup Language (HTML) este un format de fiiere text folosit pentru definireamodului de afiare a coninutului unei pagini de Web, de obicei ntr-un navigator. Acesta estemotivul pentru care HTML a devenit att de popular. Pn la apariia HTML singura modalitateprin care un novice n calculatoare putea s afieze text i grafic pe ecran erau editoarele de textecare puteau lucra n modul WYSIWYG (What-You-See-Is-What-You-Get). ns i aici erauprobleme. Pentru pstrarea compatibilitii ntre documente toi utilizatorii trebuiau s foloseascacelai sistem de operare i acelai editor de texte. HTML a schimbat acest calvar, prinsimplitatea lui oferind n plus posibilitatea de navigare ntre fiiere fr a ti locul n care se aflacestea. Acest mod de navigare se numete hipertext, iar conceptul a fost inventat de Ted Nelsoncu 30 de ani nainte de apariia HTML. Datorita simplitii HTML, n scurt timp de la scoaterealui pe pia, acesta a devenit limbajul folosit pentru afiarea informaiilor pe WWW. Dup cemilioane de pagini au fost publicate pe Internet, unii dintre cititori au nceput s se plng defaptul c informaiile nu erau suficient de specifice. Ei doreau o posibilitate de personalizare apaginilor, interactivitate, posibilitatea de memorare a paginilor sau, mai pe scurt, doreau aplicaiii nu doar simple pagini de informaie.

    CGIHTML, fiind un limbaj foarte simplu, nu putea ndeplini aceste condiii fr a avea n spate unmotor de aplicaii.

    Terminologie # CGI (Common Gateway Interface) - un standard pentru rularea unor programe externe pe

    un server WWW HTTP. CGI specific modalitatea de transfer pentru argument ctreprogramul n execuie ca o parte a unei cereri HTML. De asemenea, definete o mulimede variabile de mediu. Deseori, programul va avea ca rezultat text HTML care va firetrimis ctre navigatorul care a transmis cererea, dar este posibil i redirectarea ctre unalt URL. CGI permite ca textul HTML ntors s depind ntr-un mod arbitrar de cerere.Programele CGI accept argumentele prin linia de comand. Perl este un limbaj de scriptdes folosit la scrierea programelor CGI. Cnd server-ul primete o cerere de execuie CGIcreeaz un nou proces pentru execuia programului extern. Dac dintr-un oarecare motivprogramul "crap" sau cererile ctre server vin ntr-un numar mult prea mare, acesta nuva putea retrimite rspunsurile n timp util s-i se va "mpotmoli" n procese, performanele lui scznd mult.

    # URL (Uniform Resource Locator) - un standard pentru specificarea unui obiect peInternet. Se utilizeaz n documentele HTML pentru specificarea sursei unei hiperlegturi.Iat cteva exemple:

    ftp://wuarchive.wustl.edu/mirrors/msdos/graphics/gifkit.zip ftp://spy:[email protected]/pub/topsecret/weapon.tgz

  • http://www.east.utcluj.ro/mb/mep/antal

    Universitatea Tehnica din Cluj-NapocaCatedra Mecanica si Programare

    Conf. Dr. Ing. ANTAL Tiberiu Alexandru

    Introducere n ASP - 21

    http://www.w3.org/default.html news:alt.hypertext telnet://dra.com mailto:[email protected] http://wombat.doc.ic.ac.uk/?Uniform+Resource+Locator http://www.w3.org/default.html#Introduction

    Partea din faa caracterului : specific schema de accesare sau protocolul. Partea de dup: se interpreteaz n funcie de schema de acces. n general, cele dou caractere // descriuun nume de host (host - un nume care identific unic un calculator pe Internet; alte formefolosite mai sunt: host:port sau pentru FTP utilizator: parola@host sauutilizator@host). Schemele includ ftp, http, gopher sau WAIS. Schema fiierului poatefi folosit numai pentru referirea unui fiier aflat pe host. Scheme mai puin folosite suntnews, telnet sau mailto (e-mail). Numarul de port poate fi omis din URL, caz n careacesta ia valoarea implicit de 80. Ultima parte, opional, din URL poate fi un ir decaractere precedat de ? sau un fragment de identificare precedat de # pentru specificareaunei poziii particulare n document.

    # hiperlegtur - o referin dintr-un punct al unui document hipertext ctre un altdocument sau o alt poziie din acelai document. Navigatoarele afieaz hiperlegturiledintr-un document ntr-o form i culoare distinct de textul obinuit al acestuia. Atuncicnd utilizatorul activeaz o hiperlegtur (printr-un clic de mouse pe aceasta) navigatorulva afia destinaia stocat n hiperlegtur.

    # limbaj de script (script language) - un limbaj de programare relativ mic, deseoriinterpretat (nu compilat).

    HTML a fost ajutat de CGI s poat rspunde cerinelor tot mai dure formulate de utilizatori. Oaplicaie CGI se ruleaz pe server. Cnd navigatorul contacteaz server-ul i formuleaz cererea,aplicaia CGI va ntoarce text HTML navigatorului. La nivelul aplicaiei CGI se pot realizaprelucrri ale informaiilor trimise prin cererea navigatorului i se poate genera un rspuns caredifer n funcie de anumite condiii. Dei aplicat-iile CGI pot fi scrise n aproape orice limbaj deprogramare, majoritatea programatorilor au folosit limbajul Perl (Practical Extraction and ReportLanguage, deseori numit n lumea bun a programatorilor Pathologically Eclectic Rubbish Lister)datorit posibilitilor avansate a lui de prelucrare a textelor. Programele CGI folosesc formularepentru a interaciona cu utilizatorul n vederea realizrii unor cutri i pentru a ntoarcerspunsuri personalizate. Din pcate CGI avea cteva probleme. Primele versiuni de CGI trebuiaus ncarce n memorie aplicaia CGI pentru fiecare cerere. n cazul unor site-uri cu trafic mai mareaceasta nsemna aproximativ 100 de cereri pe secund. ncrcarea i descrcarea aplicaiilor luans mult din timpul de lucru al Web server-ului. Acesta este motivul pentru care firmele serioasede software de Web au cutat alte soluii. Noile concepte au fost standardizate sub numele deInternet Server Application Programming Interface (ISAPI) sau, n cazul server-elor Netscape,Netscape Server Application Programming Interface (NSAPI). n acest caz aplicaiile CGI puteaufi rulate ca o parte a server-ului de Web (nu mai erau aplicaii externe lui) fr a mai trece prinncrcarea i descrcarea lor cu fiecare cerere.

    Avantaje ASPCteva dintre avantajele principiale ale ASP sunt prezentate n continuare.

    Independena de limbajul de programareMotorul ASP nu depinde de un anumit limbaj de programare. Motorul ASP nu ruleaz codul scrisde programator. El este o gazd independent de limbajul de script folosit. n acest fel, el poatefolosi orice limbaj care este compatibil cu cerinele descrise n Microsoft Scripting Host. Daceste cazul, cod n mai multe limbaje de programare poate fi scris pe aceeai pagin. Motorul ASP

  • http://www.east.utcluj.ro/mb/mep/antal

    Universitatea Tehnica din Cluj-NapocaCatedra Mecanica si Programare

    Conf. Dr. Ing. ANTAL Tiberiu Alexandru

    22 - Introducere n ASP

    va separa codul script de HTML, apoi va cere motorului corespunztor s-l ruleze. Majoritateacodului care urmeaz va fi scris n limbajul VBScript, cu except-ia unei part-i scurte care va fiscrisa n JavaScript (n secvent-ele de cod urmatoare caracterul E are semnifica o linie ntreruptadin motive de spat-iu).

    ASP este simplu de nv|atUna dintre problemele calculatoritilor este gsirea unui limbaj de programare pe carene-programatorii s-l poat nelege n vederea implementrii unor operaii tipice anumitor munci.Ideea reutilizrii codului scris de cineva n alt parte permite crearea unor aplicaii funcionalechiar i de ctre neprofesionitii n programare. ASP face legtura ntre mai multe tehnologii.Astfel, componente software scrise de programatori profesioniti pot fi integrate n orice aplicaiefr mult efort de catre programatorii ne-profesionis-ti.

    Alte metode pentru crearea de pagini Web dinamicASP este cea mai nou modalitate de creare a paginilor Web dinamice, dar nu este singuramodalitate de lucru. Prin anii '90 cea mai utilizata tehnologie Web era programarea CGI.

    Programe CGIProgramele CGI sunt aplicat-ii executabile pe care server-ul de Web le ruleaz atunci cndnavigatorul lanseaz o astfel de cerere. Programul CGI prelucreaz cererea prin codul scris intoarce text HTML navigatorului. Diferena dintre un program CGI i o pagin de Web staticeste aceea c textul HTML ntors navigatorului poate fi diferit n funct-ie de utilizatorul care facecererea, a locului de unde o face i a momentului ales. Microsoft a observat c programele CGInu sunt cel mai eficient mod de prelucrare a cererilor pentru generarea unui coninut activ.Motivul ineficienei este necesitatea ncrcrii i descrcrii programului CGI la fiecare cerere.Explicaia folosirii acestui mod de lucru const n protocolul de transfer hipertext (HTTP -HyperText Transfer Protocol). O cerere HTTP este o tranzacie scurt ntre un client i un server.Att server-ul ct i clientul vor uita c tranzacia a avut loc dup derularea ei. La fiecaretranzacie HTTP clientul i server-ul, pe baza unui protocol fix, vor derula aceeai comunicaie.Apoi, ntruct server-ul uit cine a fost clientul va descrca din memorie programul CGI ncrcatca urmare a cererii navigatorului. Dac apare o nou cerere programul CGI trebuie rencrcat, iaraceast rencrcare este deseori mai nceat dect execuia programului n sine. Din punctul devedere al server-ului de Web activitatea de ncrcare a programelor CGI este neproductiv.Soluia la aceast problem s-a numit ISAPI.

    Ce este ISAPI?Pentru eliminarea acestei probleme legate de aplicaiile CGI, Microsoft a introdus o nou interfanumit ISAPI (Internet Server Application Programming Interface). Aici, timpul necesar pentruncrcarea programului CGI se pstreaz, dar acesta nu mai este descrcat din memorie laterminarea rezolvrii cererii. El va rmne ncrcat n memorie att timp ct server-ulfuncioneaz sau pe o durat de timp predefinit. Exist dou tipuri de programe ISAPI: aplicaiiISAPI i filtre ISAPI.

    Aplicaii ISAPIAplicaiile ISAPI se ruleaz dup ce server-ul de Web a primit cererea. Aplicaiile ISAPI permitadugarea de noi funcii server-ului de Web cu pstrarea facilitilor deja existente ale server-ului.Motorul ASP este o aplicaie ISAPI. IIS (Internet Information Server) transfer cererile de fiiereASP motorului ASP care prelucreaz cererea pentru a ntoarce coninutul dinamic.

    Filtre ISAPIFiltrele ASP sunt aplicaii care se ruleaz nainte ca server-ul de Web s primeasc o cerere n

  • http://www.east.utcluj.ro/mb/mep/antal

    Universitatea Tehnica din Cluj-NapocaCatedra Mecanica si Programare

    Conf. Dr. Ing. ANTAL Tiberiu Alexandru

    Introducere n ASP - 23

    acest scop. Acestea, deseori, permit monitorizarea sau interceptarea unor cereri de prelucrrispeciale.

    Cnd se folosesc ASP i HTML mpreun|?HTML este un limbaj simplu i flexibil pentru organizare i formatare, dar nu are integrat unlimbaj de programare. Dac se dorete afiarea de texte statice, HTML este perfect. Dac nsconinutul de afiat se schimb des sau acesta trebuie personalizat pentru grupe de utilizatoriHTML nu poate face fa ntruct la nivelul lui nu se pot lua decizii. Pentru acest scop este nevoiede un limbaj de programare. Scripturile ASP ofer mecanisme care permit lucrul cu baze de date,luarea unor decizii, accesul la resursele hard ale calculatorului server etc. pentru generarea depagini HTML cu un coninut actualizat n mod dinamic.

    Comparaie ntre ASP i alte tehnologii de dezvoltare a aplicaiilor Web Terminologie

    # component ActiveX - o unitate de cod executabil (.exe, .dll sau .ocx) care respectspecificaiile ActiveX pentru crearea obiectelor. Tehnologia ActiveX permite caprogramatorii s asambleze componente software reutilizabile ntr-o aplicaie sau ntr-unserviciu software.

    # COM (Component Object Model) - tehnologie inventat de Microsoft pentru dezvoltareaaplicaiilor prin componente software. COM definete principiile pentru implementareacu succes a ncapsulrii, polimorfismului i a motenirii mpreun cu o structur pentrudistribuirea acestor componente

    # DLL (Dynamic Link Library) - o grupare de rutine dintr-o bibliotec ce pot fi apelate dinproceduri i care se ncarc i se leag n aplicaie, n momentul execuiei acesteia.

    ASP are cteva avantaje majore n comparaie cu celelalte tehnologii i medii folosite pentrudezvoltarea aplicaiilor de Web:

    1. codul ASP este stocat n fis-iere text - fiierele text sunt uor de modificat inclusiv dupdepunerea pe server. Au uriaul avantaj de a putea rezolva orice problem folosind uneditor de texte simplu. Aplicaiile Web ce depind de cod compilat sau de obiecte ActiveXsunt mult mai greu de ntreinut i de actualizat.

    2. codul ASP expira n timp - IIS (Web server-ul firmei Microsoft) oprete execuiacodului ASP automat dup 90 de secunde (durata de timp se poate modifica). Dac dintr-oeroare scriem un cod care are o bucl infinit sau dac cineva cere milioane denregistrri, server-ul nu va fi blocat dect n perioada celor 90 de secunde. Muli furnizoride internet nu folosesc aplicaii compilate pentru motivul c cele ASP expir dup unanumit timp.

    3. codul ASP nu blocheaza server-ul - codul ASP are limitri dure, de exemplu nu veiputea citi sau scrie fiirere binare direct cu ASP. Este foarte dificil ca sever-ul IIS s fieblocat, acesta este nc unul dintre motivele pentru care muli furnizori de servicii internetprefer s lucreze cu tehnologia ASP.

    4. codul ASP nu necesita nregistrare - Programul de instalare al IIS va instala DLL-urilemotorului ASP, cele de script, Microsoft ActiveX Data Objects DLL (ADO) i MicrosoftScripting Runtime DLL. Acestea sunt toate componentele necesare rulrii unei aplicaiiASP. Celelalte instrumente de dezvoltare necesit instalri de componente adiionale peserver i operaii cu registrul de Windows.

  • http://www.east.utcluj.ro/mb/mep/antal

    Universitatea Tehnica din Cluj-NapocaCatedra Mecanica si Programare

    Conf. Dr. Ing. ANTAL Tiberiu Alexandru

    24 - Introducere n ASP

    5. aplica-tiile ASP sunt mici - ntruct majoritatea DLL-urilor sunt deja instalate pe servereste necesar doar copierea fiierelor cu cod, a imaginilor i a fiierelor de suport pentruca aplicaia ASP s devin funcional. Pe msur ce aplicaiei i se adaug tot mai multecomponente ActiveX compilate ne ndeprtm tot mai mult de o aplicaie mic.

    6. aplica-tiile ASP pot fi actualizate fara oprirea IIS - la prima vedere nu pare s fie unavantaj mare atunci cnd se ruleaz o singur aplicaie pe server. Atunci ns cnd seruleaz zeci de aplicaii nimeni nu dorete oprirea server-ului numai pentru c una dintreele va fi actualizat.

  • http://www.east.utcluj.ro/mb/mep/antal

    Universitatea Tehnica din Cluj-NapocaCatedra Mecanica si Programare

    Conf. Dr. Ing. ANTAL Tiberiu Alexandru

    Dialogul client-server pe Web - 25

    Etapele desf|ur|rii dialogului, ntre client i server, pe WebCu fiecare introducere a unui URL nou n cutia de adrese a navigatorului, selectarea unei legturi,sau a transferului unui formular, navigatorul va mpacheta informaii despre el nsui, URL iuneori despre utilizator i le va trimite server-ului de Web sub forma unei cereri. Motorul ASPeste o colecie de obiecte care conin informaii despre cerere, tehnologia de script folosit pentruluarea deciziilor, despre modul de tratare a cererii ct i despre server-ul de Web. nainte de adetalia modul de lucru a motorului ASP s vedem anatomia unei cereri.

    Orice cerere pe Web necesit dou componente, clientul i server-ul de Web. Clientul este,deseori, un navigator dar poate fi i un spider (program care parcurge legturile de pe Web pentrua culege informaii) sau un agent (un program nsrcinat cu gsirea unor informaii specifice carefoloses-te de regula motoare de cutare). De obicei, server-ul i clientul sunt pe dou calculatoarediferite, dar se poate ca acestea s fie rulate i pe acelai calculator. Att server-ul ct i clientultrebuie s foloseasc acelai protocol pentru a comunica. Protocolul este o convenie cu privirela desfurarea unei sesiuni de comunicaie (iniializare, transfer de informaie i terminare).Exist mai multe protocoale folosite la transferul de informaie pe Web; cele mai comune suntHTTP i FTP (File Transfer Protocol). Indiferent de protocolul folosit pentru cererile pe Webacestea se rezolv printr-un serviciu de transfer de baz numit, TCP/IP (Transmission ControlProtocol/Internet Protocol). Acesta este standardul de comunicaie global pentru doucalculatoare ce schimb informaie prin Internet. Server-ul ruleaz o bucl infinit n care verificiniializarea comunicaiei. Clientul, trimite o secvena de iniializare pentru a marca nceputulunei sesiuni. Cnd server-ul primete cererea de iniializare valideaz transmisia printr-un rspunsctre client. Apoi, conversaia ntre client i server continu n ambele sensuri pn cndrspunsul dat la cerere se termin.

    Modul n care clientul trimite cerereaClientul trimite toate cererile unui server de nume (naming server). Acesta are o baz de date cunume ce sunt asociate unor adrese de IP. Acest server traduce numele adresei de accesat n cifre.O adres de IP este format din patru numere n domeniul 0-255 separate prin caracterele punct.De exemplu: 207.225.123.37.

    Fiecare adres de IP identific n mod unic un calculator dintr-o reea. Dac primul server denumer nu cunoate adresa dorit atunci o va transmite urmtorului dintr-o ierarhie prestabilit.Dac nici un server de nume nu poate traduce numele adresei ntr-o adres de IP cererea va ajungela un server de nume mai puternic care stocheaz lista tuturor adreselor publice de IP. Dac niciaici traducerea nu se poate realiza, atunci rspunsul negativ va fi transmis pe baza ierarhieiserver-elor de nume pn cnd ajunge napoi la navigator. Acesta este momentul n carenavigatorul va afia un mesaj de eroare. n caz de succes, server-ul de nume ntoarce adresa deIP navigatorului, iar acesta va folosi adresa de IP pentru a contacta server-ul de Web asociatnumelui respectiv. Multe pagini conin referine la alte pagini sau imagini pe care server-ul deWeb trebuie s le cear din alta parte pentru ca pagina s poat fi complet. Astfel, procesul deafiare a unei pagini Web se face prin mai multe conversaii scurte ntre navigator i server. Tipic,navigatorul primete pagina principal, apoi caut referinele ctre alte fiiere, continu cuafiarea paginii principale n timp ce i formuleaz cererile cu privire la referinele ctre fiierelenecunoscute.

    Prelucrarea cererii de c|tre serverDin punctul de vedere al server-ului de Web fiecare conversaie este un contact nou. Server-elede Web nu rein un anumit navigator ntre dou cereri ale acestuia (protocolul HTTP 1.1 are deja

  • http://www.east.utcluj.ro/mb/mep/antal

    Universitatea Tehnica din Cluj-NapocaCatedra Mecanica si Programare

    Conf. Dr. Ing. ANTAL Tiberiu Alexandru

    26 - Dialogul client-server pe Web

    posibilitatea meninerii unei conexiuni cu cereri multiple).

    P|rile componente ale unui URLLinia pe care o introducem ca adres n navigator este un URL. Server-ul descompune acest irn mai multe componente care sunt separate prin dou puncte, slash, punct etc. Fie URL-ul:

    http://www.unsite.ro/Programe/default.htm?Pagina=1&Paragraf=2

    Elementele componente ale URL-ului de mai sus se prezint n tabelul urmtor:

    Compoment URL Funcie Descrierehttp Protocol Spune server-ului protocolul care l va

    folosi pentru a rspunde la cerere.www.unsite.ro Numele

    domeniuluiAceast parte din URL se traduce ntr-oadres de IP. Numele de domeniu esteformat din mai multe pri separate princaracterele punct.

    Programe Director virtual Server-ul transform acest nume ntr-ocale fizic pe hard disc.

    default.htm Nume fiier Server-ul va ntoarce coninutul acestuifiier. Dac fiierul este unul executabil(de exemplu fiier ASP) server-ul l vaexecuta n loc s ntoarc coninutulfiierului.

    ? (semul de ntrebare) Separator Acest caracter separ cererea de fiier deparametrii adiionali trimii mpreun cucererea. n exemplul prezentat URL-ulare doi parametri Pagina=1&Paragraf=2.

    Pagina Nume parametru Programele scrise, cum sunt i paginileASP, pot citi parametrii i-i pot folosipentru a obine informaii adiionale.

    = (semnul egal) Separator Separ numele parametrului de valoareadat acestuia.

    1 Valoareparametru

    Parametrul cu numele Pagina ia valoarea1. Toate valorile de parametri se transferca iruri de caractere. Programele scrisepot interpreta aceste valori ca numerenumai n urma conversiei lor de la ir lanumr.

    & Separator Separa perechile parametru=valoarentre ele.

    Paragraf=2 Al doilea parametru cu valoarea lui.

    Pe Web, referirea la fiiere nu se face printr-o cale fizic, ci prin una virtual. Dup transferarea

  • http://www.east.utcluj.ro/mb/mep/antal

    Universitatea Tehnica din Cluj-NapocaCatedra Mecanica si Programare

    Conf. Dr. Ing. ANTAL Tiberiu Alexandru

    Dialogul client-server pe Web - 27

    URL-ului, server-ul transform calea virtual n una fizic. De exemplu, calea numeCale dinURL-ul http://numeSever/numeCale/fisier.asp, este una virtual. Directorul virtualnumeCale va fi transformat ntr-o cale ctre un director local de exemplu de formac:\inetpub\wwwroot\asp\fisier.asp.

    Server-ul verific existena fiierului cerut. n cazul n care acesta nu exist el va ntoarce mesajulde eroare HTTP 404 - File not found.

    Dup localizarea resursei cerute server-ul verific dac contul care cere informaiile are drepturilede accesare a resursei. Dac de exemplu, contul de pe care s-a fcut cererea este unul anonim iutilizatorul a cerut un fiier pentru care acel cont nu are drepturi de citire, server-ul va ntoarcemesajul de eroare HTTP 403 - Access Denied. Mesajele de eroare 403 sunt organizate pesubnivele. Se poate, deci ca textul mesajului s fie diferit de cel de sus n funcie de motivul exactcare a condus la imposibilitatea deservirii cererii (coninutul la majoritatea mesajelor de eroarepoate fi personalizat).

    Modul n care server-ul r|spunde la o cerereServer-ele difereniaz tipurile de fiiere cerute prin mai multe metode. IIS face aceastdifereniere pe baza extensiei fiierului (de exemplu: asp, htm, exe etc.) la fel cu WindowsExplorer. Atunci cnd se face clic dublu pe un fiier, Windows Explorer caut extensia fiieruluin registru (o baz de date special n care se stocheaz informaii legate de sistem i de aplicaii).Registrul conine cte o intrare pentru fiecare extensie de fiier nregistrat. Fiecare extensie areasociat o intrare de tip de fiier. Fiecare tip de fiier are asociat un fiier executabil sau omodalitate prin care se prelucreaz. Server-ul extrage extensia de fiier din numele lui apoi cautprogramul asociat acesteia i lanseaz n execuie acel program pentru a ntoarce fiierul.

    Majoritatea server-elor de Web folosesc extensia fiierelor pentru a determina modul deprelucrare a cererii, dar nu folosesc asociaii din registru ci au o list proprie de perechi (extensie,aplicaie), n acest scop. Intrrile n aceste liste poart denumirea de tipuri MIME (MultipurposeInternet Mail Extensions) ntruct programele de e-mail trebuie s cunoasc tipul coninutuluifiierului inclus n mesaj. Fiecare tip MIME, asemenea asocierilor din registru, este asociat unuiprogram sau unei aciuni. Server-ul de Web caut lista pentru a gsi extensia corespunztoarefiierului cerut. Majoritatea server-elor care nu gsesc extensia ceruta trateaz problemapermind descrcarea fiierului n cauz pe client. Unele server-e au predefinite aciuni n cazuln care se cere un URL care nu are nume de fiier. Deseori, un fiier implicit, cu numeledefault.htm sau index.htm, va fi ntors. Numele fiierelor implicite de ntors este configurabil,la nivel de server sau, la nivel de director virtual.

    Server-ul poate trimite informaia cerut pe msur ce genereaz rspunsul sau l poate stocantr-un buffer pentru a-l trimite tot, ntr-o singur bucat, atunci cnd acesta este formulatcomplet. Rspunsul este format din dou pri: antetul (header) i corpul (body). Antetul conineinformaii legate de tipul rspunsului. Aici apar: codul rspunsului, tipul de MIME, data i oradup care rpunsul devine invalid, un URL pentru redirectare, orice valori de cookie (un ir decaractere pe care navigatorul l salveaz pe discul clientului) pe care server-ul dorete s lestocheze. Un cookie poate exista pe durata unei sesiuni de navigare, pn la o anumit dat deexpirare sau poate fi permanent. Navigatorul trimite server-ului un cookie asociat unui site pentrufiecare cerere ulterioar adresat pentru acel site.

    Modul n care clientul prelucreaz| r|spunsulClientul, deseori un navigator, trebuie s cunoasc tipul coninutului transmis ca rspuns de ctreserver. El citete tipul de MIME din antet pentru a determina tipul coninutului. La majoritatea

  • http://www.east.utcluj.ro/mb/mep/antal

    Universitatea Tehnica din Cluj-NapocaCatedra Mecanica si Programare

    Conf. Dr. Ing. ANTAL Tiberiu Alexandru

    28 - Dialogul client-server pe Web

    cererilor tipul de MIME este text/html sau image/gif, dar ar putea fi i fiier editor de texte,fiier video, fiier audio, o animaie sau orice alt tip de fiier. Asemenea server-ului, navigatorulfolosete i el registru i liste de tipuri de MIME pentru a determina modul de afiare a fiierului.Pentru HTML i imagini navigatorul va folosi motorul lui intern. Pentru alte tipuri de fiiere elva apela serviciile de interfaare cu aplicaiile sau plug-ins-urile care pot afia informaiile corect.Navigatorul va asigna toat fereastra lui sau o parte din ea aplicaiei sau plug-ins-ului pentru caaceasta s-i genereze coninutul. Atunci cnd corpul fiierului conine HTML navigatorul vaanaliza fiierul pentru a extrage marcajele din coninut. Apoi, marcajele vor fi folosite pentru adetermina modul de afiare a coninutului pe ecran. Noile fiierele HTML pot include mai multetipuri de coninuturi n plus faa de marcaje, text i imagini. Navigatorul le va trata pe fiecarediferit, n funcie de tip, dup cum urmeaz:

    Cascading Style Sheets (CSS) - CSS conin informaii despre modul de formatare adocumentului. Navigatoarele moderne folosesc CSS pentru specificarea culorilor,marginilor, vizibilitii, poziiei etc. elementelor de pe pagin.

    Script - toate navigatoarele moderne pot rula cod JavaScript, dei, deseori, nu-l ruleazn acelai mod. Termenul de JavaScript este folosit pentru secvent-ele de cod scrise nlimbajul de script JavaScript a lui Nestcape, dei el are dou variante n esen identice(aceeai sintax i suport), JScript a lui Microsoft i ECMAScript. n plus, fa deJScript, Internet Explorer permite programarea i n VBScript care este un subset a luiVisual Basic for Application (un subset a limbajului Visual Basic).

    Componente ActiveX sau Java Applets - acestea sunt programe mici care se ruleaz pecalculatorul clientului s-i nu pe server. Componentele ActiveX ruleaz numai pe InternetExplorer i sub Windows, n timp ce Java Applets ruleaz aproape pe toate navigatoarelei platformele.

    XML (eXtensible Markup Language) - este un limbaj asemntor cu HTML, ambele aumarcaje i coninut, fiind derivate din SMGL (Standard Generalized Markup Language).Marcajele HTML descriu modul de afiare a coninutului i ntr-o msura mai limitat,funciile coninutului. Marcajele XML descriu funciile coninutului. HTML este unlimbaj de formatare i afiare n timp ce XML este un limbaj pentru descriereaconinuturilor.

    Prelucrarea cererilor ASPO cerere de fiier ASP parcurge aceleai etape cu un fiier HTML obinuit pn cnd ajunge laserver. Mai departe ns server-ul va dirija cererea ctre motorul ASP n locul motorului implicitIIS. Motorul ASP va citi fiierul cerut fie de pe disc, fie din cache-ul server-ului de IIS dup careva analiza fiierul. Trei dintre etapele prelucrrii codului ASP de ctre server sunt importante dinpunctul de vedere al programatorului ASP:

    # motorul ASP va insera toate fiierele include. Aceste fiiere sunt separate de celcerut iniial i IIS poate insera coninutul lor n fiierul cerut. Dup inserare, IISprelucreaz fiierul ca i cnd fiierele inserate ar fi parte a celui cerut. Inserareafiierelor cu include se face nainte ca motorul ASP s prelucreze codul.

    # motorul ASP ncepe s interpreteze codul. Codul este prelucrat secvenial nordinea scrierii instruciunilor din fiier, cu excepia seciunilor marcate cuFunction sau Sub.

    # motorul ASP ntoarce rspunsul. Se poate controla dac rspunsul ntors de server

  • http://www.east.utcluj.ro/mb/mep/antal

    Universitatea Tehnica din Cluj-NapocaCatedra Mecanica si Programare

    Conf. Dr. Ing. ANTAL Tiberiu Alexandru

    Explicarea termenului de script 29

    este imediat (rspuns nebuffer-at) sau dac este stocat ntr-un ir pn cnd el estecomplet (rspuns buffer-at) prin setrile IIS.

    Navigatorul nu tie nimic despre tehnologia folosit de server pentru a rspunde cererii. Dinpunctul lui de vedere toate rspunsurile sunt iruri de caractere sau numere. Tipul de MIME dinrspuns determin modul n care navigatorul va trata irul.

    Ce este un Script? Terminologie

    # Limbaj main - reprezentarea unui program care poate fi citit i interpretat de uncalculator.

    # Limbaj de programare - un limbaj formal folosit pentru programarea calculatoarelor.Definiia unui limbaj particular se face prin sintax (modul n care simbolurile limbajuluipot fi combinate) i semantic (semnificaia construciilor din limbaj).

    # Compilator - un program care convertete un program dintr-un limbaj surs (sau limbajde programare) n limbaj main (cod obiect).

    # Interpretor - un program care ruleaz (execut) un alt program. Compilatorul nu ruleazprogramul de intrare (programul surs) ci l traduce n cod executabil al mainii. Acestcod constituie ieirea compilatorului (rezultatul compilrii), el fiind stocat ntr-un fiierde unde poate fi ulterior rulat. Acelai program surs poate fi rulat direct de un interpretorsau poate fi compilat, dup care codul rezultat va fi rulat. Un pro