Editorial

Tudo sobre Hosepdagem: Protocolos TCP, HTTP, FTP, Servidores Web

Vamos dar sequência à nossa série sobre hospedagem, este é o segundo artigo de forma que é muito interessante que você leia o primeiro antes, clique aqui para vê-lo, mais uma vez, este artigo é uma colaboração do Nilton do canal LinuxPRO, vamos lá?

Protocolos TCP, HTTP, FTP, Servidores Web

1 – Introdução

2 – Protocolos TCP, HTTP, FTP, Servidores Web

3 – O Linux ajudou a Hospedagem crescer

4 – E depois veio o Apache

5 – Em pouco tempo o Modulo CGI

6 – Então nasceu o PHP e o modulo PHP para o Apache

7 – VPS, Cloud e outras linguagens como Python, Perl, Ruby e Go

2 – Protocolos TCP, HTTP, FTP, Servidores Web

Olá pessoal tudo bem, olha eu aqui novamente.

No post passado Introdução falei um pouco sobre Hospedagem, hoje vou falar sobre Protocolos, sem os protocolos a internet não seria tão grande como é hoje, esse tópico é um pouco grande então pega a pipoca e leia com calma as informações abaixo, vamos começar.

Aqui está a definição de Protocolo que consta na Wikipedia.

Protocolo é o conjunto de regras sobre o modo como se dará a comunicação entre as partes envolvidas. Protocolo é a “língua” dos computadores, ou seja, uma espécie de idioma que segue normas e padrões determinados. É através dos protocolos que é possível a comunicação entre um ou mais computadores.

Vejam as fotos abaixo, são fotos que terei essa semana no Datacenter, são Servidores que executam vários serviços como: E-mail, Hospedagem de Sites, Lojas Virtuais, Blogs entre outros.

Data Center

Não sei se dá para ver na foto mas são Servidores diferentes e onde tirei essas fotos existem milhares de outros Servidores, de diversas marcas, modelos e fabricantes.

E você da sua casa acessa esses sites que estão hospedados em maquinas diferentes da sua e com Sistemas Operacionais diferentes do seu, como ?

Esse “milagre” é feito pelos protocolos, com ele independente do Sistema Operacional, fabricante, marca ou modelo, localização, tecnologia, a comunicação acontece de forma transparente para quem acessa a partir do seu navegador Firefox, Chrome, Safari ou Internet Explorer.

Assim você consegue acessar um Portal que está hospedado em um Datacenter em Amsterdã em um Servidor DELL com Sistema de Virtualização usando Linux e KVM, em uma máquina Virtual com Sistema FreeBSD 10.1 64Bits, esse Portal não está no DELL, não está no Linux nem no KVM e sim na Maquina Virtual com FreeBSD em um serviço web com Apache2 ou Nginx, mas nem sempre foi assim.

Vamos falar do “pai” de todos o TCP/IP. (Fonte Wikipedia).

Protocolo TCP/IP

Ele foi desenvolvido em 1969 pelo U.S. Departament of Defense Advanced Research Projects Agency, como um recurso para um projeto experimental chamado de ARPANET (Advanced Research Project Agency Network) para preencher a necessidade de comunicação entre um grande numero de sistemas de computadores e várias organizações militares dispersas.

O objetivo do projeto era disponibilizar links (vínculos) de comunicação com alta velocidade, utilizando redes de comutação de pacotes. O protocolo deveria ser capaz de identificar e encontrar a melhor rota possível entre dois sites (locais), além de ser capaz de procurar rotas alternativas para chegar ao destino, caso qualquer uma das rotas tivesse sido destruída.

O objetivo principal da elaboração de TCP/IP foi na época, encontrar um protocolo que pudesse tentar de todas as formas uma comunicação caso ocorresse uma guerra nuclear.A partir de 1972 o projeto ARPANET começou crescer em uma comunidade internacional e hoje se transformou no que conhecemos como Internet.

Em 1983 ficou definido que todos os computadores conectados ao ARPANET passariam a utilizar o TCP/IP.

No final dos anos 80 a Fundação Nacional de Ciências em Washington, D.C, começou construir o NSFNET, um backbone para um supercomputador que serviria para interconectar diferentes comunidades de pesquisa e também os computadores da ARPANET. Em 1990 o NSFNET se tornou o backbone das redes para a Internet, padronizando definitivamente o TCP/IP.

