Întrebări care vor fi la baza testului grilă și a subiectelor de la proba scrisă
Ce este Internetul?
Infrastructura Internet este o reţea de rețele care conectează calculatoare şi alte dispozitive electronice prin intermediul reţelelor de telecomunicaţii.
Care este modelul arhitectural folosit pentru comunicarea în Internet?
Comunicarea în Internet se realizează conform modelului TCP/IP (Transmission Control Protocol/Internet Protocol), organizat pe niveluri funcționale. (aplicatie, transport, internet, acces la retea)
-ISO/OSI (aplicatie, prezentare, sesiune, transport, retea, legatura de date, fizic)
3. Care sunt serviciile oferite prin Internet?
-poşta electronică;
− transferul de fişiere;
− chat;
− web;
− telefonie prin Internet (VoIP);
− distribuirea ştirilor prin RSS, Atom;
− video la comandă;
− radio şi televiziune prin Internet ;
− e-commerce etc.
Ce reprezintă web-ul?
Web-ul este unul dintre principalele modalităţi de accesare şi utilizarea a informaţiilor de pe Internet. • Web-ul este un model pentru partajarea informaţiilor din Internet.
• Diferența între web și Internet: web-ul este o colecție de site-uri și pagini web din lumea întreaga, iar Internet-ul include atât web-ul, cât și alte servicii.
La ce se referă noțiunea de tehnologii web?
Platformele software și tehnologiile utilizate pentru dezvoltarea aplicațiilor, site-urilor sau serviciilor web sunt denumite tehnologii web.
Exemple de tehnologii / limbaje web
˗ HTML (Hypertext Markup Language): folosit pentru a scrie pagini web
˗ CSS (Cascading Style Sheets): furnizează informații despre stilul paginilor web
˗ PHP (PHP: Hypertext Processor): limbaj de scripturi pentru crearea de pagini dinamice pe un server web
˗ JavaScript: pentru dezvoltarea de pagini web interactive
˗ XML (Extensible Markup Language): metalimbaj pentru organizarea datelor
˗ Ajax (Asynchronous JavaScript și XML): tehnică pentru crearea de pagini web dinamice și cu accesare rapidă
˗ SQL (Strucured Query Language): permite interacțiunea cu baze de date
Care sunt factorii critici de care a depins succesul web-ului?
1. link-uri nelimitate - din orice parte a Web-ului pentru oricare alta parte;
2. standarde tehnice deschide - bază pentru dezvoltarea continuă de noi aplicații;
3. separarea nivelurilor funcționale de reţea - permite inovarea independentă pentru transportul în reţea, rutare şi aplicaţii informatice.
8. Definiții pentru web
- World Wide Web este un sistem de documente hipertext interconectate, accesate prin intermediul Internetului.
- O definiţie mai largă pentru Web este dată de organizaţia W3C (World Wide Web Consortium) - la fondarea căreia inventatorul Tim Berners-Lee și-a adus contribuția: "World Wide Web este universul informaţiilor accesibile prin reţea, o întruchipare a cunoaşterii umane."
- O definiție tehnică pentru Web: toate resursele şi utilizatorii de pe Internet care folosesc HTTP (Hypertext Transfer Protocol) .
- World Wide Web este o reţea de calculatoare la nivel mondial pentru comunicarea de documente care includ text, grafică, sunet etc. și link-uri hypertext (Random House Word Menu).
- World Wide Web este − o colecţie de pagini Web scrise, în varianta cea mai simplă, în formatul standard HTML (HyperText Markup Language) − legate de alte pagini prin utilizarea standardului URI (Uniform Resource Identifier) şi − accesate prin Internet folosind protocolul de reţea HTTP .
9. Elementele de bază ale serviciului web .
• HTML (HyperText Markup Language) - permite crearea documentelor hipertext/hipermedia.
• URL (Universal Resource Locators) - permite identificarea resurselor din Internet [URI (Universal Resource Identifier) – identificarea prin tip şi poziţie a unei resurse aflată oriunde în Internet. Mulţimea adreselor URI cuprinde adresele URL şi adresele URN (Universal Resource Name). URN schema prin care resursele sunt identificate în mod unic.
• HTTP (HyperText Transfer Protocol) - permite comunicarea între serverul şi navigatorul Web; 23 E
10. Care sunt etapele de dezvoltare web?
− web 1.0 se referă la conectarea și obţinerea de informaţii de pe net (web sintactic);
− web 2.0 se referă la conectarea utilizatorilor (web social);
− web 3.0 se referă la sensurile reprezentării, conectarea de cunoştinţe şi punerea acestora să lucreze în așa fel încât experiența din internet să devină mult mai relevantă, utilă şi plăcută (web semantic).
− web 4.0: web inteligent (va fi era agenților inteligenți)!
11. Ce ințelegeți prin hipertext/hipermedia ?
• Hipertext este tehnica de organizare a bazelor de date sau a documentelor pentru a facilita regăsirea în mod nesecvențial a informaţiilor. Informaţiile sunt conectate prin legături prestabilite sau create de utilizator.
• În prezentările multimedia, datele legate pot fi în format text, grafic, audio sau video. Când mai multe formate de date sunt legate între ele, tehnica este denumită hipermedia.
• Web este sistemul hipermedia propus de către Tim Berners-Lee în 1990.
12. Ce este specific fiecărei etape web (web 1.0, web 2.0, web 3.0)?
Succesul Web 1.0 a avut la bază trei principii simple:
− O schemă de adresare simplă şi uniformă pentru identificarea resurselor în Internet (Uniform Resource Identifiers - URIs); cel mai utilizat format de URI este URL (Uniform Resource Locator) .
− Un formalism de reprezentare simplu şi uniform pentru structurarea informaţiilor care vor fi prezentate prin intermediul navigatoarelor (HyperText Markup Language - HTML).
− Un protocol simplu şi uniform pentru accesarea informaţiilor (HyperText Transfer Protocol - HTTP).
• "Web 2.0" (2000-2010?) este termenul popular pentru tehnologia Internet şi aplicaţiile avansate.
• Web 2.0 este frecvent asociat cu aplicații web care facilitează interactivitatea pentru partajarea informației, interoperabilitatea, proiectarea centrată pe utilizator şi colaborarea prin World Wide Web.
• Site-urile Web 2.0 includ comunităţile web de tipul:
− servicii de găzduire;
− aplicații web;
− site-uri pentru rețele sociale;
− site-uri pentru partajări video;
− Wiki;
− blog-uri;
− mashup-uri;
Infrastructura:
• Standarde - XML, HTML, CSS, SOAP, REST, Atom, RSS, BitTorrent, HTTP, SMTP, FTP, SMS-uri, VoIP etc.;
• Instrumente - LAMP, JavaScript, Java, Visual Studio, Eclipse, etc.
• Media - video streaming, podcast-uri, vcast, jocuri electronice, TV interactiv, Microsoft IP TV, Microsoft Media Center
• Runtime - mediu de hosting, servere, desktop-uri, browsere, clienți, dispozitive mobile, Microsoft Xbox, Sony Playstation, Nintendo Wii, Adobe AIR, Microsoft Silverlight etc.
• Rețele - Internet, Wi-Fi, VPN, WAN, wireless LAN, DSL etc. 45 Web 2.0 ca platformă
Fundația (baza pe care se fac aplicaţii)
• Utilități - Amazon EC2, ProgrammableWeb, etc
• Data - Amazon S3, Google Base, Microsoft Astoria, etc
• Depozitare/Stocare - Google GDrive, Windows Live SkyDrive, xDrive, DriveHQ, Box.net, Elephant Drive etc.
• Mesagerie - Amazon SQS, Microsoft BizTalk Services etc.
• Identitate - Windows Live ID, Google Accounts, Yahoo! Accounts, OpenID, etc
Caracteristici majore ale web 2.
− Reduce diferența între consumatori şi furnizorii de conţinut;
− Trecerea de la mass-media pentru persoane fizice la mass-media pentru comunităţi;
− Reduce diferența dintre consumatorii şi furnizorii de servicii;
− Integrarea dintre personalul uman și calculatoare într-o manieră nouă şi inovatoare.
Caracteristici web 3.
Caracteristici:
• Legături arbitrare între lucruri (de exemplu, persoane, locații, evenimente etc.)
• Structurile datelor din paginile web sunt explicite
• Lucrurile descrise în paginile web sunt denumite şi au URI
• Legăturile dintre lucruri sunt explicite
13. Care este modelul de comunicare în serviciul web?
• Comunicarea în serviciul web se realizează conform modelului client-server.
• Clientul este definit ca agentul care cere informații, iar server-ul este agentul care răspunde cererii.
14. Care este rolul agentului-utilizator (browserului)?
Un agent-utilizator poate fi orice, de la un browser web la unele tipuri de motoare de căutare.
Un agent-utilizator poate fi orice, de la un browser web la unele tipuri de motoare de căutare automate, care lucrează în numele unui alt agent.automate, care lucrează în numele unui alt agent.
15. Exemple de browsere (inclusiv pentru dispozitive mobile)
• Google Chrome: https://www.google.com/chrome/ (cel mai utilizat browser în prezent - 2017)
• Microsoft Explorer: http://www.microsoft.com/ (Windows şi unele versiuni pentru Mac)
• Mozilla: http://www.mozilla.com/ (Windows, Linux şi Mac)
• Firefox dezvoltat din Mozilla (Windows, Linux şi Mac)
• Netscape Navigator: http://home.netscape.com/
• Opera: http://www.opera.com/support/ 7 Browse
Navigatoare web utilizate pe dispozitive mobile
-Opera Mobile
- Opera Mini (http://www.opera.com/) este un browser web proiectat inițial pentru telefoane mobile, smartphone-uri şi PDA-uri care au capacitatea de a executa aplicații Java - se utilizează pe platformă Java.
• Skyfire (http://www.skyfire.com/) este un navigator web mobil utilizat sub sistemele de operare Windows Mobile, Google Android și Symbian S60.
• Mobile Safari (http://www.apple.com/iphone/features/safari.html) este un browser web dezvoltat de Apple și destinat dispozitivelor mobile pe care se execută sistemul de operare iPhone.
• Google Android (http://www.android.com/) este o platformă mobilă care include mai multe functionalități: sistem de operare mobil, mașina virtuală Dalvik optimizată pentru terminale mobile; framework de dezvoltare; browser Web; librărie grafică, conține funcții pentru grafica 2D și 3D; suport pentru aplicații multimedia; suport GSM, 3G, EDGE (Enhanced Data rates for GSM Evolution), Bluetooth și WiFi etc.
• Internet Explorer Mobile sau IE Mobile (http://www.microsoft.com/windowsmobile/enus/meet/applications/internet-explorer-mobile.mspx) este un navigator mobil dezvoltat de Microsoft și este încărcat în mod implicit cu Windows Mobile si Windows CE pe Handheld PC.
• Firefox Mobile (http://www.mozilla.com/en-US/mobile/) este numele dat de dezvoltator browser-ului Mozilla Firefox utilizat pentru dispozitivele ARM (Acorn RISC Machine), cum ar fi telefoanele mobile şi PDA-uri .
• Bolt (http://boltbrowser.com/home.html) este un navigator web pentru telefoanele mobile conținând facilități care se pot executa pe platformă Java.
• Teashark (http://teashark.en.softonic.com/java) este un navigator web pentru telefoanele mobile care operează în mediul Java.
16. Arhitectura de referință a unui browser
Arhitectura de referință a unui browser web include:
• Componenta interfață utilizator (User Interface) oferă metodele prin care un utilizator interacționează cu motorul de navigare (Browser Engine). Interfața utilizator oferă facilități standard, cum ar fi bara de instrumente, preferințe, tipărire, descărcări.
• Componenta motorul de navigare oferă o interfață la nivel înalt pentru motorul de redare (Rendering Engine). Motorul de navigare furnizează metodele pentru inițializarea încărcării de la un URL și alte acțiuni de navigare (reîncărcare, înapoi, înainte). În plus, motorul de navigare furnizează interfeței utilizator diverse mesaje cu privire la mesajele de eroare și modul de încărcare.
• Componenta motorul de redare realizează reprezentarea vizuală a paginii preluată de la URL-ul dat. Motorul de redare are capacitatea să interpreteze și să afișeze în interfața utilizator documente HTML, XML și opțional stilurile CSS, conținut încorporat în pagina specificată, cum ar fi imagini, scripturi JavaScript. O componentă-cheie a motorului de redare este parser-ul HTML.
• Componenta de rețea (Networking) furnizează funcționalitățile care se ocupă cu preluarea datelor de la URL-ul specificat, în general, prin utilizarea protocoalelor HTTP și FTP. Această componentă se referă la toate aspectele legate de comunicarea şi securitatea în Internet, translatarea setului de caractere şi rezolvarea tipului MIME (Multipurpose Internet Mail Extensions). Componenta de rețea poate implementa o memorie cache pentru regăsirea documentelor accesate recent, în vederea minimizării traficului în rețea.
• Interpretorul JavaScript (JavaScript Interpreter) evaluează codul JavaScript (cunoscut ca ECMAScript) care poate fi încorporat în paginile web. Rezultatele execuţiei sunt transmise motorului de redare pentru afişare. Motorul de redare poate dezactiva diverse acțiuni pe baza proprietăților definite de utilizator.
• Parser-ul XML (XML Parser) este componenta folosită pentru a analiza documentelor XML.
• Componenta de afișare backend (Display Backend) este dependentă de sistemul de operare și prevede primitivele pentru desenare şi delimitare a zonelor de ecran (ferestre), widget-uri pentru interfaţa cu utilizatorul și fonturi.
• Componenta date persistente (Data Persistence) stochează pe disc diferite date asociate sesiunii de navigare, inclusiv semne de carte, cookie-uri şi cache.
17. Ce este un plug-in/helper?
Un browser web poate apela la:
• Helper – program local pentru afişarea informaţiei dintr-un alt format decât text sau imagini simple. De exemplu, dacă fişierul receptionat de pe un server Web are antetul MIME application/zip va apela programul winzip.
• Plug-in - program ce poate fi simplu instalat și utilizat în vederea extinderii facilităţilor altui program sau aplicaţie. Exemple: Adobe Acrobat Reader (pentru fșiere .pdf), Java Virtual Machine (pentru execuția apple-urilor Java), Adobe Flash Player (pentru execuția filmelor de animație .swf și video de pe YouTube) etc.
18. Ce reprezintă un server web?
• Serverul Web reprezintă un program/software care furnizează conţinut, cum ar fi pagini web, folosind HTTP (Hypertext Transfer Protocol).
• Termenul de server de web poate fi utilizat, de asemenea, pentru calculatorul sau maşina virtuală pe care rulează programul/software-ul.
19. Exemple de servere web :
• Cele mai cunoscute/folosite servere web sunt:
− Apache (http://www.apache.org/) - cel mai popular server Web, complet configurabil și disponibil pentru sistemele de operare Unix, Linux, Solaris, Windows, MacOS și multe altele.
− Nginx [pronunțat engine x] (http://nginx.org/en/) este un reverse proxy server pentru protocoalele HTTP, HTTPS, SMTP, POP3 și IMAP și un server web lansat în 2002. Rulează pe sistemele de operare Linux, Solaris, AIX, Mac OS, Windows.
− IIS - Internet Information Services (http://www.iis.net/) este serverul web pentru sistemele de operare Microsoft Windows.
20. Arhitectura unui server web .
21. Criterii pentru selectarea unui server web .
• Selectarea serverului Web este una dintre cele mai importante decizii - acesta va găzdui pagini și aplicaţii Web.
• Pentru alegerea serverului web se va ține cont de:
˗ cost
˗ suport
˗ capabilități
• Costul și suportultind să fie dependente. Dacă se alege un server web, deoarece este open source, pot exista costuri ascunse asociate cu întreținerea. Multe companii open-source percep o taxă pentru asigurarea unui suport profesional. 33 Server Web
• Capabilitățile solicitate pot determina alegerea serverului de web.
• Unul din principalele criterii pentru selectarea unui server web îl reprezintă sistemul de operare acceptat.
• Apoi, se va avea în vedere asocierea serverului și a sistemului de operare cu sistemul pentru managementul bazei de date și cu mediul de programare. Există soluții la pachet (solution stack) pentru dezvoltarea site-urilor web dinamice și a aplicațiilor web, cum ar fi: ˗ LAMP: Linux, Apache, MySQL Server și PHP ˗ WIMP: Windows, IIS, MySQL/MS SQL Server și PHP ˗ WAMP: Windows, Apache, MySQL/MS SQL Server și PHP ˗ LEMP: Linux, NGINX (pronunțat Engine x), MySQL și PHP.
La alegerea serverului Web se va ţine cont de unele facilități, cum ar fi:
• obținerea de performanţă prin: uşurinţa de utilizare, stabilitatea în funcționare, mediul de programare, suportul tehnic
• modul de administrare: − interfaţă utilizator grafică − instrumente pentru măsurarea performanţelor şi întreţinerea de la distanţă
• elementele suplimentare de comunicare: − hosturi virtuale: acceptă găzduirea mai multor site-uri web independente pe aceeaşi maşină; − servicii de proxy: poate procesa cererile pentru URL-uri de pe maşinile de la distanţă − suport pentru alte protocoale decât HTTP: FTP, TELNET etc.
• suportul pentru securitate: − controlul accesului: diferite niveluri de prioritate − administrarea parolelor de acces și criptarea SSL (Secure Sockets Layer)
22. Ce este un host virtual?
• Conceptul de host virtual, în cazul serviciului Web, se referă la practica de întreţinere a mai multor domenii pe un singur server. Găzduirea de host virtual poate include asistenţă pentru înregistrarea numelor de domeniu, alegerea adreselor de e-mail etc.
23. Ce este un server proxy? Care este rolul unui server proxy?
• Un server proxy este situat între o aplicaţie client, cum ar fi un navigator web, şi un server web. Server-ul proxy reprezintă software-ul care rulează pe un calculator şi acţionează ca o barieră între o reţea şi Internet, prezentând o singură adresă de reţea spre exterior.
• Un server proxy poate fi folosit pentru monitorizarea şi filtrarea cererilor trimise şi recepţionate sau ca un singur punct de acces pentru comunicaţiile cu alte reţele.
• Proxy poate include facilităţi de securitate suplimentare, cum ar fi:
− criptarea paginilor web
− protecţia faţă de cookies
− ştergerea scripturilor şi a altor coduri executabile (ActiveX, Java etc.) încapsulate în paginile web şi e-mail
24. Care este protocolul care asigură comunicarea între server web si browser?
• Navigatoarele şi serverele Web comunică prin protocolul HTTP.
25. Prin ce se caracterizează HTTP?
• Caracteristici ale HTTP:
− funcţionează după modelul cerere/răspuns
− utilizează TCP ca protocol al nivelului transport
− transfer bidirecţional
− capacitate de negociere (codificare, setul de caractere, limba)
− suport pentru intermediere
26. Cum operează HTTP?
• Modul de operare a protocolului HTTP
− clientul deschide o conexiune la serverul HTTP (port 80, în mod obişnuit)
− clientul generează comanda prin emiterea unei cereri către server
− serverul răspunde şi închide conexiunea (HTTP 1.0 închide conexiunea după transferul fişierului, HTTP 1.1 păstrează conexiunea deschisă pentru mai multe cereri).
27. Ce conține o cerere/răspuns HTTP?
Cererea clientului conţine:
• metoda folosită indică tipul cererii către resursă. Metodele posibile sunt:
o GET/ POST – returnează conţinutul documentului indicat,
o HEAD – returnează numai antetul documentului,
o PUT- înlocuieşte conţinutul unui document cu datele trimise,
o DELETE- şterge documentul indicat
• calea[/fișier] este în general o parte a URL-ului;
• protocolul specifică protocolul folosit, în general HTTP, și versiunea (1.1);
• antetul unei cereri HTTP conține informații de forma “nume: valoare" (de exemplu: User-Agent oferă informaţii despre browser, Accept-Encoding spune serverului că browser-ul poate accepta conținut comprimat, cum ar fi gzip);
• linie goală
• datele trimise de client (pentru metodele POST sau PUT)
Răspunsul serverului include:
− versiunea protocolului HTTP,
− Starea codului se specifică prin trei cifre: o 100 - 200 erori informaționale o 200-299: tranzacţie încheiată cu succes o 300-399: documentul a fost mutat o 400-499: eroari ale utilizatorului, 404 Not Found o 500-599: eroare pe serverul web
− antet: lungimea fişerului, tipul conţinutului (tipul şi subtipul MIME), ultima modificare, data de expirare etc.
− linie goală
− datele documentului
28. Care este rolul unui URI/URL/URN?
• URI (Uniform Resource Identifier) oferă o modalitate simplă şi extensibilă pentru identificarea resurselor printr-un şir de caractere. O astfel de identificare permite interacţiunea cu reprezentările resurselor dintr-o reţea (de obicei, World Wide Web), prin folosirea unor protocoale specifice. • Un URI poate fi considerat ca un localizator, un nume sau ambele.
• URN (Uniform Resource Name) - identifică o resursă prin nume (schema pentru nume). De exemplu, identificatorul pentru carte: urn:isbn: 973-600-630-5
• URL (Uniform Resource Locator) - localizează o resursă.
29. Care este sintaxa unui URI/URL? Exemple
- URI se poate reprezenta prin diverse scheme și componente sintactice, exemple: ftp://ftp14.freebsd.org/pub/FreeBSD/
http://www.ietf.org/rfc/rfc2396.txt
ldap://[2001:db8::7]/c=GB?objectClass?one
mailto:
[email protected]
news:comp.infosystems.www.servers.unix
• Sintaxa generică a URI constă într-o secvenţă ierarhică a componentelor: scheme, authority, path, query, fragment.
• Sintaxa pentru autority este:
authority = [ userinfo "@" ] host [ ":" port ]
− userinfo - nume utilizator
− host = adresa_IPv6 / adresa_IPv4 / nume
− port - valoarea zecimală a portului asociată unui serviciu
• Componenta path conţine date, de obicei, organizate în formă ierarhică
• Query serveşte la identificarea unui resurse în domeniul de aplicare a schemei URI şi a autorităţii denumite (dacă este cazul).
• Componenta fragment permite identificarea indirectă a unei resurse secundare prin referirea la resursa primară și informații suplimentare.
30. Ce este o pagină web?
• O pagină web este un document care conține, în forma cea mai simplă, texte delimitate de tag-uri ale elementelor HTML (Hypertext Markup Language).
31. Ce conține o pagină web în forma cea mai simplă?
Texte delimitate de tag-uri ale elementelor HTML (Hypertext Markup Language).
32. Ce reprezintă un site web?
Un site Web este o locaţie într-o o reţea de calculatore unde se stochează informaţie sub forma unor pagini sau documente, acestea fiind disponibile vizitatorilor printr-un navigator.
• Un site web este o colecţie de pagini web, imagini, videoclipuri sau alte active digitale care sunt adresate prin URL.
• Un site web este găzduit pe un server web, accesibile prin intermediul unei reţele, cum ar fi Internet sau o reţea privată locală.
33. Care este structura unui site web?
34. Criterii de clasificare a site-urilor web
1. Modul de prezentare a conținutului:
-- static – site-ul prezintă anumite informații în format HTML.
-- dinamic – informația poate fi reactualizată. De obicei, site-ul este în legătură permanentă cu o bază de date. Pentru realizarea site-urilor dinamice sunt implicate o serie de tehnologii, precum: PHP, JSP (Java Server Pages), limbajul de programare Perl, ASP (Active Server Pages), CFML (ColdFusion) etc. Site-urile pot include conținut preluat din diverse baze de date (Access, Oracle, MySQL etc.) sau prin utilizarea tehnologiilor bazate pe XML (Extensible Markup Language), cum este RSS (Really Simple Syndication).
2. Dacă se are în vedere scopul, un site web poate fi:
--site web personal
-- site web comercial
--site web guvernamental
--site web al unei organizații non-profit
Site-uri specializate pe un anumit tip de conținut și utilizare:
-- motor de căutare: un site care oferă informaţii generale şi este conceput ca un gateway (poartă) sau instrument de căutare pentru alte site-uri. De exemplu, Google şi site-urile bine-cunoscute Yahoo! Search, Bing (search engine), AltaVista etc.;
-- Anuar web: Google director, Open Directory Project (Dmoz - Directory.Mozilla), Yahoo!, Prestigium.com;
Site-uri specializate pe un anumit tip de conţinut şi utilizare:
-- Site-uri comerciale (Amazon.com, eBay, Kelkoo, emag etc.)
--Partajare video: un site care permite utilizatorilor încărcarea de fişiere video în vederea partajării lor, cum ar fi YouTube şi Google Video
-- Mesagerie electronică (Hotmail, Gmail, Yahoo!)
-- Radio internet (Radio-France, Radio-Canada, BBC )
-- Forum (gaia online, d2jsp, Bravenet )
--Wiki (Wikipedia)
-- ...
Dacă se consideră subiectul (tema), site-ul poate fi:
-- Blog;
-- portal web;
-- catalog web;
-- magazin/mall virtual;
-- bancă virtuală;
-- universitate virtuală;
-- bibliotecă/ enciclopedie virtuală,
-- revistă/ziar web
-- ziar web etc.
35. Care sunt tehnologiile web utilizate pentru realizarea de conținut dinamic pe partea de client/server?
Conţinutul documentelor poate fi:
• Static (HTML, XML)
• Dinamic
-- Conţinut dinamic pe partea clientului este generat prin: JavaScript, applet-uri Java, CSS (Cascading Style Sheets), Flash ActionScript
-- Conţinut dinamic pe partea severului este generat prin: CGI (Common Gateway Interface), ASP (Active Server Pages), PHP, Servlets, JSP (Java Server Pages)
36. Care este rolul unui motor de căutare? Dați exemple de motoare de căutare.
• Motoarele de căutare sunt site-uri web specializate, create pentru a ajuta utilizatorii să găsească informații stocate în alte site-uri.
Motoare de căutare din România (listă selectivă):
www.google.ro
www.resurse.com
www.gofind.ro
www.murfi.ro
www.rosearch.ro
www.kut.ro
www.genium.ro
www.2k.ro
www.cmag.ro
cauta.siteweb.ro
www.kompass.com
www.cautari.ro
Motoare de căutare din străinătate (listă selectivă):
www.google.com
www.yahoo.com
www.msn.com
www.altavista.com
www.aol.com
www.ask.com
www.lycos.com
www.clusty.com
www.a9.com
www.wisenut.com
www.gigablast.com
www.metacrawler.com
www.mamma.com
37. Care sunt sarcinile de bază ale unui motor de căutare?
• Sarcinile de bază ale motoarelor de căutare sunt:
-- caută pe Internet pe baza cuvintelor-cheie;
-- rețin un index al cuvintelor pe care le găsesc și a localizării acestora;
38. Ce este specific unui director de căutare?
• Directoarele (cataloagele) de căutare, denumite şi anuare sau index
- fac o recenzie a resurselor informaţionale Internet, clasificându-le pe teme. Fiecare temă este divizată în subteme, din ce în ce mai precise (structură arborescentă). Căutarea se face pe niveluri succesive sau prin utilizarea cuvintelor-cheie. De exemplu, Gooogle director (http://www.google.com/dirhp).
39. Ce este un portal/blog?
• Portalul este un site Web care are rolul unei porţi către Internet şi oferă o gamă diversă de servicii şi resurse, cum ar fi: motor de căutare, zonă de ştiri, acces în magazinele virtuale, informaţii de referinţă şi o serie de posibilităţi de comunicare – forum de discuţii, e-mail, cutie poştală etc.
• Blog (prescurtare a termenului Weblog) − site Web administrat individual; − jurnal online, de obicei, accesibil tuturor (totuși, drepturile de acces pot fi stabilite de blogger).
40. Faceți o scurtă clasificare a blog-urilor?
Clasificarea blogurilor (după rol):
• Pagină personală: bloggerul utilizează blogul pe post de jurnal, fiind prezentate aspecte din viaţa personală a bloggerului
– de exemplu, familia sa, domeniile sale de interes
– politică, sport, religie etc.
• Pagină pentru afaceri: bloggerul utilizează puterea blogului pentru a-şi promova produsele sau serviciile oferite pe Internet.
− blogurile sunt instrumente de promovare şi marketing foarte eficiente şi acest tip de blog oferă de obicei informaţii utile cititorilor/consumatorilor prin rapoartele şi articolele despre produse.
− blogurile oferă un feedback care vor ajuta companiile să se dezvolte.
− site-urile web actualizate în mod regulat sunt preferate de motoarele de căutare (cum sunt Google, Yahoo! şi MSN).
• Blog pentru informare în masă/jurnalism se utilizează din ce în ce mai mult. Cele mai cunoscute canale de ştiri, cum ar fi Fox, MSNBC şi CNN au adăugat bloguri site-urilor lor pentru a oferi informaţii despre evenimente curente, politică, ştiri regionale, naţionale şi la nivel internaţional.
• Blog pentru informare în masă cu implicarea directă a cetăţenilor sunt blogurile care dau posibilitatea oamenilor de a se implica în analiza ştirilor şi a informaţiilor la nivel naţional şi internaţional.
• Blog profesional - categorie de bloguri care este în continuă dezvoltare, bloggerii sunt angajaţi pentru a scrie despre un domeniu/produs anume. Astfel, serviciile de publicitate s-au extins spre bloguri.
41. Care sunt principalele funcționalități ale unui site de comert electronic?
• creare website
• vizualizare catalog de produse/servicii
• coş de cumpărături (shopping cart)
• procesare cărţi de credit
• suport pentru mai multe limbi străine (Multi-Lingual)
• suport pentru monede mutiple (Multi-Currency)
Funcţionalităţi `backend` (partea de administrare)
• administrare de la distanţă
• catalog de produse gestionat prin baza de date
• editare produse
• editare clienţi
• descrierea caracteristicilor pentru produse, inclusiv posibilitatea de imagini multiple pentru un produs
• managementul conţinutului pentru paginile de informaţii
• posibilitatea de contact cu clientul prin email sau newsletter
• backup şi restaurare a bazei de date
• statistici pentru produse şi clienţi
• suport banner-e statice şi dinamice
• configurare preţuri pe grupe de clienţi
• înregistrare comenzi în baza de date
• inventar (gestionarea inventarului stocului în timp real)
Funcţionalităţi `frontend` (partea de client):
• istoricul şi starea pentru comenzile clienţilor
• căutare după diferite caracteristici ale produselor
• permite clientului să scrie recenzii pentru produse
• suport email / newsletter (clientul poate subscrie să primească informaţii despre anumite produse) • forum suport client (phpBB forum integrat)
Funcţionalităţi privind comanda / tranzacţia / livrarea
• suport SSL - securitatea tranzacţiei prin Secure Socket Layer
• acceptă mai multe modalităţi de plată online (PayPal, 2CheckOut, iPayment etc.
• acceptă mai multe modalităţi de plată offline (cecuri etc.)
• prezentarea cheltuielilor de livrare înainte de finalizarea comenzii
• posibilitate de aplicare de taxe diferite pentru produse diferite
• posibilitate de `free shipping` (livrare gratuită)
42. Care sunt etapele pentru realizarea unui site web?
Etapele realizării unui site web
• Planificarea site-ului
-- stabilirea audienţei
-- stabilirea scopului
--definirea obiectivelor
--colectarea informaţiilor despre subiectul prezentat
-- stabilirea specificaţiilor: structura (conţinutul datelor), conținutul (paginile incluse în site) şi funcţionalitatea paginilor web (legăturile între pagini)
-- stabilirea modului de prezentare: realizarea şablonului grafic, a logoului şi a primelor texte de continut.
• Proiectare/implementare/testare
• Gazduirea - publicarea paginilor web pe internet
• Promovarea - înscriere în directoare și motoare de căutare
43. Sintaxa unui element HTML (elemente, atribute HTML)
• Fiecare element HTML, în general, conţine trei părţi:
− tagul de început;
− conţinutul;
− tagul de sfârşit.
44. Recunoașterea elementelor pentru structura documentului HTML, aranjarea în pagină şi formatarea documentelor, liste, legături hipertext, includerea imaginilor în document, formulare, tabele, imagini reactive.
45. Elemente specifice HTML5
HTML 5 include:
• Elemente multimedia
• Elemente structurale
• Elemente semantice
• Tipuri noi de relaţii pentru link-uri
• Atribute pentru elementele HTML 5
• Tipuri noi de formulare
• Formatul microdata utilizat pentru a da un înţeles textului
46. Ce sunt foile de stil?
--- Cascading Style Sheets (CSS) este utilizat pentru a defini și controla prezentarea paginile web.
--- CSS este un limbaj pentru descrierea modului în care elementele Web (HTML, XML) sunt prezentate utilizatorului.
47. Care sunt avantajele utilizării foilor de stil?
•CSS economisește timp – o foaie de stil CSS se scrie o singură dată și se poate utiliza pentru mai multe pagini HTML.
• Încărcarea mai rapidă a paginilor - dacă se utilizează CSS nu este nevoie să se adauge atribute elementelor HTML de fiecare dată. Se scrie o singură regulă CSS pentru un tip de tag, care se va aplica pentru toate aparițiile tag-ului. Deci, va fi mai puțin cod, ceea ce înseamnă o descărcare mai rapidă a paginilor web.
• Întreținere ușoară - pentru a face o schimbare totală a prezentării, se va schimba pur și simplu stilul, toate elementele din toate paginile web vor fi actualizate în mod automat.
• Stiluri superioare pentru HTML - CSS are o gamă mult mai largă de facilități de prezentare decât HTML, astfel încât se obține un aspect mult mai atractiv pentru paginile HTML.
• Compatibilitate pentru multiple dispozitive - foile de stil CSS permit adaptarea conținutului pentru mai multe tipuri de dispozitive. Prin utilizarea acelorași documente HTML, versiuni diferite ale unui site web pot fi prezentate pentru dispozitive portabile, cum ar fi PDA-uri si telefoane mobile sau pentru imprimare.
• Standarde web globale – în prezent, atributele HTML încep să nu mai fie folosite (sunt depreciate) și se recomandată utilizarea stilurilor CSS.
48. Cum se includ stilurile CSS într-o pagină HTML?
• utilizarea elementului 'LINK' pentru a face legătura către o foaie de stil externă;
• declararea unor reguli de stil prin elementul 'STYLE' în cadrul tag-ului 'HEAD';
• asocierea atributului 'STYLE' unui element din corpul documentului ('BODY').
• utilizarea directivei '@import‘ care permite utilizatorilor să importe reguli de stil din alte foi de stil; '@import‘ trebuie să preceadă orice altă declarație de stil.
Sintaxa generală este:
Ex: @import “stil.css”
@import url(“stil.css”)
49. Ce conține o foaie de stil CSS?
O foaie de stil conţine un set de reguli şi, opţional, comentarii. Fiecare regulă de stil CSS este compusă din:
• selector (în exemplul anterior: 'H1') care indică elementul sau elementele asupra cărora acţionează regula;
• blocul declaraţilor ('color: red') care descrie condiţiile de redare fizică a elementului specificat, fiind limitat de acolade.
Comentariile CSS furnizează unele informaţii celor care studiază codul sursă şi sunt ignorate de navigator. Un comentariu CSS începe cu "/*" şi se încheie cu "*/".
50. Care este sintaxa generală a unei regului de stil CSS?
Selector {
propr1:val1; --------- proprietatea: valoarea, blocul pentru declaratii
propr2: val2;
}
51. Utilizarea elementului STYLE/ LINK
Specificaţiile oferite prin elementul LINK sunt:
• tipul legăturii: către un "stylesheet";
• identificarea fişierului care include regulile de stil, prin atributul "href".
• tipul MIME (Multipurpose Internet Mail Extension) al foii de stil care va fi asociat: "text/css".
52. Utilizarea atributului style
Sintaxa atributului style este: style="proprietate1:valoare1[; proprietate2:valoare2]“
Exemplu:
< p style="font-size: 12pt; color: red">
Numai acestui text se adresează informaţia de stil
</p>
53. Care este extensia unui fișier foaie de stil CSS?
O foaie de stil externă poate fi scrisă cu orice editor de texte, nu va include nici un tag HTML şi va fi salvată cu extensia .css.
54. Notații pentru selector
* - Selectează toate elementele documentului
E - Selectează toate elementele de tip E
E F - Selectează toate elementele de tip F care sunt descendente ale unui element de tip E
E > F - Selectează toate elementele de tip F care sunt fii ai unui element de tip E
E:first-child - Selectează elementul de tip E dacă acesta este primul fiu al părintelui său
E#myid - Selectează elementul de tip E al cărui ID este "myid".
55. Utilizarea atributului class/ID ca selector
Pseudo-clasele sunt utilizate în CSS pentru a adăuga diferite efecte unor selectori sau unei părţi dintre aceştia.
Sintaxa pentru o pseudo-clasă este: selector:pseudo-clasă {proprietate: valoare}
Clasele CSS pot fi utilizate în combinaţie cu pseudo-clase: selector.clasă:pseudo-clasă {proprietate: valoare}
56. Modelul casetelor: content, padding, border, margine
57. Proprietăţi pentru background, text, liste
Proprietatea background-attachment (imaginea rămâne fixă în timp ce textul poate defila)
58. Pentru ce se utilizează JavaScript pe partea de client?
JavaScript pe partea de client se utilizează pentru:
− Meniuri de navigare;
− Validarea câmpurilor formularelor;
− Ferestre popup;
− Protejarea parolei;
− Funcții matematice;
− Efecte speciale asupra documentului și fundalului;
− Manipulare barei de stare;
− Mesaje;
− Efecte la deplasarea mouse-ului;
− Link-uri.
59. Metode pentru a include JavaScript în pagini HTML
− prin utilizarea tag-lui în antetul sau/și în corpul documentului HTML ;
− prin utilizarea noilor atribute, ale elementelor HTML, pentru gestiunea evenimentelor;
− prin utilizarea pseudo-protocolului JavaScript într-un URL.
60. Sintaxa generală a elementului < SCRIPT >
< SCRIPT type="text/javascript“ src=URI/URL> code JavaScript
• type: specifică tipul MIME pentru script. Atributul este cerut în HTML4, dar este opţional în HTML5 . Valorile obișnuite sunt: − text/javascript (implicit) − text/ecmascript − application/ecmascript − application/javascript − text/vbscript
• src: specifică URI-ul/URL-ul unui fișier script extern.
61. Ce este un eveniment HTML? Dar un gestionar de evenimente? Exemple
− Un eveniment HTML este, la modul cel mai simplu, o acţiune care se produce în raport cu un element, fiind generată de utilizator (trecerea mouse-ului pe deasupra unui obiect, un clic pe un obiect, încărcarea unei pagini web, încărcarea unei imagini, modificarea unui câmp dintr-un formular, trimiterea unui formular...);
− un gestionar de evenimente (event handler) se declară ca un atribut al unui element care poate declanşa evenimentul. Pentru valoarea atributului gestionar de evenimente se asociază un cod JavaScript: <a HREF=… gestionar_eveniment=“cod JavaScript” >text de legătură< /a>
− De obicei, gestionarului de evenimente se asociază o funcţie JavaScript.
Exemple de evenimente:
• Click: click pe un obiect (document, link, buton, checkbox, buton radio, buton reset sau submit)
• MouseOver: mouse-ul deasupra unui link sau unei imagini
• MouseOut: mouse-ul este în afara unui hiperlink sau imagine
• MouseMove: mouse-ul se deplasează
• MouseDown: unul din butoanele mouse-ului se tine apasat, pe un document, buton sau link
• MouseUp: unul din butoanele mouse-ului se eliberează
• Abort: încărcarea unui obiect este întreruptă
• Blur: un element nu este activat
• Change: valoarea unui element este modificată
• Focus: un element este activat (casetă password/ text/..)
• Load : un document sau o imagine se încarcă
----- Gestionarul de evenimente se definește prin adăugarea prefixului on la numele evenimentului și acționează în funcție de context:
− onMouseOver: când mouse-ul se deplaseaza peste un link sau o imagine;
− onMouseOut: când mouse-ul părăseşte zona unui link sau unei imagini;
− onClick: când se selectează un buton sau un link.
62. Variabile, tipuri de date, operatori și instrucțiuni JavaScript
Variabilele se declară prin cuvântul cheie var, fără a preciza tipul acestora.
• Declararea variabilelor este opţională, dar este recomandată pentru a da mai multă robusteţe şi claritate programelor.
• Numele unei variabile se compune din litere (a-z/A-Z - fără diacritice), caracterele _ (underscore) şi cifre. Primul caracter din numele variabilei trebuie să fie o literă. • În JavaScript numele de variabile sunt case sensitive.
• Variabila îşi poate schimba tipul pe parcursul unui program, în funcţie de datele pe care le recepţionează.
• Sintaxa generală este: var var1 (declararea unei variabile fără valoare) sau var var1=valoare1 (declararea unei variabile cu valoare) sau var var1, var2,..., varM
• Tipuri de date care pot conține valori:
date simple:
- string - number (numere în virgulă mobilă cu dublă precizie, respectând standardul internațional IEEE 754)
- boolean (valorile: true sau false)
date structurate: obiecte (Object, Date, Array)
tipuri particulare: funcţii
• Tipuri de date care nu pot conține valori: null, undefined
Instructiunile switch ...case
switch (expresie)
case valoare_1:
Instrucţiuni_1;
break
case valoare_2:
Instrucţiuni_2;
break
case valoare_n:
Instrucţiuni_n;
Break
default : instrucţiuni;
63. Ce este o funcție JavaScript si cum se declară?
O funcţie este constituită dintr-un ansamblu de instrucţiuni reunite pentru a efectua o acţiune bine definită.
Definirerea unei funcţii care nu returnează o valoare este:
function nume_funcţie(arg1,..,argn)
{
bloc de instrucţiuni
}
Definirerea unei funcţii care returnează o valoare este:
function nume_funcţie(arg1,..,argn)
{
bloc de instrucţiuni
return valoare
}
64. Tipuri de obiecte JavaScript
•JavaScript este un limbaj bazat pe obiecte. După defininirea unei clase de obiecte se pot crea instanţe.
• Mecanismul care permite crearea unui element particular al unei clase poartă denumirea de constructor.
• În JavaScript, definirea unei clase şi definirea constructorului acesteia sunt realizate simultan, prin declararea unei funcţii particulare.
Obiectele pot fi:
− Predefinite (ale limbajului) - obiecte furnizate de limbaj şi nu sunt dependente de alte obiecte. De exemplu, obiectele Date(), Math()...
− ale navigatorului: obiecte furnizate de browser-ul clientului și sunt definite cu ajutorul tag-urilor HTML
− create de utilizator.
65. Obiecte predefinite (string, Math, Date), obiecte asociate elementelor HTML
Un obiect de tip string se creează automat în momentul iniţializării unei variabile cu o valoare alfanumerică: saptamina= ”Luni, Marţi, Miercuri, Joi,zile Vineri, Sâmbătă” Metodele utilizate sunt: toString(), chartAt(pos), indexOf(), substring(), split(separator), toUpperCase(), toLowerCase() etc.
• Math este o clasă cu anumite particularităţi. Metodele obiectului sunt principalele funcţii matematice.
Sintaxa este: Math.Nume_de_Funcţie(arg1,.., argN)
Nume_de_Funcţie: random()– returnează un număr pseudo-aleatoriu cuprins între 0 şi 1; round(numar) - returnează întregul cel mai apropiat de argumentul numar etc.
Proprietăţile obiectului Math sunt reprezentate prin constante matematice. Math.Nume_de_Constantă Nume_de_Constantă: E, LN10, LN2, PI, SQRT2, SQRT1_2.
DATE
Un obiect de tip Date include toate metodele şi proprietăţile manipulării şi setării datelor calendaristice. Crearea unui obiect de tip Date se face prin instrucţiunea new şi constructorul predefinit Date():
var nume_obiect = new Date([lista de parametri])
lista de parametri poate fi:
• vidă şi se generează data şi timpul curent;
• un şir de caractere sub forma “Luna, zi, an, ora: minute:secunde“
• x = new Date(“August 15, 1998 14:30:00“)
• un set de numere sub forma: an, lună, zi (98,8,15);
• un set de numere sub forma: an, lună, zi, oră, minute şi secunde.
Printre metodele care se aplică obiectelor clasei Date enumerăm:
− getDate() - returnează ziua din lună, valoare cuprinsă între 1 şi 31;
− getDay() - returnează ziua din săptămână;
− getTime() - returnează numărul de milisecunde ce au trecut după 1 ianuarie 1970 până în prezent; − getYear() – returnează număr de ani după 1900; etc.
Obiecte asociate elementelor html
Un obiect de tip Image permite gestiunea simplă şi într-o manieră dinamică a imaginilor din paginile Web.
• Crearea unui obiect de tip Image se face, în mod clasic, prin utilizarea instrucţiunii new şi a constructorului predefinit Image (): var obiect_imagine = new Image ()
Un obiect de tip Image are patru proprietăţi:
• src, care specifică URL-ul sursă a imaginii;
• height, width - dimensiunile în pixeli;
• complete - indică stadiul în care se află încărcarea imaginii.
66. XML va înlocui HTML?
67. Care sunt avantajele utilizării XML?
• Structurarea datelor: ceea ce permite modelarea datelor pentru orice nivel de complexitate;
• Asigură schimburile de date prin Internet între aplicaţiile informatice sau între bazele de date;
• XML completează HTML: datele XML pot fi utilizate în paginile HTML: − XML a fost proiectat pentru descrierea datelor şi se concentrează asupra structurii acestora; − HTML a fost proiectat pentru afişarea datelor şi se concentrează asupra aspectului acestora.
• Identificarea rapidă a documentelor prin motoare de căutare: creşte relevanţa căutării prin includerea informaţiei contextuale;
• Facilitatea de reactualizare: structurile DOM (Document Object Model) permit accesul şi reactualizarea la nivelul elementelor individuale;
• Accesul selectiv la date: conţinutul poate fi publicat în multiple formate;
• Autodescrierea documentului: nu sunt necesare cunoştinţe anterioare despre aplicaţie;
• Extensibilitatea – se pot defini noi marcatori dacă este nevoie;
• Validitatea – se verifică corectitudinea structurală a datelor.
68. Exemple de standarde și aplicații asociate XML
•DTD (Document Type Definition);
• CSS (Cascading Style Sheet);
• XSL (eXtensible Stylesheet Language);
• XSLT (eXtensible Stylesheet Language Transformation);
• DOM (Document Object Model);
• XLL (eXtensible Linking Language):(XLink, XPointer, XPath - XML Path Language);
• XML Schema pentru definirea tipurilor de date;
• Namespaces sau “domeniile de nume” reprezintă un mecanism destinat să elimine eventualele ambiguităţi în denumirea tag-urilor.
• RDF (Resource Description Framework);
• XHTML (Extensible HyperText Markup Language);
• SMIL (Synchronized Multimedia Integration Language);
• WML (Wireless Markup Language) este utilizat pentru sistemul telefonic WAP;
• SVG (Scalable Vector Graphics);
• XQL (XML Query Language);
• SAX (Simple API for XML);
Aplicatii
• RSS (Really Simple Syndication) este un format prin care se asigură fuziunea ştirilor şi a conţinutului din site-urile de ştiri; fişierele RSS pot fi reactualizate în mod automat
• HL7 dezvoltă standarde pentru schimbul datelor din domeniul sănătăţii (reuniune de organizaţii din domeniu) ;
• CML - The Chemical Markup Language dezvoltat în Marea Britanie pentru a permite chimiştilor să descrie molecule, formule şi alte date din domeniu ;
• OFX - Open Financial Exchange specificaţie utilizată de Intuit Quicken şi Microsoft Money pentru a schimbul de mesaje cu băncile ;
• OSD - Open Software Distribution de la Marimba şi Microsoft.
69. Care este principala utilizare a XML?
• Unul dintre cei mai importanți factori de utilizare a XML-ului este acceptarea lui cu ușurință. Orice navigator, care solicită pagini ale unui site web, este capabil să proceseze informațiile XML incluse.
• Un număr semnificativ de întreprinderi folosesc XML ca format pentru schimbul de date. XML este standardul de facto pentru schimbul de mesaje între aplicații de întreprindere într-o arhitectură orientată pe servicii.
• Procesele de afaceri între întreprinderi sunt mai mult decât oricând interconectate la scară globală. Hub-urile de date B2B sunt adesea standardizate prin XML - format pentru schimbul de date.
70. Care este sintaxa unui element XML?
71. Ce reguli trebuie să se respecte la scrierea numelor elementelor?
Numele elementelor XML trebuie să respecte următoarele reguli:
• pot conţine litere, numere şi alte caractere;
• nu trebuie să înceapă cu un număr sau alte caractere de punctuaţie;
• nu trebuie să înceapă cu literele xml, XML sau Xml;
• nu trebuie să conţină spaţii;
• pot fi utilizate orice nume, nu există nume rezervate.
72. Care este rolul unui atribut în cadrul unui element XML/HTML?
Elementele pot avea asociate atribute - informaţie suplimentară inclusă ca parte a tag-ului de început.
73. Care este structura logică a unui document XML?
Un document XML trebuie să fie compus din:
• un prolog – conţine un anumit număr de declaraţii;
• un arbore al elementelor (cu atributele lor) - există un element rădăcină, care este unic;
• comentariile, instrucţiunile de prelucrare şi referinţele – a căror prezenţă este facultativă.
74. Care este sintaxa generală pentru declarația XML? Dar a unei instrucțiuni de prelucrare? Exemple
75. Ce se înțelege prin document XML bine-format/validat?
76. Care sunt standardele pe care se bazează AJAX?
AJAX se bazează pe următoarele standarde deschise:
– HTML și CSS pentru prezentarea în browser;
– XML se utilizează ca format pentru stocarea datelor și preluarea de pe server;
– obiectul XMLHttpRequest pentru preluarea datelor de pe server și transferul lor în browser.
– JavaScript pentru afișarea de conținut dinamic.
77. Care este rolul obiectului XMLHttpRequest (în AJAX)
Obiectul XMLHttpRequest se utilizează pentru:
− actualizarea unei pagini web, fără a reîncărca pagina;
− solicitarea de date de la un server, după încărcarea paginii;
− recepționarea de date de la un server, după încărcarea paginii;
− trimiterea de date către un server, în background.
78. Metode/proprietăți ale obiectului XMLHttpRequest
79. Ce sunt feed-urile web? Exemple
• Un flux Web este reprezentat de un format de date, fiind utilizat pentru a furniza utilizatorilor conținut actualizat în mod frecvent.
• Feed-urile sunt items (elemente/intrări) ale unui conţinut real și sunt produse de autori web;
Exemple
˗ site-uri de știri: lista știrilor - titlurile și o scurtă descriere;
˗ site-uri ale companiilor: o lista cu informații despre produse noi; o lista cu actualizarea prețurilor unor servicii/produse; o comunicate despre afacere (contracte, inovații, achiziții, evenimente etc.).
80. Ce este RSS?
• RSS este o familie de formate pentru fluxuri web, folosite pentru a publica materiale frecvent actualizate, cum ar fi posturile unui blog, titluri de ştiri, audio şi video într-un format standardizat;
• RSS este un acronim pentru:
− Rich Site Summary (RSS Version 0.9)
− RDF (Resource Description Framework) Site Summary (RSS Version 1.0)
− Really Simple Syndication (RSS Versions 2.0, 2.0.1 and 0.9x)
81. Elemente specifice unui document RSS
Documentul RSS conține:
• Declarația XML, respectiv declarația RSS
• Elementul channel utilizat pentru descrierea fluxului RSS
- include elementele fiu:
− title - definește titlul canalului (Cotidianul Stiri)
− link - definește URL pentru canal (http://www.cotidianul.ro/rss/General.xml)
− description - o scurtă descriere a canalului (General Cotidianul.ro)
și elemente opționale:
− pubDate - data publicării
− language - limba în care este scris conținutul canalului
− webMaster - adresa de email pentru persoana responsabilă cu afișarea conținutului
− copyright - Copyright pentru conţinutul canalului.
• Fiecare articol este specificat prin elementul item (element fiu al elementului channel) care include elementele:
− title – titlu articolului
− link – URL-ul articolului
− description – un rezumat al articolului
• Opțional, elementul item mai poate conține elementele:
− author
− category
− pubDate
− source etc.
82. Pentru ce se utilizează RSS?
• Iniţial prin RSS erau listate titlurile de ştiri;
• Cum popularitatea RSS a crescut, utilizarea sa a fost extinsă. Utilizările comune pentru RSS includ:
− blog-uri - rezumate ale posturilor
− buletine de ştiri – rezumate ale buletinelor informative prin care abonații sunt înștiințați că un nou buletin este disponibil
− alerte meteo - notificarea despre evoluția unor condiții meteo severe (temperaturi ridicate/scăzute, vijelii, inundații )
− anunţuri de presă – despre noile articole din presă
− oferte speciale sau reduceri - oferte săptămânale sau oferte de discount pentru clienții
− calendare - lista cu programarea unor evenimente viitoare, termene sau date ale sărbătorilor
83. Avantajele utilizării RSS
• Pentru utilizatorii /abonații fluxurilor RSS:
− alegerea feed-urilor la care se abonează;
− au acces la conţinut web actual prin fluxuri continue;
− toate știrile la un singur loc: posibilitatea de scanare rapidă a mai multor fluxuri de conţinut şi accesarea elementelor de interes (agregarea); prin abonarea la mai multe grupuri de ştiri şi personalizarea software-ului de citire, astfel încât toate ştirile să fie afișate pe o singură pagină - se face economie de timp;
− republicarea uşoară pentru cei care au calitatea de abonat și editor; de exemplu, este posibil ca printr-un site Web să se colecteze ştiri de pe diverse site-uri şi apoi să fie republicate. RSS captează cu uşurinţă informații care pot fi afişate în propriul site.
• Pentru furnizorii de fluxuri RSS:
− creşterea traficului pe site: un flux RSS include întotdeauna legătura către site-ul Web care îl generează;
− conștientizarea brand-ului de site;
− poate ajuta la poziționarea site-ului prin motoarele de căutare;
− poate ajuta la stabilirea de relații într-o comunitate de site-uri;
− îmbunătăţeşte relaţia site / utilizator;
− există siguranța că fluxul RSS va ajunge la abonaţi: fluxurile RSS nu sunt condiţionate de filtrele de spam-uri.
• Pentru Internet - va fi tot mai bogat, se vor împune tehnologiile semantice.
84. Care sunt caracteristicile aplicațiilor din Internet?
• Caracteristici ale aplicațiilor din Internet:
− majoritatea aplicațiilor interacționează după modelul client - server
− arhitectura este de tip n-tier
− accesul de la distanță
− eterogenitatea tehnologiilor
− livrare de conținut, în general, prin HTTP
− acces concurențial
− managementul sesiunilor
− autentificarea și autorizarea
85. Care sunt principalele tipuri de aplicații utilizate în Internet?
Principalele tipuri de aplicații utilizate în Internet sunt:
• Aplicaţii Web
• Aplicaţii pe bază de servicii
• RIA (Rich Internet Applications)
• RCA (Rich Client Applications)
• Aplicaţii mobile
86. Ce este o aplicație web?
• Aplicaţia web: este un program care rulează într-o arhitectură client-server folosind tehnologiile deschise World Wide Web . Aplicaţia este accesată printr-o reţea, cum ar fi internet sau un Intranet.
• Aplicația web: este o aplicație în care toate sau unele părţi ale software-ului sunt descărcate de pe Web de fiecare dată când se execută.
87. Care sunt nivelurile unei aplicații web n-tier și ce rol îndeplinește fiecare nivel?
--În arhitectura n-tier, aplicaţia web conține mai multe niveluri distincte.
-- Un exemplu tipic este o arhitectură pe trei niveluri: prezentare, logica de afacere şi date.
• Nivelul client: redă paginile web, fiind implementat ca un browser web care rulează pe calculatorul utilizatorului.
• Nivelul prezentare: oferă interfața pentru utilizator:
− permite interacțiunea cu utilizatorul;
− nivelul se mai numește “client view” sau “front-end”;
− generează paginile Web, inclusiv conţinutul lor dinamic, și interpretează datele trimise de client;
− pentru implementarea nivelului de prezentare se utilizează diferite tehnologii (cum ar fi: PHP, ASP.NET, JSP etc.).
• Nivelul afacere include funcțiile de bază ale afacerii, cum ar fi:
− setul de reguli pentru procesarea informațiilor - efectuarea tuturor calculelor şi validărilor necesare;
− managementul fluxului de lucru (inclusiv păstrarea informațiilor despre sesiunile de lucru);
− nivelul se mai numește middleware / back-end;
− implementarea are la bază un server de aplicații pentru procesarea și generarea conținutului dinamic - de exemplu: Platforma Java, ASP.NET, PHP, ColdFusion etc.
• Nivelul date: se ocupă de stocarea datelor și managementul accesului la date.
− reprezintă nivelul de stocare pentru persistența datelor;
− gestionează accesul la bazele de date sau sistemele de fișiere;
− nivelul este denumit uneori back-end.
88. Ce este un framework pentru aplicaţii web?
• Un framework pentru aplicaţii web este un software conceput pentru a sprijini dezvoltarea de site-uri dinamice, aplicaţii web şi servicii web.
89. Care este scopul utilizării modelului arhitectural MVC?
• Multe framework-uri respectă model arhitectural MVC (Model View Controller), pentru a separa modelul de date și regulile de business de interfața utilizator. Aceasta este considerată, în general, o bună practică pentru modularizare a codului, promovare a reutilizării codului şi aplicarea mai multor interfeţe.
90. Care sunt componentele principale ale unei arhitecturi MVC și ce responsabilități are fiecare componentă ?
Arhitectura MVC include trei componente principale:
• componenta Model este reprezentată de structura logică a datelor aplicaţiei şi de clasele de nivel înalt asociate cu ea; Componenta Model nu conţine informaţii despre interfaţa utilizator.
• componenta View este o colecţie de clase reprezentând interfaţa cu utilizatorul (toate obiectele pe care utilizatorul le poate vedea pe ecran şi cu care poate interacţiona, cum ar fi butoane, casete de text etc.)
• componenta Controller reprezintă clasele ce realizează comunicarea între clasele din Model şi cele din View.
91. Limbaje server-side
• PHP (Personal Home Page; Hypertext Preprocessor) este limbajul cel mai popular pe partea de server.
− este conceput pentru a utiliza diverse baze de date
- în mod frecvent este asociat cu bazele de date scrise în limbajul SQL.
− a fost proiectat strict pentru web și rămâne unul dintre limbajele cele mai utilizate pe scară largă.
− este ușor de instalat și exploatat, rămâne competitiv cu o mulțime de framework-uri moderne,
− se regăsește la baza unui număr semnificativ de sisteme pentru managementul conținutului.
− exemple de site-uri PHP: WordPress, Wikipedia, Facebook.
• C++ este un limbaj de programare excelent pentru aplicații complexe construite pe .NET Framework (cel mai popular framework de pe web).
− este un limbaj dificil, dar puternic;
− funcționează bine pentru site-uri web cu multe date;
− poate rula alături de alte limbaje, precum Java și Python.
− Site-uri web dezvoltate în C++: Facebook (unele componente), YouTube, Amazon, Paypal.
• C#: limbajul Microsoft .NET Framework:
− combină productivitatea și versatilitatea prin combinarea celor mai bune aspecte ale limbajelor C și C++.
− este excelent pentru dezvoltarea de aplicații Windows și poate fi folosit pentru a construi aplicații mobile iOS, Android cu ajutorul unei tehnologii cross-platform precum Xamarin.
• Java este un limbaj de programare orientat-obiect:
− respectă în mare parte sintaxa limbajelor C și C++, dar are un model al obiectelor mai simplu și prezintă mai puține facilități de nivel jos.
− un program Java compilat poate fi rulat fără modificări pe orice platformă care are instalată o mașină virtuală Java (Java Virtual Machine - JVM).
− portabilitate este posibilă deoarece sursele Java sunt compilate într-un format standard numit byte-code care este intermediar între codul mașină (dependent de tipul calculatorului) și codul sursă. − este excelent pentru aplicații la nivel de întreprindere, site-uri cu trafic ridicat și aplicații Android. − Site-uri web în Java: Twitter, Verizon, AT & T, Salesforce.
• Ruby este un limbaj de programare generic, reflexiv, dinamic și orientat pe obiecte.
− motto-ul limbajului Ruby: „cel mai bun prieten al programatorului” - este simplu în aparență, dar foarte complex în interior.
− este renumit pentru uşurinţa cu care se scriu şi citesc codurile, ca și în Python.
− se recomandă dacă se presupune că baza de date a site-ului web are o logică mai complicată.
− prin utilizarea framework-ului Ruby on Rails, dezvoltatorii web au la dispoziție biblioteci pentru a eficientiza dezvoltarea back-end.
− site-uri web dezvoltate prin Ruby: Hulu, Twitter (inițial), Living Social, Basecamp.
• Python este un limbaj de programare dinamic multi-paradigmă, creat în 1989 de programatorul olandez Guido van Rossum.
− se remarcă prin simplitatea codului;
− sintaxa limbajului permite dezvoltatorilor să exprime unele idei programatice într-o manieră mai clară și mai concisă decât în alte limbaje de programare, precum C;
− este un limbaj recomandat incepătorilor;
− Site-uri web în Python: YouTube, Google, The Washington Post.
92. Avantaje ale utilizării PHP
PHP prezintă următoarele avantaje:
• produs open-source
• operaţional pe majoritatea sistemelor de operare disponibile: Linux, diverse variante de Unix (HP-UX, Solaris, Open-BSD), Microsoft Windows, Mac OS X, RISC OS şi altele;
• acceptă majoritatea serverelor web existente în prezent: Apache HTTP Server, Nginx, Microsoft Internet Information Server etc.
• permite folosirea programării procedurale, cât şi facilităţile oferite de programarea orientată obiect.
• procesează şi generează o multitudine de elemente care pot fi incluse în paginile web: imagini, fişiere PDF, filme Flash, fişiere XHTML şi XML (pentru analizarea şi accesarea documentelor XML suportă standardele SAX - Simple API for XML şi DOM - Document Object Model şi permite folosirea extensiei XSLT pentru transformarea documentelor XML);
• uşor de utilizat (sintaxa asemănătoare limbajului C) - pentru scrierea paginilor web interactive există interfeţe pentru majoritatea sistemelor de gestiune a bazelor de date folosite în diverse domenii de activitate: Adabas D, Ingres, Oracle (OCI7 şi OCI8), dBase, InterBase, Ovrimos, Empress, FrontBase, PostgreSQL, FilePro (read-only), mSQL, Solid, Hyperwave, Direct MS-SQL, Sybase, IBM DB2 MySQL, Velocis, Informix, ODBC, Unix dbm;
93. Inserarea de cod PHP în pagina web
94. Ce este specific numelor de variabile PHP?
• Toate numele variabilelor PHP încep cu simbolul $, fiind urmat de orice literă (a-z)/ (A-Z)
sau caract _
95. Variabile superglobale.Variabile generate prin formular
• Variabilele superglobale (superglobals ) sunt disponibile oriunde în codul scriptului. Acestea sunt:
• $_SERVER: variabile furnizate scriptului de către serverul web
• $_GET: variabile furnizate scriptului prin HTTP GET (provin dintr-un formular în care valoarea atributului method = "GET")
• $_POST: variabile furnizate scriptului prin HTTP POST (provin dintr-un formular în care valoarea atributului method = "POST")
• $_COOKIE: variabile furnizate scriptului prin HTTP cookies
• $_ENV: variabile furnizate scriptului de către mediu
• $GLOBALS: conţine referinţe către toate variabilele care sunt disponibile în scop global scriptului
• $_FILES: variabile furnizate scriptului prin HTTP la încărcarea fişierelor
96. Sintaxa generală unei funcții PHP
97. Clase și obiecte în PHP
98. Stabilirea conexiunii la baza de date MySQL/ Crea unei baze de date/ Crearea unui tabel/ Inserarea de date întrun tabel/ Selectarea datelor dintr-un tabel .
99. Care este scopul optimizării unui site?
• Optimizarea unui site, pentru a fi luat în evidență prin motoarele de căutare (SEO - Search Engine Optimization), se referă, în principal, la optimizarea conținutului (text, imagini etc.) paginilor web pentru a fi indexate de motoarele de căutare.
În principal, SEO ține cont de:
grupul țintă de vizitatori;
scopul site-ului;
cuvintele-cheie folosite pentru optimizare.
100. Care sunt principalele tipuri de trafic pe un site web?
• În principal, traficul pe un site web poate fi:
− trafic organic – se obține prin accesarea directă din rezultatele afișate de motoarele de căutare. Rezultatele afișate se obțin prin utilizarea unor algoritmi și în funcție de relevanță - ele nu sunt plătite, Prin aplicarea tehnicilor SEO asupra site-ului web, acesta poate fi clasificat de motoarele de căutare.
− trafic plătit – poate fi obținut prin campanii PPC (Pay Per Click), cum ar fi prin Google Adwords sau campanii Facebook.
− trafic offline – poate fi obținut prin reclame din mediul offline (bannere stradale, cărți de vizită, pliante etc.)
101. Cum se obține traficul organic/ plătit/ offline
• În principal, traficul pe un site web poate fi:
− trafic organic – se obține prin accesarea directă din rezultatele afișate de motoarele de căutare. Rezultatele afișate se obțin prin utilizarea unor algoritmi și în funcție de relevanță - ele nu sunt plătite, Prin aplicarea tehnicilor SEO asupra site-ului web, acesta poate fi clasificat de motoarele de căutare.
− trafic plătit – poate fi obținut prin campanii PPC (Pay Per Click), cum ar fi prin Google Adwords sau campanii Facebook.
− trafic offline – poate fi obținut prin reclame din mediul offline (bannere stradale, cărți de vizită, pliante etc.)
102. Care sunt elementele SEO On-Page de bază?
Elemente SEO On-Page care ajută în mod direct un site web pentru a fi clasat prin motoarele de căutare sunt:
• Elemente SEO On-Page de bază:
− tag-uri pentru titlu
− descrierea prin tag-ul META: cu toate că descrierea prin tag-ul META nu este autorizată pentru clasarea site-urilor, este la fel de importantă ca și alte elemente de bază.
− tag-uri pentru heading: de la h1 la h6 − conținutul textului: unul dintre cei mai importanți factori de clasificare
− navigare internă
-- legături din meniu
-- SEO breadcrumbs - link-urile breadcrumbs îi ajută pe utilizatori să determine locația curentă din cadrul site-ului, pe baza ierarhiei, a traseului utilizatorului sau a ambelor. Aceste legături apar în partea de sus a paginii web și reflectă structura site-ului.
--widget-uri în partea laterală (stânga sau dreapta)
--crearea de legături contextuale
-- link-uri în subsolul paginii
− căutarea de cuvinte-cheie optime
103. Cum poate fi definită analiza web?
• WAA (Web Analytics Association) definește web analytics ca fiind "măsurarea, colectarea, analizarea şi raportarea de date cu scopul de a înţelege şi optimiza utilizările web.
• Web Analytics oferă date privind numărul de vizitatori, vizualizări de pagini, etc., criterii folosite pentru a evalua popularitatea site-ului - absolut necesare în cercetarea de piaţă.
104. Care sunt caracteristicile urmărite prin analiza unui site?
- aspectul site-ului
- conținutul site-ului
-structura site-ului;
- securitatea – insistând asupra accesibilității;
- gradul de utilizare: pagini vizitate, vizitatori noi, vizitatori unici, frecvența vizitelor, procentul vizitelor pe ora/zi/saptămană
- accesări din motoare de căutare/ site-uri puternice etc.
105. Care sunt principalele obiective urmărite prin analiza unui site web?
• Principalele obiective avute în vedere prin analiza unui site web sunt:
− îmbunătăţirea utilizabilității;
− diagnosticarea site-ului;
− înţelegerea nevoilor utilizatorilor;
− luarea de decizii pentru selectarea de conţinut;
− îmbunătăţirea calităţii serviciului;
− promovarea;
− justificare bugetului alocat;
− stabilirea unei strategii pentru a creşte interesul pentru site.
106. Care sunt principalele elemente analizate la un site web?
• Principalele elemente analizate sunt:
− titlul paginii - fiecare pagină ar trebui să aibă un titlu unic;
− structura URL-ului pentru toate paginile interioare;
− tag-urile din antet pentru site-urile mai vechi, care includ meta informații, cum ar fi: cuvinte-cheie şi descrieri;
− navigarea prin site şi meniurile; − nume pentru imaginile utilizate în antet şi în alte părţi ale site-ului;
− dimensiunea imaginilor folosite;
− alte texte pentru imagini;
− conţinutul Flash folosit şi timpul de încărcare a conţinutului Flash;
− fişierele video în cazul în care sunt incluse;
− fişiere audio în cazul în care sunt folosite;
− conţinutul fiecărei pagini, luând în considerare densitatea de cuvintecheie;
− heading-uri utilizate în conținut ;
− existența link-urilor interne şi a hipertextelor;
− link-uri în notele de subsol, inclusiv informații despre copyright;
− legăturile către pagini inexistente (broken link-uri ) în cadrul site-ului;
− conformitatea cu un cod standard (validare cod);
− timpul de încărcare a site-ului;
− harta site-ului;
− gradul de căutare curentă pentru toate cuvintele-cheie, dacă site-ul a fost optimizat, în toate motoarele de căutare majore;
− poziția de indexare în motoarele de căutare pentru toate paginile site-ului;
− PageRank-ul curent în Google (PageRank este un algoritm de analiză a hiperlegăturilor din Internet, folosit de motorul de căutare Google pentru a acorda o pondere fiecărui element dintr-o mulțime de documente interconectate);
− numărul de link-uri din fiecare pagină (numai link-uri externe);
− posibilitatea de utilizare de către persoane cu dezabilități.
107. Care sunt grupele de metrici anlizate la un site? Exemple de metrici pentru fiecara grupă.
Metricile pentru analiză sunt organizate pe grupe (J. Burby, A. Brown, Web Analytics Definitions, WAA, 2007), cum ar fi:
− Building Block (blocuri de construcţie);
• Pagina - o pagină este o unitate de conţinut care poate fi analizată;
• Vizualizări de pagină – numărul de câte ori o pagina a fost vizualizată;
• Vizite (Sesiuni) - o vizită este o interacţiune, a unei persoane, cu un site web și constă din una sau mai multe cereri pentru o unitate de conţinut (de exemplu, " vizualizare pagină"). În cazul în care o persoană nu a execut o altă acţiune (de obicei vizualizări suplimentare de pagini) pe site, într-o perioadă specificată de timp, sesiunea vizitei se va încheia.
• Vizitatorii unici - numărul de persoane individuale (filtrat de spiders şi roboţi), într-un interval de timp desemnat pentru raportare, cu activitate constând din una sau mai multe vizite pe site. Fiecare persoană este numărată numai o singură dată pentru determinarea vizitatorilor unici pentru perioada de raportare.
• Eveniment - orice acţiune de logare sau înregistrate.
− caracterizarea vizitelor;
• Pagina de intrare - prima pagină a unei vizite.
• Landing Page (pagină destinație) – este o singură pagină Web care apare ca răspuns la un click pe o reclamă. Paginile destinaţie sunt adesea optimizate pentru cuvinte-cheie specifice, audiență sau pentru apelarea de acţiuni.
• Pagina de ieșire - ultima pagină de pe un site accesată în timpul unei vizite, semnificând sfârşitul unei vizite / sesiuni.
• Durata vizitei - perioada de timp a unei sesiuni.
• Referrer (referent?) - este un termen generic care descrie sursa pentru traficul către o pagină sau o vizită; URL-ul care a generat vizualizarea paginii sau a obiectului curent.
• Click-through (prin click) - Numărul de câte ori un vizitator a activat un link (prin click).
− caracterizarea vizitatorilor;
• Vizitatori noi - numărul de vizitatori unici, care vizitează site-ul pentru prima dată pe parcursul unei perioade de raportare.
• Vizitatori care au revenit - numărul de vizitatori unici, care au accesat site-ul pe parcursul unei perioade de raportare, dar și înainte de perioada de raportare au fost înregistrați ca vizitatori unici.
• Vizitatori care repetă vizitele - numărul de vizitatori unici, cu activitate care constă din două sau mai multe vizite la un site pe parcursul unei perioade de raportare. Vizite pe vizitator - numărul de vizite într-o perioadă de raportare, împărţit la numărul de vizitatori unici pentru aceeaşi perioadă de raportare.
• Recency (experienţa recentă?) - timpul consumat de un vizitator unic pentru realizarea unei acțiuni specifice și de interes pentru analist (cum ar fi crearea unui cont).
• Frecvența - numărul de câte ori o acţiunie a fost efectuată de către un vizitator unic pe o perioadă de timp.
− metrici de conversie
108. Factori relevanți ai optimizării web
• Pentru aspectul paginilor web:
− Cantitatea de text pe o pagină - mărimea optimă a paginii este de 500-3000 cuvinte (sau 2000 la 20,000 caractere).
− Numărul de cuvinte-cheie pe o pagină – cuvintele-cheie trebuie să fie utilizate de cel puţin trei-patru ori în pagina de text. Cele mai bune rezultate SEO au fost obținute atunci când o expresie conținând cuvânte-cheie este folosită de mai multe ori în text, cu toate cuvintele-cheie aranjate în aceeaşi ordine.
− densitatea cuvintelor-cheie reprezintă frecvenţa relativă a cuvântului-cheie în text, exprimată ca procent. Valoarea optimă pentru densitatea cuvintelorcheie este de 5-7% (dacă un cuvânt-cheie apare de 5 ori pe o pagină cu 100 de cuvinte, densitatea este de 5%).
− Localizarea cuvintelor-cheie pe o pagină – se recomandă utilizarea cuvinelor-cheie în partea de la începutul documentului.
− Formatarea textului - motoarele de căutare acordă o atenţie deosebită paginilor în care textul este evidenţiat sau formatat special. Se recomandă:
----- utilizarea cuvintelelor-cheie în headings - tag-urile h1 şi h2 sunt cele mai eficiente;
----- evidenţierea cuvintelor-cheie prin bold.
− Cuvinte-cheie în link-uri – utilizarea cuvintelor-cheie pentru legături pot îmbunătăţi PageRank.
− Atribututul ALT în tag-urile pentru imagini
− Folosirea și adaptarea tagurilor care oferă informații esențiale despre pagina web (Title, Meta, Keywords și Description)
---- Tag-ul TITLE – este unul din cele mai importante tag-uri pentru motoarele de căutare. Cuvinte-cheie trebuie să fie folosite în tag-ul TITLU. Titlul trebuie să reflecte conținutul paginii, se recomandă ca titlul sa nu fie prea lung dar nici mai mic de 3-4 cuvinte;
---- Tag-ul META cu keywords (cuvintele-cheie legate de conținutul paginii web) și description (descrierea paginii va conține și câteva cuvinte-cheie).
• Pentru structura site-ului:
− Numărul de pagini – prin creşterea numărului de pagini de pe site va creşte vizibilitatea site-ului pentru motoarele de căutare;
− Meniu pentru navigare - folosind cuvintele-cheie în link-urile meniului, se va da semnificaţie suplimentară paginilor referite prin link-uri.
− Cuvinte-cheie în numele de pagină – poate avea un efect pozitiv asupra motoarelor de căutare.
− Subdirectoarele nu vor fi utilizate (dacă este posibil)- motoarele de căutare consideră paginile din directorul rădăcină a documentelor web mai importante decât cele din subdirectoare.
− O pagină - o frază de cuvinte-cheie ;
− Pagina principală – se recomandă optimizarea paginii principale a site-ului cu cele mai importante combinaţii de cuvinte. Astfel, probabilitatea ca pagina principală să se găsescă în partea superioară a listelor cu rezultatele motoarelor de căutare este destul de mare.
109. Care sunt metodele pentru promovarea site-urilor?
Metode de promovare:
• Crearea unei hărți a site-ului;
• Înscrierea site-ului în directoare/motoare de căutare web;
• Postarea de bannere publicitare pe site-uri cu trafic mare și vizitatori potențial interesați de produsele sau serviciile prezentate;
• Schimbul de bannere și link-uri cu alte site-uri cu tematică asemănătoare;
• Link-uri către site de la forum-urile la care cei interesați în mod direct (proprietar, dezvoltatori etc.) sunt înscriși;
• Utilizarea rețelelor sociale, cum ar fi: Facebook, Twitter, Google+, MySpace;
• Trimiterea de email-uri clienților înregistrați pe site.
110. Cum definiți un framework/bibliotecă JavaScript?
• Biblioteca: o colecție de funcții utile în dezvoltarea aplicațiilor web. Codul dezvoltatorului se încarcă și apelează funcții ale bibliotecii atunci când se consideră necesar. Bibliotecile reduc timpul de dezvoltare a unei aplicații, prin furnizarea de cod pre-scris pentru funcțiile utilizate în mod obișnuit. Exemplu de biblioteci JavaScript: jQuery, PHP-JS, pdf.js, MooTools, Holmes, Monkberry, script.aculo.us etc.
• Framework: o implementare particulară a unei aplicații web, unde codul dezvoltatorului completează detaliile. Framework-ul se încărcă și se apelează un cod atunci când este nevoie de ceva specific aplicației. Exemple: Meteor.js, Node.js, Polymer.JS, emberJS, durandal etc.
111. Exemple de framework-uri JavaScript
• Cele mai cunoscute framework-uri/biblioteci JavaScript sunt:
AngularJS:
− este cel mai utilizat framework în comunitatea JavaScript.
− AngularJS a fost dezvoltat inițial și lansat în 2009 de către Misko Hevery și Adam Abrons – în prezent este întreținut de Google.
− AngularJS este un proiect open-source, ceea ce înseamnă că oricine poate citi, edita și modifica codul sursă original nevoilor specifice.
− AngularJS acceptă modelul arhitectural MVC (Model-View-Controller) ca paradigmă de proiectare. MVC reduce foarte mult timpul și eforturile necesare pentru construirea de aplicații complexe.
React:
− este o bibliotecă JavaScript open-source, declarativă, eficientă și flexibilă pentru construirea de interfețe utilizator; pentru datele furnizate ca HTML.
− este susținut de Facebook, Instagram și o comunitate de dezvoltatori individuali și corporații.
− în afară de Facebook și Instagram, există mai multe companii care utilizează React, inclusiv Whatsapp, BBC, PayPal, Netflix, Dropbox etc .
Ember.js
− este un framwork JavaScript open-source, bazat pe modelul arhitectural Model-View-ViewModel (MVVM).
− permite dezvoltatorilor să creeze aplicații web de tipul singură pagină, prin încorporarea unor expresii comune și a celor mai bune practici în framework.
− a fost lansat în 2011 ca un proiect open-source de către Yehuda Katz.
Vue.js
− a fost lansat în 2014;
− suportă API extrem de simplă pentru dezvoltarea componentelor reactive ale interfețelor web.
− la fel ca Ember, foloseste modelul arhitectural model-view-view model (MVVM).
Backbone.js
− este un framework JavaScript cu o interfață RESTful JSON ;
− a fost creat de Jeremy Ashkenas, care este, de asemenea, cunoscut pentru CoffeeScript și Underscore.js;
− se bazează pe paradigma de proiectare a aplicațiilor model-view-presenter (MVP).
− A fost conceput pentru dezvoltarea aplicatiilor web de tip singură pagină, precum și pentru păstrarea sincronizată a diferitelor părți ale aplicațiilor web.
112. Care sunt avantajele utilizării framework-ului AngularJS?
• Avantajele utilizării framework-ului AngularJS:
− este complet extensibil și funcționează bine cu alte biblioteci;
− fiecare funcționalitate poate fi modificată sau înlocuită pentru a se potrivi necesităților;
− dezvoltarea de cod este relativ rapidă;
− modificările din backend sunt reflectate imediat pe interfața utilizator;
− îmbunătățește performanța serverului prin reducerea traficului;
− este foarte ușor testabil - fiecare componentă a aplicației se poate testa.
113. Care este conceptul de programare utilizat de AngularJS?
AngularJS utilizează conceptul de programare MVC (Model-View-Controller) care realizează separarea sarcinilor (organizarea pe layers):
• Model: responsabil cu gestionarea datelor aplicației;
• View: responsabil cu definirea și redarea interfeței utilizator;
• Controller: software care controlează interacțiunile dintre Model și View; interacționează cu utilizatorul, având în vedere logica de afacere.
114. Ce este o aplicație de tip SPA?
• Aplicația SPA este o aplicație web sau un site web care încarcă toate resursele necesare pentru a naviga prin site de pe prima pagină încărcată.
• Pe măsură ce utilizatorul activează link-uri (prin click) și interacționează cu pagina, conținutul ulterior este încărcat dinamic.
• Aplicația va actualiza de mai multe ori adresa URL din bara de adrese, pentru a imita navigarea tradițională, dar o altă solicitare completă a paginii nu este niciodată executată.
115. Care pot fi componentele unei aplicații AngularJS?
• Module: modulele servesc drept containere pentru organizarea codului în cadrul aplicației AngularJS. Un modul poate să conțină sub-module.
• Config: blocul de configurare a unei aplicații AngularJS permite aplicarea configurării înainte ca aplicația să se execute. Acest lucru este util pentru configurarea rutelor, configurarea dinamică de servicii etc.
• Routes: rutele definesc modalități de navigare în cadrul aplicației - conceptul de comutare a vizualizărilor. De asemenea, acestea permit să se definească opțiunile de configurare pentru fiecare rută specifică, cum ar fi ce template și controller să se utilizeze.
• View: vizualizarea în AngularJS este ceea ce există după ce AngularJS a fost compilat și redat.
• Scope: sunt obiecte care se referă la model. Ele acționează ca un adeziv între controller și view.
• Controller: Controller-ul este responsabil pentru definirea unor metode și proprietăți privind vizualizarea. Controllerele ar trebui să fie simple și concentrate numai pe controlul vizualizării, sunt funcțiile JavaScript care sunt legate de un anumit domeniu de aplicare.
• Directives - Directivele pot fi folosite pentru a crea tag-uri HTML personalizate. O directivă este o extensie a vizualizării în AngularJS prin care se permite personalizarea, reutilizabilitatea elementelor care încapsulează un anumit comportament. AngularJS are directive integrate (ngBind, ngModel ...).
• Services: Serviciile furnizează funcționalități comune pentru o aplicație AngularJS. AngularJS oferă mai multe servicii integrate, de exemplu, $http pentru a face un XMLHttpRequests. Acestea sunt obiecte Singleton care sunt instanțiate doar o singură dată în aplicație (Modelul de Singleton este un model de design care restricționează instanțierea unei clase la un singur obiect).
116. Utilizarea directivelor AngularJS: ng-app, ng-model, ng-bind, ng-init, ng-repeat, ng-show
În varianta cea mai simplă, framework-ul AngularJS poate fi împărțit în următoarele trei părți principale:
• ng-app - directiva definește și asociază o aplicație AngularJS la HTML;
• ng-model - directiva leagă valorile datelor aplicației AngularJS la controale de intrare HTML (input, select, textarea);
• ng-bind - directiva leagă datele aplicației AngularJS de tag-urile HTML.
117. Expresii/Module/ Scope/ Controller-e/Form/ Route în AngularJS (rol și mod de utilizare)
EXPRESII
• Expresiile sunt folosite pentru a lega date ale aplicației de HTML. Expresiile sunt scrise în interiorul parantezelor (dublă acoladă): {{expresie}}
• Expresiile pot fi scrise și în interiorul unei directive: ng-bind=”expresie”
• Expresiile pot conține: numere, șiruri de caractere, obiecte, matrici/vectori.
• Expresiile se comportă în același mod ca și directiva ng-bind.
MODULE
• AngularJS suportă abordarea modulară. Modulele sunt folosite pentru a separa logica, serviciile, controllere etc. și să păstreze codul curat.
• Un modul este o colecție de servicii, directive, controllere, filtre și informații de configurare.
• Sintaxa: angular.module(name, [requires], [configFn]);
name - numele modulului ce se va crea sau regăsi
requires (opțional) – în cazul în care se specifică, un modul nou este creat; dacă nu este specificat, modulul este preluat printr-o configurare ulterioară.
configFn – funcție de configurare opțională pentru modul
SCOPE
• Scope este un obiect special JavaScript care joacă rolul de a lega controllerul aplicației (cod JavaScript) cu vizualizarea (HTML).
• Scope este un obiect JavaScript cu proprietăți și metode disponibile atât pentru vizualizare (view), cât și pentru controller.
• Scope conține datele modelului. În controllere, datele modelului sunt accesate prin obiectul $scope.
• La declararea unui controller în AngularJS, obiectul $scope se va regăsi ca argument.
• Scopes sunt aranjate într-o structură ierarhică care imită structura DOM a aplicației.
• Scopes poate viziona expresii și propaga evenimente.
CONTROLLER
• Aplicația AngularJS se bazează în principal pe controller-e pentru a controla fluxul datelor în aplicație.
• Un controller este definit prin directiva ng-controller ca atribut al oricărui element HTML: ... unde expresie este numele controller-ului.
• Un controller este un obiect JavaScript care conține atribute / proprietăți și metode (variabile ca funcții), fiind creat de un constructor obiect JavaScript standard.
• Controllerele se utilizează pentru:
− configurarea stării inițiale a obiectului $scope.
− adăugarea unui comportament pentru obiectul $scope.
FORM
• AngularJS aduce noi facilități în completarea și validarea intrărilor unui formular.
• Formularul și controalele furnizează servicii de validare, astfel încât utilizatorul să poată fi informat despre intrarea nevalidă înainte de a trimite formularul.
• Aceasta îi oferă utilizatorului un feedback instantaneu cu privire la modul de corectare a erorilor.
ROUTES
• Routes AngularJS permit implementarea aplicațiilor pe o singură pagină (SPA) cu multiple vizualizări.
• O aplicație cu multiple vizualizări conține mai multe template-uri - fiecare template este asociat unei anumite rute și va fi încărcat dinamic ca urmare a acțiunii utilizatorului (clic pe un link sau tastând o anumită adresă URL în browser).
• Folosind rutarea, aplicația AngularJS poate afișa un conținut diferit în funcție de ruta selectată. Rutele sunt URL-uri care pot fi marcate cu anumite conținuturi ale aplicației AngularJS.
118. Ce este Node.js?
• Node.js a fost lansat în 2009 de Ryan Dhal, fiind sponsorizat de Joyent - firma la care lucra R. Dhal.
• Node.js este un set de biblioteci JavaScript;
• Ryan Dhal a constatat că: "JavaScript are anumite caracteristici care îl fac foarte diferit față de alte limbaje dinamice și anume că nu utilizează conceptul de thread-uri. Modelul concurențial este complet bazat pe evenimente."
• Node.js permite realizarea de aplicații în rețea scalabile, folosind limbajul JavaScript pe partea de server.
• Codul realizat în node.js ruleaza pe motorul (interpretorul) V8 pentru JavaScript de la Google - https://developers.google.com/v8/;
• Node.js este eficient și extrem de scalabil;
• Node.js include o bibliotecă http, ceea ce permite rularea unui server web fără a se apela la un software specializat, cum ar fi Apache, IIS etc.
• Node.js este un framework universal în curs de dezvoltare, fiind folosit pentru o mare diversitate de aplicații.
119. Pentru ce se utilizează Node.js?
• Node.js se utilizează pentru realizarea de:
˗ aplicații software în timp-real, cum ar fi aplicații de socializare, ca Twitter sau aplicații pentru chat ˗ aplicație pe o singură pagină (Single Page Applications)
˗ înaltă performanță pentru I/O, aplicații TCP cum ar fi servere proxy, PaaS, baze de date etc.
˗ Mobile App backend - pentru manipularea unor sarcini complexe și actualizarea în timp real
˗ Instrumente la linie de comandă în Unix
- aplicații CLI (Command Line Interface) similar cu ant sau Make
˗ Streaming de date
˗ aplicații web în JavaScript – fiind o provocare pentru dezvoltatorii web
120. Ce este specific execuției unui cod Node.js?
• Codul Node.js se execută într-un singur thread.
• Node.js utilizează apeluri de intrare/ieșire (I/O) fără blocare, cea ce înseamnă că poate prelua apeluri concurente - susține zeci de mii de conexiuni concurente. În mod obișnuit, serverele web operează în modul multi-thread.
• Node.js folosește un model bazat pe evenimente asincrone.
121. Ce reprezintă Event Loop pentru Node.js?
• Event Loop este un mecanism esențial pentru Node.js - permite tratarea asincronă.
• Event Loop comportă mai multe faze:
− Timers: execută callbacks programate prin funcțiile setTimeout() și setInterval()
− I/O Callbacks: majoritatea callbacks sunt executate în această fază, cu excepția timers, setImediate(), close
− Idle, Prepare: se folosește numai intern
− I/O Polling: preluarea sau așteptarea de noi evenimente de I/O
− Check: execută callbacks prin funcția setImmediate()
− Close Callback: execută callbacks pentru închidere (de exemplu socket.on ("close", ...))
• În Node.js, fiecare iterație a unui Event Loop este numită tick.
• Pentru a programa o funcție callback, care va fi invocată în următoarea iterație a unui Event Loop, se folosește process.nextTick().
• Event Loop este un mecanism care indică ce se întâmpla atunci când se produce un anumit eveniment.
• Event Loop poate fi văzut ca o simplă listă de task-uri/coduri legate de evenimente. Atunci când un eveniment are loc, codul / task-ul asociat cu acest eveniment se execută.
122. Module Node.js: tipuri, exemple
• Modulul din Node.js reprezintă o funcționalitate simplă sau complexă, organizată într-un singur fișier sau în mai multe fișiere JavaScript. Modulul poate fi reutilizat în aplicația Node.js.
• Fiecare modul din Node.js are propriul context, deci nu poate interfera cu alte module. De asemenea, fiecare modul poate fi plasat într-un fișier .js separat, sub un folder separat.
• Node.js include trei tipuri de module:
− Module de bază
− Module locale
− Module terțe
• Module locale Node.js sunt module create local în aplicația Node.js de către programator. Module includ funcționalități diferite ale aplicației, în fișiere și foldere separate.
• Modulele se pot împacheta și distribui prin intermediul NPM, astfel încât comunitatea Node.js să le poată utiliza.
123. Care este rolul pentru npm (Node Package Manager)?
• Node Package Manager (NPM) este un instrument la linie de comandă care instalează, actualizează sau dezinstalează pachetele Node.js ale aplicației. De asemenea, este un depozit online pentru pachetele open-source Node.js.
• npm este un manager de pachete node. Se utilizează pentru a instala și publica programele dezvoltate în node.js.
• npm facilitează dezvoltatorilor de JavaScript partajarea și reutilizarea de cod, precum și reactualizarea rapidă a codului partajat.
124. MySQL cu Node.js: crearea unei conexiuni, crearea unei baze de date, crearea unei tabel
125. Ce este Express?
• Express este un framework pentru aplicații web Node.js, care oferă un set de funcționalități pentru aplicațiile web și mobile.
• Express a fost inițial creat de TJ Holowaychuk și se consideră a fi primul framework pentru server http.
• În prezent, express este un framework open source menținut de fundația Node.js și de numeroși contribuabili.
• Express este un framework pentru aplicații web care oferă o interfață de programare a aplicațiilor (API) simplă - utilizată în dezvoltarea de site-uri web, aplicații web și back-end-uri.
126. Care este comanda prin care se instalează Express?
npm install express --save
127. La ce se referă rutarea Express? Care este sintaxa pentru definirea unei rute? Metode de rutare
• O metodă de rutare este derivată dintr-una din metodele HTTP și este atașată la o instanță a clasei express.
• Express acceptă următoarele metode de rutare care corespund metodelor HTTP: get, post, put, head, delete, options, trace, copy etc.
128. Ce reprezintă funcțiile middleware? Care sunt activitățile ce se pot efectua prin funcțiile middleware?
• Funcțiile middleware sunt funcții care au acces la obiectul request (req), obiectul response (res) și funcția middleware next din ciclul de cerere-răspuns al aplicației. Funcția middleware next este desemnată de o variabilă denumită next.
• Funcțiile middleware pot efectua următoarele activități:
− execută orice cod;
− face modificări în obiectele request și response;
− încheie un ciclu de cerere-răspuns;
− apelează funcția middleware next din stivă.
129. Pug ca motor de template-uri pentru Express
130. Cum se definește securitatea informației? Dar securitatea aplicațiilor web?
• Securitatea informației se ocupă cu protejarea informației și a sistemelor informatice de accesul neautorizat, folosirea, dezvăluirea, întreruperea, modificarea sau distrugerea lor.
• Securitatea informației se referă la mijloacele, tehnicile sau procesele utilizate pentru a proteja informaţiile unui sistem.
• Securitatea aplicațiilor web este o ramură a securității informației și se ocupă în mod special cu securitatea site-urilor web, a aplicațiilor web și a serviciilor web.
• Securitatea aplicațiilor web este procesul de protejare a datelor în mediul online – astfel încât datele, stocate sau în tranzit, să nu fie accesate și modificate de entități neautorizate și să fie disponibile în timp util entităților autorizate.
131. Ce reprezintă o sursă de amenințare / o vulnerabilitate a unei aplicații/sistem?
• O sursă de ameninţare: orice circumstanţă sau eveniment care ar putea produce pagube într-un sistem IT. Sursa de ameninţare se poate folosi de o anumită vulnerabilitate a sistemului.
• O vulnerabilitate este o slăbiciune care poate declanşa accidental sau intenţionat o anumită exploatare a sistemului.
132. Ce vizează mecanismele de protecție utilizate în aplicațiile web?
• Mecanismele de protecție utilizate în aplicațiile web se referă la:
− accesul utilizatorilor la datele și funcționalitățile aplicației - pentru a preveni obținerea accesului neautorizat;
− validarea datelor introduse de utilizatori (prin interogări, câmpurile formularelor, cookie-uri și antetele HTTP) - pentru a împiedica introducerea de date rău intenționate care ar putea provoca un comportament nedorit;
− gestionarea aplicației în sine – pentru a permite administratorilor să monitorizeze activitățile și să configureze funcționalitatea;
− testarea unor posibile atacuri - pentru a verifica dacă aplicația se comportă în mod corespunzător atunci când sunt vizate atacuri în mod direct, luând măsuri defensive și ofensive adecvate pentru a zădărnici acțiunile atacatorilor.
133. La ce se referă confidenţialitatea/ integritatea /autentificarea/autorizarea/ disponibilitatea/ non-repudierea
În general, prin securitatea aplicațiilor web sunt abordate principiile de securitate:
confidenţialitatea – garantarea procedurilor şi metodelor ca informaţia, care se află în tranzit sau stocată, să fie accesibilă numai entităţilor autorizate să acceseze respectivele resurse; prevenirea accesului neautorizat la informaţii;
integritatea – sunt asigurate procedurile şi metodele ca informaţia, care se află în tranzit sau stocată, să nu poată fi modificată; informaţia este protejată împotriva pierderilor sau modificărilor neautorizate;
autentificarea – procedura pentru verificarea identităţii entităţii care solicită acces, procesul prin care sistemul validează informaţiile de conectare oferite de entitatea utilizatoare;
-autorizarea reprezintă procedura prin care se determină dacă utilizatorul autentificat are permisiunea de a accesa /utiliza resursele informaționale;
- disponibilitatea – garantează că entităţile autorizate au acces la resursele informaţionale atunci când au nevoie de ele; prevenirea atacurilor de tipul DoS (Denial of Service);
- non-repudierea: de exemplu, un utilizator nu poate nega modificarea datelor conținute în aplicația Web, iar prin aplicația Web se poate dovedi identitatea utilizatorului.
134. Care sunt principalele vulnerabilități ale aplicațiilor web?
SQL INJECTION
• O vulnerabilitate de tip SQL injection există atunci când un utilizator rău intenționat poate:
− introduce orice date într-o interogare SQL transmisă unei baze de date;
− modifică logica declaraţiei, astfel încât să se execute o acţiune diferită, fiind posibil furtul datelor private.
• SQL injection este una din cele mai frecvente vulnerabilități – fiind un adevărat pericol pentru aplicațiile web.
Nerespectarea autentificării și a managementului sesiunilor
˗ utilizarea unor date de identificare (nume utilizator/parolă) obținute în mod fraudulos;
˗ evitarea verificării autentificării.
• HTTP este un protocol stateless. Prin urmare, un server web nu poate determina dacă o cerere este legată logic de una anterioară transmisă de la același client.
• Cookie-urile sunt folosite de serverele web pentru a putea diferenția utilizatorii și pentru a putea reacționa în funcție de acțiunile acestora în cadrul unei sesiuni. O sesiune se referă la o serie de interacțiuni între un utilizator și aplicația Web.
• Sesiunea este mecanismul prin care se permite reținerea informațiilor despre starea clientului.
• Cross Site Scripting (prescurtat XSS) este o vulnerabilitate web ce permite utilizatorului/atacatorului să introducă un cod personal într-o pagină web.
• Vulnerabilitatea este folosită pentru a forţa afişarea unui cod (scris de obicei în (X)HTML, JavaScript, ActiveX, Java, Flash etc.) maliţios într-o pagină web, care se va executa ulterior în browser-ul unui utilizator.
• XSS permite atacatorilor să execute script-uri în browser-ul victimei. Cu ajutorul scripturilor se pot deturna sesiuni de utilizator, șterge site-uri web, redirecționa utilizatorul spre site-uri malițioase sau fura diferite informații utile despre utilizatori.
• Acest tip de atac nu are ca ţintă serverul site-ului web, acesta fiind doar o gazdă, adevărata ţintă a atacului este utilizatorul. Vulnerabilitatea este de tip client-side.
• Atacurile XSS se folosesc de datele ce vin din exterior, cum ar fi: formulare, web e-mail, fisierele de tip XML sau RSS.
135. Prin ce se caracterizează Injection, nerespectarea autentificării și managementul sesiunilor, XSS? Raspuns la intrebarea 134
136. La ce se referă identificarea?
• Identificarea – reprezintă procesele şi procedurile necesare pentru stabilirea unei identităţi unice pentru un utilizator sau o entitate în cadrul unui sistem/aplicație. Identificarea permite contabilizarea tuturor operaţiunilor individuale şi previne accesul neautorizat.
137. Care este mecanismul utilizat pentru identificarea şi monitorizarea activității unui utilizator pe o pagina web?
• Pentru identificarea şi monitorizarea activității unui utilizator pe o pagină web, acestuia i se atribuie un token unic de sesiune, de obicei sub formă de cookie-uri.
138. Ce reprezintă cookie?
• Cookie-ul reprezintă un mecanism standard care permite ca un server Web să trimită anumite informații pe calculatorul unui utilizator, prin intermediul browser-ului, să solicite clientului să stocheze aceste informații pentru ca, ulterior, navigatorul să retransmită informațiile către serverul web.
• Un cookie constă dintr-o pereche nume=valoare
• Cookie-urile sunt folosite de serverele web pentru a putea diferenția utilizatorii și pentru a putea reacționa în funcție de acțiunile acestora în cadrul unei sesiuni. O sesiune se referă la o serie de interacțiuni între un utilizator și aplicația Web.
139. Care sunt metodele de prevenire a vulnerabilităţilor legate de managementul sesiunilor?
• Metode de prevenire a vulnerabilităţilor legate de managementul sesiunilor:
˗ Complexitatea parolelor: restricționarea parolelor la un anumit număr minim de caractere, tipuri de caractere, reguli de schimbarea periodică a parolelor etc.
˗ Utilizarea parolelor: utilizatorului să i se limiteze numărul de încercări de logare într-o anumită unitate de timp, tentativele eşuate să fie consemnate.
˗ Schimbare a parolelor: să se folosească un singur mecanism de schimbare a parolelor indiferent de circumstanţele în care acest lucru se întâmplă.
˗ Stocarea parolelor: toate parolele trebuie criptate, indiferent de locul unde sunt stocate.
˗ Protejarea ID-ului de sesiune: sesiunea utilizatorului ar trebui protejată prin SSL (Secure Sockets Layer) - în acest mod cookie-ul de sesiune nu ar putea fi preluat de entități neautorizate.
˗ Lista de conturi: aplicațiile ar trebui proiectate în aşa fel încât să nu permită accesul utilizatorilor la lista de conturi de pe site.
140. Ce este specific unui atac XSS persistent/non-persistent?
• Atacurile XSS sunt:
− atacuri XSS persistente (memorat)
codul malițios este permanent stocat pe site-ul aplicaţiei într-o pagină web care are potenţial mare de a fi vizitată de către utilizatori (comentariile de pe bloguri, posturile de pe forumuri, chat-uri etc.). odată ce utilizatorul vizitează pagina infectată, execuţia este automată;
nu există cale prin care utilizatorul se poate apăra.
• Atacurile XSS sunt (2):
− atacurile XSS non-persistente (reflectat) - datele provenite de la un utilizator sunt folosite imediat de server pentru a genera o noua pagină; codul malițios este reflectat de către site-ul aplicaţiei.
− Atacuri de tip DOM (Document Object Model ) – printr-un script JavaScript se poate accesa un parametru URL şi se poate folosi acest parametru pentru a modifica pagina web respectivă.