As várias tecnologias que entram em um site

A Internet é incrível, acho que todos podemos concordar com isso. Mas você já se sentou e pensou como um site realmente chega ao seu computador?

A Internet é incrível, acho que todos podemos concordar com isso.  Mas você já se sentou e pensou como um site realmente chega ao seu computador?
Propaganda

A Internet é incrível, acho que todos podemos concordar com isso. Mas você já se sentou e pensou como um site realmente chega ao seu computador? Quais tecnologias estão por trás do MakeUseOf, por exemplo? É muito mais do que apenas uma simples coleção de arquivos e imagens em HTML.

Continue lendo para descobrir exatamente o que acontece na execução, hospedagem e veiculação de um website para seu consumo, caros leitores.

Hardware

Vamos começar com o componente mais básico de hospedar um site - o hardware. Essencialmente, as máquinas usadas para hospedar um site não são realmente diferentes dos PCs de mesa que você ou eu temos em casa. Eles têm mais memória, unidades de backup e, muitas vezes, conexões de rede por fibra ótica - mas basicamente são o mesmo. Na verdade, qualquer máquina antiga pode hospedar um site - é apenas um caso de quão rápido ele será capaz de enviar páginas para os usuários.

Você pode ler mais aqui sobre os vários tipos de hospedagem As várias formas de hospedagem do site Explained [Tecnologia Explicada] Leia mais disponível, a partir de uma única máquina compartilhada entre milhares de sites cada pagando $ 5 / mês, para um servidor dedicado completo capaz de executar algo como MakeUseOf - que custa milhares de dólares por mês .

tecnologias para desenvolvimento de sites

Sistema operacional

A maioria das máquinas de servidores da Web executam uma versão otimizada do Linux - embora haja um bom número de servidores que executam o Windows, geralmente em ambientes corporativos onde os aplicativos da Web são criados em ASP ou em dotNet. A partir de janeiro deste ano, a distribuição Linux mais popular para webhosting é o Debian, seguido de perto pelo CentOS (baseado no RedHat), ambos disponíveis gratuitamente para você baixar e testar você mesmo - e cada um disse hospedar cerca de 30% de todos websites. O Google executa seu próprio Linux customizado, assim como seu próprio sistema de arquivos customizado.

Software de servidor web

É aqui que as coisas realmente começam a se diferenciar. O software do servidor da Web é o aplicativo que recebe solicitações recebidas e exibe as páginas ou arquivos. O software do servidor web em si não se preocupa com a linguagem da página que está sendo usada - um servidor Apache é bem capaz de servir Python, PHP, Ruby ou qualquer número de idiomas diferentes; mas isso não é universal. A quota de mercado atual indica que o Apache corre em torno de 65% dos principais sites, o Microsoft IIS 15% e o nginx 10%. O nginx é considerado melhor em lidar com sites de alta simultaneidade - ou seja, onde muitos milhares de usuários podem estar no site a qualquer momento - e é de fato usado aqui no MakeUseOf.

tecnologias para website

Quando você carrega um site, você abre um soquete - uma conexão - entre o seu computador e o servidor do site. Uma dança elaborada e demorada para a melodia HTTP começa com os pedidos, dados e códigos de status. Como você solicitou esta página, nosso servidor respondeu com um 200 - OK, significando "claro, aqui vai" ; Se você visitou anteriormente, seu navegador também pode perguntar "Ei, eu já tenho uma cópia deste gráfico no cache do meu navegador, eu realmente preciso dele novamente?", ao qual nosso servidor respondeu 304 - Não modificado, ou "não, isso é legal, não mudamos nem nada, é só usar aquele ” .

Ocasionalmente, você encontrará o temido 404 - não encontrado, mas não preciso explicar esse código de erro para você. Se você já abriu o Guia do Firebug Amateur para personalizar o design do site com o FireBug Guia do Amador para personalizar o design do site Com o FireBug Read More ou o modo de desenvolvedor do seu navegador, você ficará surpreso ao ver o quanto vai e volta não é um simples “dê-me essa página” - “OK, aqui”, mas na verdade centenas de interações menores.

tecnologias para website

Arquivos estáticos e redes de entrega de conteúdo

Em todos os sites, existem alguns arquivos que quase nunca mudam. Coisas como Javascripts, CSS, imagens, PDFs ou mp3s. Eles são chamados de arquivos estáticos e, para atendê-los, o software do servidor da Web simplesmente precisa pegar o arquivo e enviá-lo. Fácil, certo? Não tão rápido.

Infelizmente, o envio de um grande número de arquivos estáticos é uma tarefa bastante trabalhosa devido ao tamanho dos arquivos. Se você já visitou uma página da Web na qual pode sentar-se assistindo às imagens, é porque o servidor da Web está buscando esses arquivos para você - eles simplesmente não são otimizados para fazer esse tipo de trabalho. Em vez disso, os grandes sites descarregam todos esses arquivos estáticos no que é chamado de Content Delivery Network ( Rede de Entrega de Conteúdo) - servidores separados que são otimizados para oferecer arquivos estáticos ridiculamente rápidos em um piscar de olhos.