Coloquei esse texto acima e é muito importante, pois a partir dessa época se deu o inicio para a mudança na comunicação no mundo todo, surgindo assim em cima do protocolo TCP/IP outros protocolos que é citado no tópico desse post, dessa forma melhorando a comunicação entre essas maquinas conectadas e as pessoas que usam esses computadores, agora vamos para os próximos protocolos que é tão importante quanto o TCP/IP.

Apresentamos o FTP

Protocolo FTP

Antes da gente falar no protocolo mais importante que você usa para navegar na internet que é o HTTP, vamos falar do protocolo que nasceu antes dele, que serve para você subir um arquivo no Servidor onde você deseja colocar suas paginas na internet ou compartilhar arquivos, o famoso mas que está em desuso, o FTP.

O protocolo FTP (File Transfer Protocol) é, como o seu nome o indica, um protocolo de transferência de arquivos.

A aplicação do protocolo FTP data de 1971, na mesma data em que um mecanismo de transferência de arquivos entre as máquinas do MIT (Massachussetts Institute of Technology) foi criado. Mas as maiores inovações datam de Julho de 1973.

O protocolo FTP tem como objetivos:

– Compartilhar arquivos entre máquinas distantes.

– Independência dos sistemas de arquivos das máquinas clientes e servidor.

– Transferir dados de maneira eficaz.

Eu digo que ele está em desuso porque muitos desenvolvedores de sites e sistemas, hoje estão usando git, sftp entre outros protocolos mais novos, mas tudo segue o mesmo modelo do FTP , com outras melhorias e maior velocidade.

Agora é a vez do HTTP, mas ele é bem novinho só tem 25 anos.

Protocolo HTTP

HyperText Transfer Protocol é o protocolo mais utilizado na Internet desde 1990. A versão 0.9 destinava-se unicamente a transferir dados na Internet (em especial páginas Web escritas em HTML). A versão 1.0 do protocolo (a mais utilizada) permite doravante transferir mensagens com cabeçalhos que descrevem o conteúdo da mensagem utilizando uma codificação de tipo MIMO.

O objectivo do protocolo HTTP é permitir uma transferência de arquivos (essencialmente no formato HTML) localizados graças a uma cadeia de caracteres chamada URL entre um navegador (o cliente) e um servidor Web (chamado de httpd nas máquinas Linux/Unix).

Quando você abre o navegador Web e na barra de endereços digita um site, a url do site, por exemplo http://www.diolinux.combr ou http://www.linuxpro.com.br , você diz para seu navegador usar os protocolos TCP/IP junto com DNS para buscar onde está o site e em seguida o navegador usa o HTTP para estabelecer uma conexão com o servidor Web onde está hospedado esse site, dessa forma será mostrada o portal/site que você digitou na barra de endereços.

Esse tipo comunicação chama-se cliente-servidor, onde você com um software que interpreta o protocolo utilizado por um servidor remoto e mostra de forma organizada as informações contidas nesse servidor na sua tela de cliente.

Bom se você leu até aqui é porque gosta ou precisa entender melhor esse maravilhoso mundo, não desista agora, continue lendo, eu prometo pegar mais leve nas próximas informações desse post.

[ só que não 🙁 ]

Já falei do TCP/IP do FTP e o HTTP, antes da gente falar em Servidores Web, vamos voltar um pouco, pois devo informar que hoje existem milhares de protocolos de comunicação em cima do TCP/IP, mas como é possível ?

Tenha calma vou dizer agora mesmo, o TCP/IP trabalha com portas, um numero que varia de 0 a 65.535 você pode consultar essa lista aqui , FTP roda/escuta na porta 20 e 21 o HTTP na porta 80 e as conexões seguras SSL/HTTPS na porta 443, desse modo um protocolo trabalha sem prejudicar a comunicação do outro e em paralelo na mesma maquina ou servidor.

Desse modo quando você aluga um espaço de hospedagem em um Provedor, esse servidor onde está servindo para abrigar seu site, ele executa vários serviços como FTP Server, HTTP Server entre outros, facilitando a sua gestão no site que você está desenvolvendo.

Hoje existem vários tipos de hospedagem depende muito de qual linguagem você está desenvolvendo esse site/sistema, mas esse assunto a gente vai abordar em outro tópico, o que vou comentar agora diz respeito para o desenvolvimento de paginas Web simples feito só com HTML, CSS e Javascript, mas esses três caras ai você consegue de maneira muito fácil colocar um site pessoal ou para sua empresa muito rápido e gastando quase nada ou nada, na maioria dos casos.

Para isso ser possível você precisa de um Servidor Web, tá mas o que é isso ?

