This translation is incomplete. Please help translate this article from English.

În acest articol vom detalia definiția unui web server, cum funcționează și importanța acestuia.

Cunoștințe preliminarii: Ar fi necesar să cunoști deja cum funcționează internetul, și să ințelegi diferența între o pagină web, un site web, un server web și un motor de căutare.
Obiectiv: Vei învăța ce este un server web și vei acumula cunoștințe generale despre funcționarea acestuia.

Rezumat

Termenul de "server web" face referire la hardware sau software, sau la o combinație între acestea lucrând împreună.

  1. Pe partea de hardware, un server web este un computer care stochează software-ul serverului web și fișierele componente ale site-ului (ex. documente HTML, imagini, foi de stil în cascadă - CSS, și fișiere JavaScript). Este conectat la Internet și suportă schimb de date fizice cu alte dispozitive conectate la Internet.
  2. Pe partea de software, un server web include o serie de secțiuni care controlează felul în care utilizatorii accesează fișierele găzduite, cel puțin un server HTTP. Un server HTTP este o parte de software care procesează URLs (adrese web) și HTTP (protocolul folosit de navigator să vizualizeze pagini web). Poate fi accesat prin numele de domenii (precum mozilla.org) ale site-urilor pe care le stochează, și le transmite conținutul către dispozitivul utilizatorului.

La nivel de bază, atunci când un navigator necesită un fișier care este găzduit pe un server web, navigatorul solicită fișierul via HTTP. Când solicitarea ajunge la serverul web corect (hardware), serverul HTTP (software) accepta solicitarea, identifică documentul solicitat (dacă nu este găsit, se va afișa un răspuns de tip 404), și îl trimite înapoi către navigator, tot prin HTTP.

Reprezentare de bază a unei conexiuni între client/server prin HTTP

Pentru a publica un site web, ai nevoie de un server web dinamic sau static.

Un server web static este compus din un computer (hardware) cu un server HTTP (software). Este denumit "static" pentru ca serverul trimite fișierele găzduite "ca atare" către navigator.

Un server web dinamic este compus dintr-un server web static și software extra, de cele mai multe ori un server de aplicație și o bază de date. Este numit "dinamic" pentru ca serverul de aplicație actualizează fișierele găzduite înainte să le trimită către navigator prin serverul HTTP.

De exemplu, pentru a produce paginile web finale pe care le vezi în navigator, serverul de aplicație ar putea să adauge în template-ul HTML conținut dintr-o bază de date. Site-uri precum MDN sau Wikipedia Sites like MDN or Wikipedia have many thousands of webpages, but they aren't real HTML documents, only a few HTML templates and a giant database. This setup makes it easier and quicker to maintain and deliver the content.

Învățare activă

Nu este disponibil conținut pentru învățare activă. Te rugăm să contribui.

Învățare aprofundată

Pentru a chema o pagină web, după cum a fost deja menționat, navigatorul trimite o solicitare către serverul web, care mai apoi face o căutare a fișierului solicitat în propriul spațiu de stocare. La identificarea fișierului, serverul îl citește, îl procesează la nevoie, și îl trimite către navigator. Haideți să detaliem fiecare pas.

Găzduirea fișierelor

A web server first has to store the website's files, namely all HTML documents and their related assets, including images, CSS stylesheets, JavaScript files, fonts, and videos.

Technically, you could host all those files on your own computer, but it's far more convenient to store them all on a dedicated web server that

  • is always up and running
  • is always connected to the Internet
  • has the same IP address all the time (not all ISPs provide a fixed IP address for home lines)
  • is maintained by a third-party provider

For all these reasons, finding a good hosting provider is a key part of building your website. Dig through the various services companies offer and choose one that fits your needs and your budget (services range from free to thousands of dollars per month). You can find more details in this article.

Once you set up a web hosting solution, you just have to upload your files to your web server.

Communicating through HTTP

Second, a web server provides support for HTTP (Hypertext Transfer Protocol). As its name implies, HTTP specifies how to transfer hypertext (i.e., linked web documents) between two computers.

A Protocol is a set of rules for communication between two computers. HTTP is a textual, stateless protocol.

Textual
All commands are plain-text and human-readable.
Stateless
Neither the server nor the client remember previous communications. For example, relying on HTTP alone, a server cannot remember a password you typed or what step you're on in a transaction. You need an application server for tasks like that. (We'll cover that sort of technology in further articles.)

HTTP provides clear rules for how a client and server communicate. We'll cover HTTP itself in a technical article later on. For now, just be aware of these things:

  • Only clients can make HTTP requests, and then only to servers. Servers can only respond to a client's HTTP request.
  • When requesting a file via HTTP, clients must provide the file's URL.
  • The web server must answer every HTTP request, at least with an error message.

The MDN 404 page as an example of such error pageOn a web server, the HTTP server is responsible for processing and answering incoming requests.

  1. On receiving a request, an HTTP server first checks whether the requested URL matches an existing file.
  2. If so, the web server sends the file content back to the browser. If not, an application server builds the necessary file.
  3. If neither process is possible, the web server returns an error message to the browser, most commonly 404 Not Found. (That error is so common that many web designers spend quite some time designing 404 error pages.)

Static vs. dynamic content

Roughly speaking, a server can serve either static or dynamic content. "Static" means "served as-is". Static websites are the easiest to set up, so we suggest you make your first site a static site.

"Dynamic" means that the server processes the content or even generates it on the fly from a database. This solution provides more flexibility, but the technical stack becomes more difficult to handle, making it dramatically more complex to build the website.

Take for example the page you're reading right now. On the web server hosting it, there is an application server that takes article content from a database, formats it, puts it inside some HTML templates, and sends you the results. In this case, the application server is called Kuma and is built with Python (using the Django framework). The Mozilla team built Kuma for the specific needs of MDN, but there are many similar applications built on many other technologies.

There are so many application servers that it's pretty hard to suggest a particular one. Some application servers cater to specific website categories like blogs, wikis or e-shops; others, called CMSs (content management systems), are more generic. If you're building a dynamic website, take the time to choose a tool that fits your needs. Unless you want to learn some web server programming (which is an exciting area in itself!), you don't need to create your own application server. That's just reinventing the wheel.

Pașii următori

Acum că ai adunat mai multe cunoștințe despre servere web, ai putea să:

Document Tags and Contributors

Contributors to this page: AndreeaC
Last updated by: AndreeaC,