Documente Academic
Documente Profesional
Documente Cultură
RAPORT
Chișinău 2016
Scopul lucrării
Dobândirea abilităților de utilizare și creare a aplicațiilor client pentru servere HTTP.
Obiectiv
Să se construiască o aplicație, un WebCrawler, care va căuta cuvântul introdus, pentru
adâncimea și numărul firelor stabilite.
Generalizare
Dacă se va efectua o analiză a structurii și nivelelor întregului Web, atunci se poate spune cu
siguranță că protocolul HTTP stă la baza sistemului gigantic. Un protocol de comunicație și metoda
cea mai des utilizată, destinată accesării informației în Internet, resursele căruia sunt păstrate pe
serverele WWW (World Wide Web) . Anume acest tool presupune că pe calculatorul destinației
rulează un program care înțelege în totalmente structura dată.
Fișierul trimis ar putea fi un document HTML, fișier grafic, de sunt, animație sau video. La fel
un program executabil pe server-ul respectiv sau un editor de text. Conform clasificării după modelul
de referință OSI, acest protocol e de nivel aplicație.
Deseori, utilizatorul dorește să transmită sau să preia anumite informații către un anumit
website. Atunci, HTTP pune la dispoziție mai multe metode speciale.
Pentru a fi înțelege mai bine această simbioză dintre Server și Client, diagrama ce urmează
descrie modalitatea prin care browser-ul transmite un mesaj de cerere, iar server-ul ne returnează un
anumit răspuns, desigur aceste evenimente au loc prin intermediul aceluiași protocol HTTP. (fig.1)
Analiză
Pentru a înțelege mai bine interacțiunea dintre metodele GET și POST, se lansează un simplu
server pe Node.js, cu ajutorul comenzii npm start. După care, se vizitează link-ul
http://localhost:3000
și se întreprind careva acțiuni, spre exemplu înregistrare, logare, dezautentificare. (fig.4)
Un mesaj cerere de tip HTTP conține: corpul acestuia, un câmp special, unul vid și un header,
construcția arată în felul următor. (Vezi fig.5)
try
{
var request = (HttpWebRequest)WebRequest.Create(url);
request.Method = Constants.MethodGet;
reader.Close();
dataStream.Close();
}
}
catch (Exception exception)
{
return exception + "\r\n\r\n" + url;
}
return output;
}
class Constants
{
public static readonly string GoogleUrl = @"http://www.google.com/search?q=";
public static readonly string UrlRegex = @"(http|https):\/\/([\w\-_]+(?:(?:\.[\w\-_]+)+))
([\w\-\.,@?^=%&:/~\+#]*[\w\-\@?^=%&/~\+#])?"; // utilizăm expresiile regulate
public static readonly string GoogleWord = @"google"; // cuvântul va fi căutat aici
public static readonly string MethodGet = @"GET"; // preluarea datelor
}
Efectuând acest mic studiu, putem spune că anume protocolul HTTP a revoluționat întreaga
lume a rețelelor și conexiunilor globale. Structura acestuia e relativ simplă, dar genială anume prim
faptul că e stateless, tehnologia de transport poate fi diferită, însă va lucra la fel, deoarece nu există
reguli care se suprapun, la fel fiecare tranzacție poate fi executată aparte, neluându-se în considerație
cele anterioare. Nu e un standard și în afara limitelor tranzacției nu există stare. Clientul are
posibilitatea să închidă conexiunea curentă și a o porni din nou în cererea următoare, deoarece serverul
nu are ca scop să mențină starea actuală (până când aplicația nu-și adaugă starea în topul protocolului).
Un avantaj foarte mare luând în considerație balansarea de încărcare a serverelor, oferind o viteză atât
de performantă.
Bibliografie