No ambiente Linux/Unix é software que fica executando a todo momento no sistema, ele escuta a porta 80 do TCP/IP que trata as chamadas dos clientes com o protocolo HTTP e as suas ações.

O mais famoso deles é o Servidor Web Apache2 e em segundo lugar o Nginx e outros tantos que existem para plataforma Linux/Unix e muitos desses Softwares rodam no Windows.

Historia do Apache (Fonte Wikipedia).

O servidor Apache (ou Servidor HTTP Apache, em inglês: Apache HTTP Server, ou simplesmente: Apache) é o mais bem sucedido servidor web livre. Foi criado em 1995 por Rob McCool, então funcionário do NCSA (National Center for Supercomputing Applications). Em uma pesquisa realizada em dezembro de 2007, foi constatado que a utilização do Apache representa cerca de 47.20% dos servidores ativos no mundo. Em maio de 2010, o Apache serviu aproximadamente 54,68% de todos os sites e mais de 66% dos milhões de sites mais movimentados. É a principal tecnologia da Apache Software Foundation, responsável por mais de uma dezena de projetos envolvendo tecnologias de transmissão via web, processamento de dados e execução de aplicativos distribuídos.

O servidor é compatível com o protocolo HTTP versão 1.1. Suas funcionalidades são mantidas através de uma estrutura de módulos, permitindo inclusive que o usuário escreva seus próprios módulos — utilizando a API do software.

É disponibilizado em versões para os sistemas Windows, Novell Netware, OS/2 e diversos outros do padrão POSIX (Unix, Linux, FreeBSD, etc.).

O Software Web mais usado no ambiente Windows é o IIS, abaixo está uma pequena parte da sua historia (Fonte Wikipedia).

IIS

IIS (Internet Information Services – anteriormente denominado Internet Information Server) é um servidor web criado pela Microsoft para seus sistemas operacionais para servidores. Sua primeira versão foi introduzida com o Windows NT Server versão 4, e passou por várias atualizações. É também o sucessor do PWS. A versão mais recente é o IIS 8.5 (disponível apenas no Windows Server 2012 R2 e Windows 8.1). A função do IIS no Windows server é oferecer uma plataforma para a hospedagem de sites, serviços e aplicativos, sendo capaz de integrar as seguintes tecnologias: ASP.NET, FTP, PHP, WCF e o próprio IIS.

Uma de suas características mais utilizadas é a geração de páginas HTML dinâmicas, que diferentemente de outros servidores web, usa tecnologia proprietária, o ASP (Active Server Pages), mas também pode usar outras tecnologias com adição de módulos de terceiros.

Para utilizar essa ferramenta faz-se necessário adquirir licença de uso que para cada instalação ou versão é preciso de pagamento.

E por ultimo e não menos importante o admirável, notável e performático o grande Nginx (Fonte Wikipedia).

NGINX

Nginx [engine x] é um servidor proxy HTTP e reverso, bem como um servidor de proxy de e-mail, escrito por Igor Sysoev desde 2005. Segundo a Netcraft em fevereiro de 2013 o Nginx foi considerado o maior servidor HTTP, responsável por 12,81% dos servidores de HTTP e IMAP/POP3.

O Nginx é um servidor web rápido, leve, e com inúmeras possibilidades de configuração para melhor performance.

Para quem chegou até aqui, muito obrigado e para quem não teve paciência ou tempo para ler todo o texto, não desista, tente novamente quando você estiver com mais tempo ou paciência ou comenta ai abaixo no post, se é interessante um video para facilitar o entendimento de toda a informação que está nesse tópico.

Sua participação é de extrema importância para a qualidade dos próximos tópicos e é importantíssimo para você entender com qualidade uma hospedagem web e as suas diferenças.

Bom esse tópico chega ao fim, eu só dei um pincelada rápida nas tecnologias, se alguém tiver alguma dúvida escreve nos comentários que eu terei o maior prazer em responder.

Gostaria fazer uma pergunta para aqueles que efetuaram a leitura completa ou não desse tópico:

Essas informações são de fato importantes para você ou todos aqueles que estão de alguma maneira envolvido com desenvolvimento de sites ou conteúdos para Web coisa do tipo ou hobby.

De 0 a 10 escreva o quanto é importante para você hoje e daqui a alguns anos esse tipo de informação ?

Se gostou desse artigo, não esqueça de dar sua opinião e compartilhar nas suas redes sociais, até o próximo post que vai ser sobre “O Linux ajudou a Hospedagem crescer“.

Diolinux Ofertas - Aproveite os melhores descontos em diversos produtos!