Eles também conseguem isso localizando fisicamente os servidores em locais diferentes ao redor do mundo que se espelham, de forma que os dados tenham uma distância menor para viajar até você. No momento, mesmo que o artigo do MakeUseOf que você está lendo esteja realmente hospedado nos Estados Unidos, as imagens e o Javascript vêm de algum lugar muito mais perto de você através de um CDN local.

Conteúdo Dinâmico - Linguagens de Programação da Web

Quase todos os sites modernos têm conteúdo dinâmico de algum tipo, seja o WordPress adicionando comentários a uma postagem no blog ou o Google exibindo resultados de pesquisa. Para tornar uma página da Web dinâmica, são necessárias linguagens de programação da web. Eu escrevi anteriormente sobre as várias linguagens disponíveis para você Que Linguagem de Programação para Aprender - Programação da Web Que Linguagem de Programação para Aprender - Programação da Web Hoje vamos dar uma olhada nas várias linguagens de programação da Web que alimentam a Internet. Esta é a quarta parte de uma série de programação para iniciantes. Na parte 1, aprendemos o básico do ... Read More (e entramos em alguns debates acalorados para sugerir que o PHP era o melhor). Qualquer que seja o idioma escolhido, ele funciona em conjunto com a camada de software do servidor da Web para gerar dinamicamente o conteúdo da página e, em seguida, servir a você.

Bancos de dados

Por trás de todos os sites dinâmicos estão os bancos de dados - armazenamentos massivos de dados brutos que nos permitem acessar esses dados de várias maneiras. Para isso, é necessária uma linguagem de programação de banco de dados separada, sendo a mais popular a SQL (Structured Query Language) e muitas variantes. Os bancos de dados contêm diferentes tabelas de dados para representar diferentes estruturas de dados - uma pode ser uma lista de artigos; outro para comentários sobre esses artigos. Usando o SQL, podemos classificar, combinar e apresentar esses dados de várias maneiras.

No WordPress, por exemplo, um 'post' consiste em pelo menos um título e uma data, e provavelmente algum conteúdo real. Uma tabela separada é usada para armazenar os comentários nesse artigo, com outra tabela para armazenar uma lista de categorias e, em seguida, outra para armazenar uma lista de quais categorias foram atribuídas a qual artigo. Ao fazer referência cruzada e extrair dados de todos eles, o WordPress reúne todas as informações necessárias para uma determinada página do seu blog, antes de aplicar o tema e apresentá-lo a você, por meio do software do servidor da Web.

tecnologias para desenvolvimento de sites

Sistemas de Cache

Servir arquivos HTML estáticos é muito fácil em termos de computação - o servidor só precisa buscar o arquivo - o conteúdo dinâmico, por outro lado, requer muito trabalho para juntar a página, com o banco de dados e o processamento que ocorre nesses dados. . Um sistema de cache nos traz um círculo completo, criando essas páginas dinâmicas e, em seguida, salvando-as basicamente como arquivos HTML estáticos. Quando a mesma página é solicitada novamente, ela não precisa ser computada novamente, acelerando o site.

O armazenamento em cache é um termo amplo que pode significar muitas coisas - as CDNs são um tipo de cache; também há caches de banco de dados para consultas freqüentes (pense no WordPress perguntando ao banco de dados pelo título do seu blog toda vez que alguém olha para o seu post - porque é o que acontece). Eu escrevi antes sobre como configurar o popular sistema W3 Total Cache para o WordPress Como configurar as várias configurações W3 Total Plugin Cache para o seu blog Wordpress Como configurar as configurações do plugin W3 Total Cache vários para o seu blog Wordpress Um tempo atrás eu falei sobre o benefícios de instalar o plugin W3TC no seu blog Wordpress, a fim de acelerá-lo com vários caching, mas alguns leitores foram compreensivelmente um pouco desconfiados sobre ... Leia mais, também usado aqui em MakeUseOf. Seu navegador tem um cache também Tudo o que você precisa saber Sobre o cache do navegador [MakeUseOf Explains] Tudo o que você precisa saber Sobre o cache do navegador [MakeUseOf Explains] Sempre que você tiver um problema com um site, uma das primeiras sugestões que você ouvirá O suporte de TI é "tente limpar o cache do seu navegador" junto com "e exclua seus cookies". Então, o que é ... Leia mais - praticamente tudo pode ser armazenado em cache.

Então, como você pode ver, há de fato uma imensa quantidade de trabalho e muitas tecnologias envolvidas na hospedagem de um site. No entanto, isso não quer dizer que você não pode ter seu próprio blog configurado e funcionando em menos de uma hora. Dimensioná-lo para muitos milhares de usuários é onde os problemas começam.

Alguma pergunta? Peça, e eu farei o meu melhor para responder. Você está surpreso com o quanto de esforço pode entrar em um site?

Crédito da imagem: Shutterstock, sala de servidores de rede; Netcraft, gráfico de compartilhamento de servidor web; Shutterstock, banco de dados; Justin Pot / Technophilia, INTERNETZ

In this article