DEV Community

Cover image for What is a WEB Server?
Augusto Castilho Borges
Augusto Castilho Borges

Posted on

What is a WEB Server?

Today, I’m going to answer a question that caught me off guard in the beginning: what is a WEB server? I used to want to jump straight into a programming language without first understanding the context of everything.

It may seem like a "stupid" question, but I assure you from personal experience that when I started, I skimmed through it quickly and jumped right into the language.

Before I continue, I’d like to emphasize something about this idea of asking "stupid" questions. There’s a quote I really like from the book Ultralearning: "Explaining clearly and asking stupid questions can prevent you from convincing yourself that you know something you actually don’t" (Young, Scott, Ultralearning, page 216, HarperCollins).

First, I will define what hardware and software are:

Hardware is a set of physical components of a computing system. Examples include: CPU (processor), RAM (memory), mouse, GPU (graphics card).
Software is a set of instructions (algorithms) that are executed by the hardware. Examples include: Operating System, browser, WEB applications.

What is a WEB Server?

  • A WEB server, in the context of hardware, is a computer that stores WEB server software as well as the files of a website. It is connected to the Internet and allows the physical exchange of data over the WEB network.

  • The WEB server software contains various instructions that control how the browser or client can access these files or information. The main instruction, which we call a protocol, is the HTTP protocol, which is a text transfer protocol. HTTP servers receive a structured request that contains all the information the client needs (the client sends this request, for example, by clicking on a link that references a specific WEB page). The server then queries where this information is stored or, if necessary, resorts to an Application Server.

Static WEB Server e Dynamic WEB Server

  • A static WEB server simply returns the files exactly as they are, without making any changes.

  • A dynamic WEB server can modify the information before returning it, such as adding an item to a customer's cart in an e-commerce site. To do this, it may request help from an Application Server, which performs the business logic and sends the data back to the client.

Processes

  1. The client (or browser) makes a request by typing the domain name of a website.
  2. The browser sends the domain name to a DNS server, which returns the corresponding IP of the site.
  3. With this IP, the client makes an HTTP request to the WEB server.
  4. The WEB server analyzes this request and sends the content accordingly.
    • For example, if we send a request to add an item to the cart in an e-commerce site, before responding, the WEB server asks the Application Server to look for the product in the database. The Application Server then returns the information to the server, which sends back to the client the modified file with updated CSS, HTML, or JavaScript.
  5. The browser displays everything on the screen, and the site is ready.

This happens extremely quickly. Notice that when you search for a keyword in a search engine, it provides you with a page of various links. When you click on one of those links, depending on your connection, the entire process can be completed in milliseconds.

It was a basic approach to what a WEB server is, but I'm sure that now you have more questions than when you started reading this article. And that’s the fun part of learning! Until next time!!

Now in Portuguese

Antes de tudo, vou definir o que é hardware e software:

  • Hardware é um conjunto de componentes físicos de um sistema de computação. Exemplos: CPU (processador), memória RAM, mouse, GPU (placa de vídeo).
  • Software é um conjunto de instruções (algoritmos) que são executados pelo hardware. Exemplos: Sistema Operacional, navegador (browser), aplicações WEB.

O que é um servidor WEB?

  • Um servidor WEB, no contexto de hardware, é um computador que armazena um software de servidor WEB e também os arquivos de um site. Ele é conectado à Internet e permite a troca física de dados na rede WEB.

  • O software do servidor WEB contém várias instruções que controlam como o navegador ou o cliente pode acessar esses arquivos ou informações. A principal instrução, que chamamos de protocolo, é o protocolo HTTP, que é um protocolo de transferência de texto. Os servidores HTTP recebem uma solicitação estruturada que contém todas as informações de que o cliente precisa (o cliente envia essa solicitação, por exemplo, ao clicar em um link que faz referência a uma determinada página WEB). O servidor, então, consulta onde essas informações estão armazenadas ou, se necessário, recorre a um Application Server.

Servidor WEB estático

  • Um servidor WEB estático simplesmente retorna os arquivos exatamente como estão, sem realizar alterações.

Servidor WEB dinâmico

  • Um servidor WEB dinâmico pode alterar as informações antes de devolvê-las, como, por exemplo, adicionar um item ao carrinho de um cliente em um e-commerce. Para isso, ele pode solicitar a ajuda de um Application Server, que realiza as lógicas de negócio e envia os dados de volta para o cliente.

Processos

  1. O cliente (ou navegador ou browser) realiza uma consulta ao digitar o nome de domínio de um website.
  2. O navegador envia o nome de domínio para um servidor DNS, que devolve o IP correspondente ao site.
  3. Com esse IP, o cliente faz uma requisição HTTP para o servidor WEB.
  4. O servidor WEB analisa essa requisição e envia o conteúdo de acordo. Por exemplo, se enviarmos uma requisição para adicionar um item ao carrinho de um e-commerce, antes de responder, o servidor WEB solicita ao Application Server que busque o produto no banco de dados. O Application Server então devolve as informações ao servidor, que retorna ao cliente o arquivo modificado com CSS, HTML ou JavaScript atualizado.
  5. O browser exibe tudo na tela, e o site está pronto.

Isso acontece de forma extremamente rápida. Perceba que, ao buscar uma palavra-chave em um mecanismo de busca, ele te dá uma página com vários links. Quando você clica em um desses links, dependendo da sua conexão, todo esse processo pode ser concluído em milissegundos.

Foi uma abordagem bem básica sobre o que é um servidor WEB, mas tenho certeza de que agora você tem mais perguntas do que quando começou a ler este artigo. E isso é o legal de aprender! Até a próxima!

Top comments (0)